forked from OSchip/llvm-project
29bc8a91d3
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 |
||
---|---|---|
.. | ||
2003-02-26-AccessSizeTest.ll | ||
2003-03-04-GEPCrash.ll | ||
2003-04-22-GEPProblem.ll | ||
2003-04-25-GEPCrash.ll | ||
2003-05-21-GEP-Problem.ll | ||
2003-06-01-AliasCrash.ll | ||
2003-07-03-BasicAACrash.ll | ||
2003-09-19-LocalArgument.ll | ||
2003-11-04-SimpleCases.ll | ||
2003-12-11-ConstExprGEP.ll | ||
2004-07-28-MustAliasbug.ll | ||
2004-12-08-BasicAACrash.ll | ||
2004-12-08-BasicAACrash2.ll | ||
2005-03-09-BrokenBasicAA.ll | ||
2006-03-03-BadArraySubscript.ll | ||
2006-11-03-BasicAAVectorCrash.ll | ||
2007-01-13-BasePointerBadNoAlias.ll | ||
2007-08-01-NoAliasAndCalls.ll | ||
2007-08-01-NoAliasAndGEP.ll | ||
2007-08-05-GetOverloadedModRef.ll | ||
2007-10-24-ArgumentsGlobals.ll | ||
2007-11-05-SizeCrash.ll | ||
2007-12-08-OutOfBoundsCrash.ll | ||
2008-04-15-Byval.ll | ||
2008-06-02-GEPTailCrash.ll | ||
2008-11-23-NoaliasRet.ll | ||
2009-03-04-GEPNoalias.ll | ||
2009-10-13-AtomicModRef.ll | ||
2009-10-13-GEP-BaseNoAlias.ll | ||
byval.ll | ||
cas.ll | ||
constant-over-index.ll | ||
dg.exp | ||
featuretest.ll | ||
gcsetest.ll | ||
gep-alias.ll | ||
global-size.ll | ||
modref.ll | ||
no-escape-call.ll | ||
nocapture.ll | ||
phi-aa.ll | ||
phi-and-select.ll | ||
pure-const-dce.ll | ||
store-promote.ll | ||
tailcall-modref.ll |