diff options
author | Jacques Pienaar <jpienaar@google.com> | 2016-04-25 16:41:21 +0000 |
---|---|---|
committer | Jacques Pienaar <jpienaar@google.com> | 2016-04-25 16:41:21 +0000 |
commit | 522031bd05069b915bfc426b5fb83e1b56abd1dc (patch) | |
tree | c54f9e944fcd9d06a46c1f9d5875738f44f58b48 | |
parent | 4e3bb7b98c282733635309c52fc61214d35607af (diff) | |
download | bcm5719-llvm-522031bd05069b915bfc426b5fb83e1b56abd1dc.tar.gz bcm5719-llvm-522031bd05069b915bfc426b5fb83e1b56abd1dc.zip |
[lanai] Expand findClosestSuitableAluInstr check to consider offset register.
Previously findClosestSuitableAluInstr was only considering the base register when checking the current instruction for suitability. Expand check to consider the offset if the offset is a register.
llvm-svn: 267424
-rw-r--r-- | llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp b/llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp index 9481b5aed0d..c5a46143ee5 100644 --- a/llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp +++ b/llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp @@ -347,9 +347,12 @@ MbbIterator LanaiMemAluCombiner::findClosestSuitableAluInstr( return First; } - // Usage of the base register of a form not suitable for merging - if (First != Last && InstrUsesReg(First, Base)) { - break; + // Usage of the base or offset register is not a form suitable for merging. + if (First != Last) { + if (InstrUsesReg(First, Base)) + break; + if (Offset->isReg() && InstrUsesReg(First, Offset)) + break; } } |