This is a fix for PR35884.
When we want to delete dead loop we must clean uses in unreachable blocks
otherwise we'll get an assert during deletion of instructions from the loop.
Differential D41943
[LoopDeletion] Handle users in unreachable block skatkov on Jan 11 2018, 3:19 AM. Authored by
Details This is a fix for PR35884. When we want to delete dead loop we must clean uses in unreachable blocks
Diff Detail Event Timeline
Comment Actions LGTM w/ comments.
|
I think this is more clearer: "Given LCSSA form is satisfied, we should not have users of instructions within the dead loop outside of the loop. However, LCSSA doesn't take unreachable uses into account. We handle them here".