diff options
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Scalar/InstructionCombining.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 5d04d7737f..bb8f97be3b 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -1302,7 +1302,7 @@ Instruction *InstCombiner::visitLoadInst(LoadInst &LI) { if (CE->getOpcode() == Instruction::GetElementPtr) if (ConstantPointerRef *G=dyn_cast<ConstantPointerRef>(CE->getOperand(0))) if (GlobalVariable *GV = dyn_cast<GlobalVariable>(G->getValue())) - if (GV->isConstant()) + if ((GV->isConstant()) && (!(GV->isExternal()))) if (Constant *V = GetGEPGlobalInitializer(GV->getInitializer(), CE)) return ReplaceInstUsesWith(LI, V); return 0; |