mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
Follow-up to D105207, only salvage affine SCEVs to avoid a crash
SCEVToIterCountExpr only expects to be fed affine expressions, but DbgRewriteSalvageableDVIs is feeding it non-affine induction variables. Following this up with an obvious fix, will add test coverage too if this avoids D105207 being reverted. (cherry picked from commit 2537120c870c04893636f171f553024f378c2de8)
This commit is contained in:
parent
ff86d9e5f0
commit
46ad88f625
@ -6162,6 +6162,9 @@ DbgRewriteSalvageableDVIs(llvm::Loop *L, ScalarEvolution &SE,
|
||||
bool Changed = false;
|
||||
if (const SCEVAddRecExpr *IVAddRec =
|
||||
dyn_cast<SCEVAddRecExpr>(SCEVInductionVar)) {
|
||||
if (!IVAddRec->isAffine())
|
||||
return false;
|
||||
|
||||
SCEVDbgValueBuilder IterCountExpr;
|
||||
IterCountExpr.pushValue(LSRInductionVar);
|
||||
if (!IterCountExpr.SCEVToIterCountExpr(*IVAddRec, SE))
|
||||
|
Loading…
Reference in New Issue
Block a user