Extended replaceCongruentPhis to handle mixed phi types.
llvm-svn: 147707
diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
index 840614e..ec0c9a6 100644
--- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@ -3865,7 +3865,7 @@
// Remove any extra phis created by processing inner loops.
SmallVector<WeakVH, 16> DeadInsts;
SCEVExpander Rewriter(SE, "lsr");
- Changed |= (bool)Rewriter.replaceCongruentIVs(L, &DT, DeadInsts);
+ Changed |= (bool)Rewriter.replaceCongruentIVs(L, &DT, DeadInsts, TLI);
Changed |= (bool)DeleteTriviallyDeadInstructions(DeadInsts);
}
DEBUG(dbgs() << "LSR skipping outer loop " << *L << "\n");
@@ -3918,7 +3918,7 @@
// Remove any extra phis created by processing inner loops.
SmallVector<WeakVH, 16> DeadInsts;
SCEVExpander Rewriter(SE, "lsr");
- Changed |= (bool)Rewriter.replaceCongruentIVs(L, &DT, DeadInsts);
+ Changed |= (bool)Rewriter.replaceCongruentIVs(L, &DT, DeadInsts, TLI);
Changed |= (bool)DeleteTriviallyDeadInstructions(DeadInsts);
}
}