diff options
author | Michael Zolotukhin <mzolotukhin@apple.com> | 2015-09-22 21:41:29 +0000 |
---|---|---|
committer | Michael Zolotukhin <mzolotukhin@apple.com> | 2015-09-22 21:41:29 +0000 |
commit | 8bb31dd08a1e9f747592b9216240224063f59b8d (patch) | |
tree | a5e18ebb60a735981c897250168a74de799ba064 /llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp | |
parent | 7f07442bb6c7761d7db43578911fe40398f5eb78 (diff) | |
download | bcm5719-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.cpp | 2 |
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 = |