FixupStatepoints pass does not take into account the undef use
it skips may have a tied def. So when defs are handled pass
considers that tied-use should be spilled and triggers an assert.
FixupStatepoints should skip undef def as well.
Paths
| Differential D95858
[Statepoint] Handle 'undef' operand tied to def ClosedPublic Authored by skatkov on Feb 2 2021, 2:18 AM.
Details Summary FixupStatepoints pass does not take into account the undef use FixupStatepoints should skip undef def as well.
Diff Detail Event TimelineComment Actions LGTM. BTW, we can completely delete tied dead,undef pair. But additional complexity might not worth it. This revision is now accepted and ready to land.Feb 2 2021, 3:46 AM Closed by commit rGde305b04257d: [Statepoint] Handle 'undef' operand tied to def (authored by skatkov). · Explain WhyFeb 2 2021, 8:08 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 320720 llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
llvm/test/CodeGen/X86/statepoint-fixup-undef-def.mir
|