summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
diff options
context:
space:
mode:
authorMichael Zolotukhin <mzolotukhin@apple.com>2015-09-22 21:41:29 +0000
committerMichael Zolotukhin <mzolotukhin@apple.com>2015-09-22 21:41:29 +0000
commit8bb31dd08a1e9f747592b9216240224063f59b8d (patch)
treea5e18ebb60a735981c897250168a74de799ba064 /llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
parent7f07442bb6c7761d7db43578911fe40398f5eb78 (diff)
downloadbcm5719-llvm-8bb31dd08a1e9f747592b9216240224063f59b8d.tar.gz
bcm5719-llvm-8bb31dd08a1e9f747592b9216240224063f59b8d.zip
[Unroll] Follow-up for r247769: fix a bug in UnrolledInstAnalyzer::visitLoad.
Apart from checking that GlobalVariable is a constant, we should check that it's not a weak constant, in which case we can't propagate its value. llvm-svn: 248327
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp b/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
index 0e4462618aa..d9236a2c773 100644
--- a/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
@@ -415,7 +415,7 @@ private:
auto *GV = dyn_cast<GlobalVariable>(AddressIt->second.Base);
// We're only interested in loads that can be completely folded to a
// constant.
- if (!GV || !GV->hasInitializer() || !GV->isConstant())
+ if (!GV || !GV->hasDefinitiveInitializer() || !GV->isConstant())
return false;
ConstantDataSequential *CDS =
OpenPOWER on IntegriCloud