Check that TD isn't NULL before dereferencing it down this path.
[oota-llvm.git] / lib / Transforms / IPO / GlobalOpt.cpp
index 6250cc5ec45e11ceeb093aa67431fd725832b64a..20af15ed0087119c37d0541b99bde1b8f7ba63d5 100644 (file)
@@ -2783,7 +2783,7 @@ bool Evaluator::EvaluateBlock(BasicBlock::iterator CurInst,
           Value *Ptr = PtrArg->stripPointerCasts();
           if (GlobalVariable *GV = dyn_cast<GlobalVariable>(Ptr)) {
             Type *ElemTy = cast<PointerType>(GV->getType())->getElementType();
-            if (!Size->isAllOnesValue() &&
+            if (TD && !Size->isAllOnesValue() &&
                 Size->getValue().getLimitedValue() >=
                 TD->getTypeStoreSize(ElemTy)) {
               Invariants.insert(GV);