IndVars does not set Changed flag when it eliminates dead instructions. As result,
it may make IR modifications and report that it has done nothing. It leads to inconsistent
preserved analyzes results.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
I'm not sure if I'm allowed to LGTM this but it does look good to me and it solves PR38855 so thumbs up.
lib/Transforms/Scalar/IndVarSimplify.cpp | ||
---|---|---|
2494 ↗ | (On Diff #164354) | Not sure if it's happening in any real case (i.e. considering how DeadInsts is formed), but OK. |
2502 ↗ | (On Diff #164354) | Maybe. It needs comprehensive analysis. I need to revisit any single place separately, let's not do it in this patch. It is to address a particular crash, however I agree that we might take a closer look into how Changed is sad. |
lib/Transforms/Scalar/IndVarSimplify.cpp | ||
---|---|---|
2502 ↗ | (On Diff #164354) | Filed https://bugs.llvm.org/show_bug.cgi?id=38863 to follow-up. |
Comment Actions
LGTM with follow-up handling of Changed. If you do not have cycles for handling Changed, please file a bug at least.