[PATCH] D42417: Re-apply [SCEV] Fix isLoopEntryGuardedByCond usage
Sanjoy Das via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 4 22:52:50 PST 2018
sanjoy added inline comments.
================
Comment at: llvm/trunk/lib/Analysis/ScalarEvolution.cpp:8672
const Loop *L = LAR->getLoop();
- if (isLoopEntryGuardedByCond(L, Pred, LAR->getStart(), RHS) &&
+ if (isAvailableAtLoopEntry(RHS, L) &&
+ isLoopEntryGuardedByCond(L, Pred, LAR->getStart(), RHS) &&
----------------
I still suspect (but am not sure) that this is too "deep" in the call stack to bail out like this -- I suspect the bug is somewhere up in a caller since the query {A,+,B}<L> `pred` <thing not available on L's entry> seems nonsensical.
I want to throw this in a debugger and take a look, but the attached test case does not fail for me on rL324202 (with `opt -indvars inner-loop.ll`). Can you please verify that the test case fails for you without the SCEV changes?
Repository:
rL LLVM
https://reviews.llvm.org/D42417
More information about the llvm-commits
mailing list