- Jan 01, 2010
-
-
Chris Lattner authored
positive and negative forms of constants together. This allows us to compile: int foo(int x, int y) { return (x-y) + (x-y) + (x-y); } into: _foo: ## @foo subl %esi, %edi leal (%rdi,%rdi,2), %eax ret instead of (where the 3 and -3 were not factored): _foo: imull $-3, 8(%esp), %ecx imull $3, 4(%esp), %eax addl %ecx, %eax ret this started out as: movl 12(%ebp), %ecx imull $3, 8(%ebp), %eax subl %ecx, %eax subl %ecx, %eax subl %ecx, %eax ret This comes from PR5359. llvm-svn: 92381
-
Chris Lattner authored
llvm-svn: 92380
-
Ted Kremenek authored
llvm-svn: 92378
-
Chris Lattner authored
llvm-svn: 92377
-
Chris Lattner authored
llvm-svn: 92375
-
Ted Kremenek authored
llvm-svn: 92374
-
- Dec 31, 2009
-
-
Chris Lattner authored
This allows us to optimize test12 into: define i32 @test12(i32 %X) { %factor = mul i32 %X, -3 ; <i32> [#uses=1] %Z = add i32 %factor, 6 ; <i32> [#uses=1] ret i32 %Z } instead of: define i32 @test12(i32 %X) { %Y = sub i32 6, %X ; <i32> [#uses=1] %C = sub i32 %Y, %X ; <i32> [#uses=1] %Z = sub i32 %C, %X ; <i32> [#uses=1] ret i32 %Z } llvm-svn: 92373
-
Chris Lattner authored
sorted, so we can just do a linear scan. llvm-svn: 92372
-
Chris Lattner authored
llvm-svn: 92370
-
Chris Lattner authored
llvm-svn: 92369
-
Chris Lattner authored
fix RemoveDeadBinaryOp to actually do something. llvm-svn: 92368
-
Chris Lattner authored
instead of std::vector. llvm-svn: 92366
-
Chris Lattner authored
llvm-svn: 92364
-
Chris Lattner authored
improve some comments, simplify a bit of code. llvm-svn: 92363
-
Chris Lattner authored
llvm-svn: 92362
-
Benjamin Kramer authored
warning: comparison between signed and unsigned integer expressions llvm-svn: 92359
-
Chris Lattner authored
miscompilation, PR5458. llvm-svn: 92354
-
Chris Lattner authored
llvm-svn: 92353
-
Chris Lattner authored
llvm-svn: 92352
-
Chris Lattner authored
llvm-svn: 92349
-
Chris Lattner authored
llvm-svn: 92347
-
Chris Lattner authored
llvm-svn: 92346
-
Chris Lattner authored
llvm-svn: 92344
-
Chris Lattner authored
llvm-svn: 92343
-
Douglas Gregor authored
to SmallVector, and add a unit test. llvm-svn: 92340
-
Chris Lattner authored
llvm-svn: 92338
-
Chris Lattner authored
by moving one method out of line and eliminating redundant checks from other methods. llvm-svn: 92337
-
Chris Lattner authored
llvm-svn: 92336
-
Chris Lattner authored
llvm-svn: 92335
-
Chris Lattner authored
one that remains. llvm-svn: 92334
-
Chris Lattner authored
llvm-svn: 92333
-
Chris Lattner authored
llvm-svn: 92332
-
Chris Lattner authored
llvm-svn: 92331
-
Chris Lattner authored
llvm-svn: 92330
-
Chris Lattner authored
dumps one node instead of all of them. llvm-svn: 92329
-
Chris Lattner authored
llvm-svn: 92328
-
Chris Lattner authored
llvm-svn: 92327
-
Chris Lattner authored
mdnode, not just operand 0 over and over. llvm-svn: 92326
-
Chris Lattner authored
llvm-svn: 92325
-
Chris Lattner authored
llvm-svn: 92324
-