diff options
| author | Quentin Colombet <qcolombet@apple.com> | 2015-07-01 23:12:13 +0000 |
|---|---|---|
| committer | Quentin Colombet <qcolombet@apple.com> | 2015-07-01 23:12:13 +0000 |
| commit | 9729fb33156d3a6cbe7e55a389ac7dd501cc9dfe (patch) | |
| tree | 32560355c7acfbe6ba70f03a0690b635f7e34393 /llvm/test/Transforms/LoopStrengthReduce | |
| parent | 28ff26837369eed8500db03d4329b6240b076b02 (diff) | |
| download | bcm5719-llvm-9729fb33156d3a6cbe7e55a389ac7dd501cc9dfe.tar.gz bcm5719-llvm-9729fb33156d3a6cbe7e55a389ac7dd501cc9dfe.zip | |
[TwoAddressInstructionPass] Try 3 Addr Conversion After Commuting.
TwoAddressInstructionPass stops after a successful commuting but 3 Addr
conversion might be good for some cases.
Consider:
int foo(int a, int b) {
return a + b;
}
Before this commit, we emit:
addl %esi, %edi
movl %edi, %eax
ret
After this commit, we try 3 Addr conversion:
leal (%rsi,%rdi), %eax
ret
Patch by Volkan Keles <vkeles@apple.com>!
Differential Revision: http://reviews.llvm.org/D10851
llvm-svn: 241206
Diffstat (limited to 'llvm/test/Transforms/LoopStrengthReduce')
| -rw-r--r-- | llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-stress-X86.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-stress-X86.ll b/llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-stress-X86.ll index 7925bf01020..24be0dc42d6 100644 --- a/llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-stress-X86.ll +++ b/llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-stress-X86.ll @@ -23,7 +23,7 @@ ; X32: add ; X32: add ; X32: add -; X32: add +; X32: leal ; X32: %for.body.3 define void @sharedidx(i8* nocapture %a, i8* nocapture %b, i8* nocapture %c, i32 %s, i32 %len) nounwind ssp { entry: |

