- Jun 19, 2007
-
-
Evan Cheng authored
Avoid if-converting simple block that ends with unconditional branch or fallthrough unless it branches / falls to the 'false' block. Not profitable, may end up increasing code size. llvm-svn: 37660
-
Evan Cheng authored
llvm-svn: 37659
-
Dan Gohman authored
deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvolution uses internally anyway. This allows more flexibility for future uses. llvm-svn: 37657
-
Dan Gohman authored
for needing the DAG node to print pre-legalize extended value types, and to get better debug messages with target-specific nodes. llvm-svn: 37656
-
Owen Anderson authored
Handle constants in phi nodes properly. This fixes test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll llvm-svn: 37655
-
Chris Lattner authored
llvm-svn: 37651
-
Chris Lattner authored
llvm-svn: 37650
-
Chris Lattner authored
llvm-svn: 37649
-
Owen Anderson authored
Be careful to erase values from all of the appropriate sets when they're not needed anymore. This fixes a few more memory-related issues. llvm-svn: 37647
-
Owen Anderson authored
Thanks to Nicholas for valgrinding this. llvm-svn: 37646
-
Owen Anderson authored
Refactor GVNPRE to use a much smart method of uniquing value sets, and centralize a lot of the value numbering information. No functionality change. llvm-svn: 37645
-
Dan Gohman authored
with a general target hook to identify rematerializable instructions. Some instructions are only rematerializable with specific operands, such as loads from constant pools, while others are always rematerializable. This hook allows both to be identified as being rematerializable with the same mechanism. llvm-svn: 37644
-
Evan Cheng authored
llvm-svn: 37643
-
Chris Lattner authored
Anton for half of this patch. llvm-svn: 37641
-
Chris Lattner authored
llvm-svn: 37640
-
Evan Cheng authored
Look for VECTOR_SHUFFLE that's identity operation on either LHS or RHS. This can happen before DAGCombiner catches it. llvm-svn: 37636
-
Evan Cheng authored
llvm-svn: 37634
-
Evan Cheng authored
llvm-svn: 37633
-
- Jun 18, 2007
-
-
Devang Patel authored
llvm-svn: 37630
-
Chris Lattner authored
by making it non-recursive llvm-svn: 37629
-
Dan Gohman authored
add operands after constant operands. The recent change to recognize sign-extend expressions caused this to be exposed more often. llvm-svn: 37628
-
Anton Korobeynikov authored
llvm-svn: 37627
-
Dan Gohman authored
llvm-svn: 37626
-
Dan Gohman authored
llvm-svn: 37625
-
Evan Cheng authored
llvm-svn: 37623
-
Owen Anderson authored
llvm-svn: 37622
-
Owen Anderson authored
llvm-svn: 37621
-
Owen Anderson authored
llvm-svn: 37620
-
- Jun 17, 2007
-
-
Bill Wendling authored
define double @test2(i64 %A) { %B = bitcast i64 %A to double ret double %B } $ llvm-as < t.ll | llc -march=x86-64 before: .align 4 .globl _test2 _test2: movd %rdi, %xmm0 ret after: _test2: subq $8, %rsp movq %rdi, (%rsp) movsd (%rsp), %xmm0 addq $8, %rsp ret llvm-svn: 37617
-
- Jun 16, 2007
-
-
Evan Cheng authored
1. Consider all possible ifcvt cases at once. No longer restricted to bottom up iterative approach. 2. Sort all possible cases based on a cost function. Perform the most profitable ones first invalidate others that target the same blocks. 3. Fixed a number of bugs related to block duplication. llvm-svn: 37613
-
Bill Wendling authored
llvm-svn: 37611
-
Owen Anderson authored
Fix test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll by ignoring all instructions that depend on invokes. llvm-svn: 37610
-
Tanya Lattner authored
llvm-svn: 37608
-
- Jun 15, 2007
-
-
Evan Cheng authored
llvm-svn: 37607
-
Evan Cheng authored
llvm-svn: 37606
-
Dan Gohman authored
llvm-svn: 37602
-
Chris Lattner authored
for tied register constraints. llvm-svn: 37601
-
Evan Cheng authored
llvm-svn: 37599
-
Duncan Sands authored
llvm-svn: 37597
-
Dan Gohman authored
integer constant SCEV. llvm-svn: 37596
-