- Nov 26, 2009
-
-
Bob Wilson authored
llvm-svn: 89968
-
Chris Lattner authored
first expression as P+4+4*i which we considered to possibly alias P+4*j. Now we correctly analyze the former one as P+1+4*i. @test10 is a sanity test that verfies that we know that P+4+4*i != P+4*i. llvm-svn: 89960
-
Chris Lattner authored
previously already handled it at -m32 because there were no i32->i64 extensions for addressing. llvm-svn: 89959
-
Chris Lattner authored
llvm-svn: 89958
-
Chris Lattner authored
llvm-svn: 89957
-
Chris Lattner authored
llvm-svn: 89956
-
Chris Lattner authored
llvm-svn: 89955
-
Chris Lattner authored
to exercise this though. llvm-svn: 89954
-
Chris Lattner authored
only missing the one form (in this testcase). Dan, do you consider this example to be important? llvm-svn: 89953
-
Chris Lattner authored
allows us to compile the example in readme.txt into: LBB1_1: ## %bb movl 4(%rdx,%rax), %ecx movl %ecx, %esi imull (%rdx,%rax), %esi imull %esi, %ecx movl %esi, 8(%rdx,%rax) imull %ecx, %esi movl %ecx, 12(%rdx,%rax) movl %esi, 16(%rdx,%rax) imull %ecx, %esi movl %esi, 20(%rdx,%rax) addq $16, %rax cmpq $4000, %rax jne LBB1_1 instead of: LBB1_1: movl (%rdx,%rax), %ecx imull 4(%rdx,%rax), %ecx movl %ecx, 8(%rdx,%rax) imull 4(%rdx,%rax), %ecx movl %ecx, 12(%rdx,%rax) imull 8(%rdx,%rax), %ecx movl %ecx, 16(%rdx,%rax) imull 12(%rdx,%rax), %ecx movl %ecx, 20(%rdx,%rax) addq $16, %rax cmpq $4000, %rax jne LBB1_1 GCC (4.2) doesn't seem to be able to eliminate the loads in this testcase either, it generates: L2: movl (%rdx), %eax imull 4(%rdx), %eax movl %eax, 8(%rdx) imull 4(%rdx), %eax movl %eax, 12(%rdx) imull 8(%rdx), %eax movl %eax, 16(%rdx) imull 12(%rdx), %eax movl %eax, 20(%rdx) addl $4, %ecx addq $16, %rdx cmpl $1002, %ecx jne L2 llvm-svn: 89952
-
Chris Lattner authored
llvm-svn: 89951
-
Chris Lattner authored
llvm-svn: 89950
-
Chris Lattner authored
Change the other half of aliasGEP (which handles GEP differencing) to use DecomposeGEPExpression. This dramatically simplifies and shrinks the code by eliminating the horrible CheckGEPInstructions method, fixes a miscompilation (@test3) and makes the code more aggressive. In particular, we now handle the @test4 case, which is reduced from the SmallPtrSet constructor. Missing this caused us to emit a variable length memset instead of a fixed size one. llvm-svn: 89922
-
Chris Lattner authored
llvm-svn: 89921
-
Chris Lattner authored
Generalize DecomposeGEPExpression to exactly handle what Value::getUnderlyingObject does (when TD is around). This allows us to avoid calling DecomposeGEPExpression unless the ultimate alias check we care about passes, speedup up BasicAA a bit. llvm-svn: 89920
-
Chris Lattner authored
Implement a new DecomposeGEPExpression method, which decomposes a GEP into a list of scaled offsets. Use this to eliminate some previous ad-hoc code which was subtly broken (it assumed all Constant*'s were non-zero, but strange constant express could be zero). llvm-svn: 89915
-
Chris Lattner authored
llvm-svn: 89914
-
Chris Lattner authored
llvm-svn: 89913
-
Chris Lattner authored
llvm-svn: 89912
-
Evan Cheng authored
llvm-svn: 89906
-
Evan Cheng authored
llvm-svn: 89905
-
Bob Wilson authored
running tail duplication when doing branch folding for if-conversion, and we also want to be able to run tail duplication earlier to fix some reg alloc problems. Move the CanFallThrough function from BranchFolding to MachineBasicBlock so that it can be shared by TailDuplication. llvm-svn: 89904
-
Dale Johannesen authored
llvm-svn: 89899
-
Devang Patel authored
llvm-svn: 89896
-
- Nov 25, 2009
-
-
Viktor Kutuzov authored
Rollback changes r89516: Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods. llvm-svn: 89893
-
Evan Cheng authored
ProcessImplicitDefs should watch out for invalidated iterator and extra implicit operands on copies. llvm-svn: 89880
-
Bob Wilson authored
With the testcase for pr3120, the "threaded interpreter" runtime decreases from 1788 to 1413 with this change. llvm-svn: 89877
-
Benjamin Kramer authored
llvm-svn: 89873
-
Devang Patel authored
llvm-svn: 89866
-
Bob Wilson authored
it is definitely profitable to tail duplicate indirect branches for x86. This is likely to be true to various degrees for all modern x86 processors. llvm-svn: 89865
-
Bruno Cardoso Lopes authored
llvm-svn: 89863
-
Edward O'Callaghan authored
llvm-svn: 89862
-
Daniel Dunbar authored
llvm-svn: 89850
-
Edward O'Callaghan authored
API change Path::isSpecialFile to Path::isRegularFile, improve semantics in regards to comments from 89765 post review. llvm-svn: 89848
-
Douglas Gregor authored
llvm-svn: 89846
-
Edward O'Callaghan authored
llvm-svn: 89844
-
Daniel Dunbar authored
llvm-svn: 89841
-
Daniel Dunbar authored
llvm-svn: 89840
-
Daniel Dunbar authored
llvm-svn: 89839
-
Daniel Dunbar authored
llvm-svn: 89833
-