- Oct 17, 2006
-
-
Chris Lattner authored
branch folding can now compile stuff like this: void foo(int W, int X, int Y, int Z) { if (W & 1) { for (; X;--X) bar(); } else if (W & 2) { for (; Y;--Y) bar(); } else if (W & 4) { for (; Z;--Z) bar(); } else if (W & 8) { for (; W;--W) bar(); } if (W) { bar(); } } contrived testcase where loops exits all end up merging together. To have the loop merges be: ... cmplw cr0, r30, r27 bne cr0, LBB1_14 ;bb38 LBB1_16: ;cond_next48.loopexit mr r27, r29 LBB1_20: ;cond_next48 cmplwi cr0, r27, 0 beq cr0, LBB1_22 ;UnifiedReturnBlock ... instead of: ... cmplw cr0, r30, r27 bne cr0, LBB1_14 ;bb38 LBB1_16: ;cond_next48.loopexit mr r27, r29 b LBB1_20 ;cond_next48 LBB1_17: ;cond_next48.loopexit1 b LBB1_20 ;cond_next48 LBB1_18: ;cond_next48.loopexit2 b LBB1_20 ;cond_next48 LBB1_19: ;cond_next48.loopexit3 LBB1_20: ;cond_next48 cmplwi cr0, r27, 0 beq cr0, LBB1_22 ;UnifiedReturnBlock ... This is CodeGen/PowerPC/branch-opt.ll llvm-svn: 31006
-
Chris Lattner authored
It now correctly deletes unreachable blocks and blocks that are empty. llvm-svn: 31000
-
- Oct 14, 2006
-
-
Chris Lattner authored
llvm-svn: 30951
-
Chris Lattner authored
llvm-svn: 30950
-
- Oct 13, 2006
-
-
Chris Lattner authored
llvm-svn: 30939
-
- Apr 22, 2005
-
-
Misha Brukman authored
llvm-svn: 21420
-
- Sep 02, 2004
-
-
Reid Spencer authored
Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
-
- Aug 01, 2004
-
-
Chris Lattner authored
llvm-svn: 15402
-
- Jul 31, 2004
-
-
Alkis Evlogimenos authored
MachineBasicBlock* as a parameter so that nxext() and prior() helper functions can work naturally on it. llvm-svn: 15376
-
Chris Lattner authored
llvm-svn: 15375
-
Alkis Evlogimenos authored
MachineFunction::iterator instead of MachineBasicBlock* to avoid dereferencing end iterators. llvm-svn: 15373
-
Alkis Evlogimenos authored
FallThrough maybe == to MF.end(). llvm-svn: 15372
-
Chris Lattner authored
llvm-svn: 15368
-