- Oct 03, 2006
-
-
Nick Lewycky authored
Ensure that we copy KnownProperties before calling visitBasicBlock, else we may leak properties into blocks where they don't belong. llvm-svn: 30705
-
Nick Lewycky authored
Fix SwitchInst where dest-block is the same as one of the cases. llvm-svn: 30700
-
Nick Lewycky authored
optimize in more cases. llvm-svn: 30699
-
Evan Cheng authored
llvm-svn: 30698
-
Chris Lattner authored
The critical edge block dominates the dest block if the destblock dominates all edges other than the one incoming from the critical edge. llvm-svn: 30696
-
- Oct 01, 2006
-
-
Chris Lattner authored
the alignment when promoting allocations. This implements InstCombine/cast.ll:test32 llvm-svn: 30682
-
Chris Lattner authored
llvm-svn: 30680
-
Chris Lattner authored
llvm-svn: 30679
-
- Sep 30, 2006
-
-
Chris Lattner authored
llvm-svn: 30676
-
- Sep 29, 2006
-
-
Chris Lattner authored
Eliminate ConstantBool::True and ConstantBool::False. Instead, provide ConstantBool::getTrue() and ConstantBool::getFalse(). llvm-svn: 30665
-
Owen Anderson authored
llvm-svn: 30657
-
Chris Lattner authored
llvm-svn: 30656
-
- Sep 27, 2006
-
-
Chris Lattner authored
llvm-svn: 30623
-
- Sep 23, 2006
-
-
Nick Lewycky authored
llvm-svn: 30588
-
Chris Lattner authored
or when splitting loops with a common header into multiple loops. In particular the old code would always insert the preheader before the old loop header. This is disasterous in cases where the loop hasn't been rotated. For example, it can produce code like: .. outside the loop... jmp LBB1_2 #bb13.outer LBB1_1: #bb1 movsd 8(%esp,%esi,8), %xmm1 mulsd (%edi), %xmm1 addsd %xmm0, %xmm1 addl $24, %edi incl %esi jmp LBB1_3 #bb13 LBB1_2: #bb13.outer leal (%edx,%eax,8), %edi pxor %xmm1, %xmm1 xorl %esi, %esi LBB1_3: #bb13 movapd %xmm1, %xmm0 cmpl $4, %esi jl LBB1_1 #bb1 Note that the loop body is actually LBB1_1 + LBB1_3, which means that the loop now contains an uncond branch WITHIN it to jump around the inserted loop header (LBB1_2). Doh. This patch changes the preheader insertion code to insert it in the right spot, producing this code: ... outside the loop, fall into the header ... LBB1_1: #bb13.outer leal (%edx,%eax,8), %esi pxor %xmm0, %xmm0 xorl %edi, %edi jmp LBB1_3 #bb13 LBB1_2: #bb1 movsd 8(%esp,%edi,8), %xmm0 mulsd (%esi), %xmm0 addsd %xmm1, %xmm0 addl $24, %esi incl %edi LBB1_3: #bb13 movapd %xmm0, %xmm1 cmpl $4, %edi jl LBB1_2 #bb1 Totally crazy, no branch in the loop! :) llvm-svn: 30587
-
Chris Lattner authored
reachable, making it general purpose enough for use by InsertPreheaderForLoop. Eliminate custom dominfo updating code in InsertPreheaderForLoop, using UpdateDomInfoForRevectoredPreds instead. llvm-svn: 30586
-
- Sep 21, 2006
-
-
Chris Lattner authored
llvm-svn: 30555
-
Nick Lewycky authored
llvm-svn: 30552
-
Nick Lewycky authored
with the right answer. llvm-svn: 30550
-
- Sep 20, 2006
-
-
Nick Lewycky authored
Fixes infinite loop in resolve(). llvm-svn: 30540
-
Andrew Lenharth authored
llvm-svn: 30535
-
Chris Lattner authored
this comparison, but never checked it. Whoops, no wonder we miscompiled 177.mesa! llvm-svn: 30511
-
Evan Cheng authored
llvm-svn: 30505
-
Evan Cheng authored
llvm-svn: 30504
-
- Sep 19, 2006
-
-
Andrew Lenharth authored
If we have an add, do it in the pointer realm, not the int realm. This is critical in the linux kernel for pointer analysis correctness llvm-svn: 30496
-
Chris Lattner authored
llvm-svn: 30482
-
- Sep 18, 2006
-
-
Nick Lewycky authored
that we can't modify the CFG any more, at least not until it's possible to update the dominator tree (PR217). llvm-svn: 30469
-
Chris Lattner authored
llvm-svn: 30465
-
Chris Lattner authored
... args, remove the '...'. This is Transforms/DeadArgElim/dead_vaargs.ll llvm-svn: 30459
-
Chris Lattner authored
llvm-svn: 30456
-
Chris Lattner authored
llvm-svn: 30450
-
Chris Lattner authored
Use isLogicalShift/isArithmeticShift to simplify code. llvm-svn: 30448
-
- Sep 16, 2006
-
-
Chris Lattner authored
llvm-svn: 30405
-
- Sep 15, 2006
-
-
Chris Lattner authored
llvm-svn: 30397
-
Owen Anderson authored
changes to be incorrect. They just weren't showing up in any of our current testcases. llvm-svn: 30385
-
- Sep 14, 2006
-
-
Anton Korobeynikov authored
DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
-
- Sep 13, 2006
-
-
Chris Lattner authored
This folds unconditional branches that are often produced by code specialization. llvm-svn: 30307
-
Nick Lewycky authored
llvm-svn: 30305
-
Nick Lewycky authored
llvm-svn: 30304
-
Chris Lattner authored
llvm-svn: 30303
-