summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacques Pienaar <jpienaar@google.com>2016-04-25 16:41:21 +0000
committerJacques Pienaar <jpienaar@google.com>2016-04-25 16:41:21 +0000
commit522031bd05069b915bfc426b5fb83e1b56abd1dc (patch)
treec54f9e944fcd9d06a46c1f9d5875738f44f58b48
parent4e3bb7b98c282733635309c52fc61214d35607af (diff)
downloadbcm5719-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.cpp9
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;
}
}
OpenPOWER on IntegriCloud