OSDN Git Service

Fix some code to work if TargetLowering is not available.
authorDan Gohman <gohman@apple.com>
Fri, 1 May 2009 16:29:14 +0000 (16:29 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 1 May 2009 16:29:14 +0000 (16:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70546 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopStrengthReduce.cpp

index 2dc6282..89429b6 100644 (file)
@@ -794,10 +794,14 @@ static bool fitsInAddressMode(const SCEVHandle &V, const Type *UseTy,
 
   if (const SCEVUnknown *SU = dyn_cast<SCEVUnknown>(V))
     if (GlobalValue *GV = dyn_cast<GlobalValue>(SU->getValue())) {
-      TargetLowering::AddrMode AM;
-      AM.BaseGV = GV;
-      AM.HasBaseReg = HasBaseReg;
-      return TLI->isLegalAddressingMode(AM, UseTy);
+      if (TLI) {
+        TargetLowering::AddrMode AM;
+        AM.BaseGV = GV;
+        AM.HasBaseReg = HasBaseReg;
+        return TLI->isLegalAddressingMode(AM, UseTy);
+      } else {
+        // Default: assume global addresses are not legal.
+      }
     }
 
   return false;