diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-06-07 08:52:29 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-06-07 08:52:29 +0000 |
commit | 89200c9177d6fdeff2d213eb478d1916f148ca7b (patch) | |
tree | b86d4eeb7df9b2b7827e4a8efd4c9e4ede77ba1e /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 003b4b0cd28724116908add511e91d50aceb03bb (diff) | |
download | bcm5719-llvm-89200c9177d6fdeff2d213eb478d1916f148ca7b.tar.gz bcm5719-llvm-89200c9177d6fdeff2d213eb478d1916f148ca7b.zip |
Speculatively execute a block when the the block is the then part of a triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e.
Turn
BB:
%t1 = icmp
br i1 %t1, label %BB1, label %BB2
BB1:
%t3 = add %t2, c
br label BB2
BB2:
=>
BB:
%t1 = icmp
%t4 = add %t2, c
%t3 = select i1 %t1, %t2, %t3
llvm-svn: 52073
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions