aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-03-28 01:55:52 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-03-28 01:55:52 +0000
commit7aff11a1eddcebe9936e14836cd527c46acde651 (patch)
treeffc536b0a181089452b9b28ba1cbf551b517b2ef /lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
parentcaaf69107ece8bd9864fed4d64e2a84fa5f8cd4b (diff)
downloadexternal_llvm-7aff11a1eddcebe9936e14836cd527c46acde651.zip
external_llvm-7aff11a1eddcebe9936e14836cd527c46acde651.tar.gz
external_llvm-7aff11a1eddcebe9936e14836cd527c46acde651.tar.bz2
Scale 1 is always ok.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35407 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index 6851015..d906263 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -4137,7 +4137,7 @@ static bool SinkInvariantGEPIndex(BinaryOperator *BinOp,
int64_t Cst = cast<ConstantInt>(BinOp->getOperand(1))->getSExtValue();
// e.g. load (gep i32 * %P, (X+42)) => load (%P + X*4 + 168).
if (TLI.isLegalAddressImmediate(Cst*Scale, UseTy) &&
- TLI.isLegalAddressScale(Scale, UseTy)) {
+ (Scale == 1 || TLI.isLegalAddressScale(Scale, UseTy))) {
DestBBs.insert(GEPIBB);
MadeChange = true;
break;