// Before expanding S into an expensive LLVM expression, see if we can use an
// already existing value as the expansion for S.
if (Value *ExistingValue = Rewriter.findExistingExpansion(S, InsertPt, L))
- return ExistingValue;
+ if (ExistingValue->getType() == ResultTy)
+ return ExistingValue;
// We didn't find anything, fall back to using SCEVExpander.
return Rewriter.expandCodeFor(S, ResultTy, InsertPt);