llvm-project
6f53ae6e - [X86] Properly chain PROBED_ALLOCA / SEG_ALLOCA (#116508)

Commit
315 days ago
[X86] Properly chain PROBED_ALLOCA / SEG_ALLOCA (#116508) These nodes should appear between CALLSEQ_START / CALLSEQ_END. Previously, they could be scheduled after CALLSEQ_END because the nodes didn't update the chain. The change in a test is due to X86 call frame optimizer pass bailing out for a particular call when CALLSEQ_START / CALLSEQ_END are not in the same basic block. This happens because SEG_ALLOCA is expanded into a sequence of basic blocks early. It didn't bail out before because the closing CALLSEQ_END was scheduled before SEG_ALLOCA, in the same basic block as CALLSEQ_START. While here, simplify creation of these nodes: allocating a virtual register and copying `Size` into it were unnecessary.
Author
Parents
Loading