Revert "include/llvm: Add R600 Intrinsics v6"
[oota-llvm.git] / lib / Analysis / ScalarEvolutionNormalization.cpp
index 0670e46392214063b29a5f66fe0caae04e30907a..dd2ed4ff831c905607f19681dd428bfa159a1b4b 100644 (file)
@@ -118,7 +118,6 @@ TransformImpl(const SCEV *S, Instruction *User, Value *OperandValToReplace) {
     // Conservatively use AnyWrap until/unless we need FlagNW.
     const SCEV *Result = SE.getAddRecExpr(Operands, L, SCEV::FlagAnyWrap);
     switch (Kind) {
-    default: llvm_unreachable("Unexpected transform name!");
     case NormalizeAutodetect:
       if (IVUseShouldUsePostIncValue(User, OperandValToReplace, L, &DT)) {
         const SCEV *TransformedStep =
@@ -191,7 +190,6 @@ TransformImpl(const SCEV *S, Instruction *User, Value *OperandValToReplace) {
   }
 
   llvm_unreachable("Unexpected SCEV kind!");
-  return 0;
 }
 
 /// Manage recursive transformation across an expression DAG. Revisiting
@@ -202,12 +200,13 @@ TransformSubExpr(const SCEV *S, Instruction *User, Value *OperandValToReplace) {
   if (isa<SCEVConstant>(S) || isa<SCEVUnknown>(S))
     return S;
 
-  const SCEV *&ExprRef = Transformed[S];
-  if (ExprRef)
-    return ExprRef;
+  const SCEV *Result = Transformed.lookup(S);
+  if (Result)
+    return Result;
 
-  ExprRef = TransformImpl(S, User, OperandValToReplace);
-  return ExprRef;
+  Result = TransformImpl(S, User, OperandValToReplace);
+  Transformed[S] = Result;
+  return Result;
 }
 
 /// Top level driver for transforming an expression DAG into its requested