- Jun 26, 2006
-
-
Owen Anderson authored
of LCSSA. This results several times the number of unswitchings occurring on tests such and timberwolfmc, unix-tbl, and ldecod. llvm-svn: 28912
-
- Jun 17, 2006
-
-
Chris Lattner authored
"LCSSA" phi node causes indvars to break dominance properties. This fixes causes indvars to avoid inserting aggressive code in this case, instead indvars should be fixed to be more aggressive in the face of lcssa phi's. llvm-svn: 28850
-
- Jun 15, 2006
-
-
Chris Lattner authored
idioms into bswap intrinsics. llvm-svn: 28803
-
- Jun 14, 2006
-
-
Chris Lattner authored
bug exposed by the recent lcssa work. llvm-svn: 28779
-
- Jun 12, 2006
-
-
Owen Anderson authored
llvm-svn: 28759
-
- Jun 11, 2006
-
-
Evan Cheng authored
Back out Owen's 6/9 changes. They broke MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). llvm-svn: 28747
-
- Jun 09, 2006
-
-
Owen Anderson authored
LCSSA. llvm-svn: 28739
-
Evan Cheng authored
post-increment value, should be first cast to the appropriated type (to the type of the common expr). Otherwise, the rewrite of a use based on (common + iv) may end up with an incorrect type. llvm-svn: 28735
-
- Jun 07, 2006
-
-
Reid Spencer authored
llvm-svn: 28714
-
Chris Lattner authored
PPC/altivec llvm-svn: 28698
-
- Jun 02, 2006
-
-
Chris Lattner authored
llvm-svn: 28664
-
- Jun 01, 2006
-
-
Chris Lattner authored
llvm-svn: 28632
-
- May 31, 2006
-
-
Chris Lattner authored
but for sub, it really does! Fix fixes a miscompilation of fibheap_cut in llvmgcc4. llvm-svn: 28600
-
- May 26, 2006
-
-
Chris Lattner authored
llvm-svn: 28503
-
Chris Lattner authored
llvm-svn: 28490
-
Chris Lattner authored
No functionality change. llvm-svn: 28489
-
Chris Lattner authored
the program. This exposes more opportunities for the instcombiner, and implements vec_shuffle.ll:test6 llvm-svn: 28487
-
Chris Lattner authored
extractelement from the SV's source. This implement vec_shuffle.ll:test[45] llvm-svn: 28485
-
- May 21, 2006
-
-
Chris Lattner authored
llvm-svn: 28422
-
- May 17, 2006
-
-
Chris Lattner authored
Patch written by Domagoj Babic! llvm-svn: 28367
-
- May 14, 2006
-
-
Evan Cheng authored
llvm-svn: 28284
-
- May 13, 2006
-
-
Chris Lattner authored
bitfield now gives this code: _plus: lwz r2, 0(r3) rlwimi r2, r2, 0, 1, 31 xoris r2, r2, 32768 stw r2, 0(r3) blr instead of this: _plus: lwz r2, 0(r3) srwi r4, r2, 31 slwi r4, r4, 31 addis r4, r4, -32768 rlwimi r2, r4, 0, 0, 0 stw r2, 0(r3) blr this can obviously still be improved. llvm-svn: 28275
-
Chris Lattner authored
currently very limited, but can be extended in the future. For example, we now compile: uint %test30(uint %c1) { %c2 = cast uint %c1 to ubyte %c3 = xor ubyte %c2, 1 %c4 = cast ubyte %c3 to uint ret uint %c4 } to: _xor: movzbl 4(%esp), %eax xorl $1, %eax ret instead of: _xor: movb $1, %al xorb 4(%esp), %al movzbl %al, %eax ret More impressively, we now compile: struct B { unsigned bit : 1; }; void xor(struct B *b) { b->bit = b->bit ^ 1; } To (X86/PPC): _xor: movl 4(%esp), %eax xorl $-2147483648, (%eax) ret _xor: lwz r2, 0(r3) xoris r2, r2, 32768 stw r2, 0(r3) blr instead of (X86/PPC): _xor: movl 4(%esp), %eax movl (%eax), %ecx movl %ecx, %edx shrl $31, %edx # TRUNCATE movb %dl, %dl xorb $1, %dl movzbl %dl, %edx andl $2147483647, %ecx shll $31, %edx orl %ecx, %edx movl %edx, (%eax) ret _xor: lwz r2, 0(r3) srwi r4, r2, 31 xori r4, r4, 1 rlwimi r2, r4, 31, 0, 0 stw r2, 0(r3) blr This implements InstCombine/cast.ll:test30. llvm-svn: 28273
-
- May 11, 2006
-
-
Chris Lattner authored
When doing the initial pass of constant folding, if we get a constantexpr, simplify the constant expr like we would do if the constant is folded in the normal loop. This fixes the missed-optimization regression in Transforms/InstCombine/getelementptr.ll last night. llvm-svn: 28224
-
- May 10, 2006
-
-
Chris Lattner authored
1. Implement InstCombine/deadcode.ll by not adding instructions in unreachable blocks (due to constants in conditional branches/switches) to the worklist. This causes them to be deleted before instcombine starts up, leading to better optimization. 2. In the prepass over instructions, do trivial constprop/dce as we go. This has the effect of improving the effectiveness of #1. In addition, it *significantly* speeds up instcombine on test cases with large amounts of constant folding code (for example, that produced by code specialization or partial evaluation). In one example, it speeds up instcombine from 0.0589s to 0.0224s with a release build (a 2.6x speedup). llvm-svn: 28215
-
- May 09, 2006
-
-
Chris Lattner authored
Domagoj Babic! llvm-svn: 28181
-
- May 06, 2006
-
-
Chris Lattner authored
Make the "fold (and (cast A), (cast B)) -> (cast (and A, B))" transformation only apply when both casts really will cause code to be generated. If one or both doesn't, then this xform doesn't remove a cast. This fixes Transforms/InstCombine/2006-05-06-Infloop.ll llvm-svn: 28141
-
- May 05, 2006
-
-
Chris Lattner authored
llvm-svn: 28128
-
Chris Lattner authored
llvm-svn: 28126
-
- May 04, 2006
-
-
Chris Lattner authored
llvm-svn: 28101
-
- May 02, 2006
-
-
Chris Lattner authored
Domagoj Babic! llvm-svn: 28048
-
- Apr 29, 2006
-
-
Chris Lattner authored
llvm-svn: 28019
-
- Apr 28, 2006
-
-
Chris Lattner authored
llvm-svn: 28007
-
- Apr 27, 2006
-
-
Chris Lattner authored
Transforms/InstCombine/vec_insert_to_shuffle.ll llvm-svn: 27997
-
- Apr 20, 2006
-
-
Chris Lattner authored
llvm-svn: 27912
-
Andrew Lenharth authored
llvm-svn: 27881
-
Andrew Lenharth authored
can be converted to losslessly, we can continue the conversion to a direct call. llvm-svn: 27880
-
- Apr 18, 2006
-
-
Chris Lattner authored
if the pointer is known aligned. llvm-svn: 27781
-
- Apr 16, 2006
-
-
Chris Lattner authored
Make the insert/extract elt -> shuffle code more aggressive. This fixes CodeGen/PowerPC/vec_shuffle.ll llvm-svn: 27728
-
Chris Lattner authored
llvm-svn: 27727
-