In the use optimizer, we need to keep track of the stack size after popping off dominating accesses, or else we may decide a lower bound is still valid when it is not due to
intervening pushes.
Fixes PR28880 (and probably a bunch of other things).
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
LGTM.
Let's enable gvn-hoist back again once this is committed.
test/Transforms/Util/MemorySSA/pr28880.ll | ||
---|---|---|
54 ↗ | (On Diff #67075) | You may want to remove all these attributes. |
Comment Actions
You may want to add the testcases you were speaking about that break the logic of checking the stack size.
Comment Actions
Ooh, tricky. LGTM with sebpop's comment addressed; I'm fine if the stack size test cases are committed later. Thanks for the patch!
I'll see what I can do to add EXPENSIVE_CHECKS to the use optimizer (like the ones we have in the walker). :)