This is an archive of the discontinued LLVM Phabricator instance.

TailDuplication: do not remove trivial PHIs from addr-taken blocks.
ClosedPublic

Authored by t.p.northover on Oct 5 2021, 2:29 AM.

Details

Reviewers
t.p.northover
Summary

Unlike an anonymous block, it will not be removed even though we've resolved all valid paths to get here. So removing a PHI can leave vregs with no definition, violating SSA. Instead, this converts it to an IMPLICIT_DEF.

Diff Detail

Event Timeline

t.p.northover created this revision.Oct 5 2021, 2:29 AM
t.p.northover requested review of this revision.Oct 5 2021, 2:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 5 2021, 2:29 AM

Belated ping for this one. It looks like it's come up again recently and fixes https://github.com/llvm/llvm-project/issues/59715.

Herald added a project: Restricted Project. · View Herald TranscriptJan 6 2023, 1:21 AM
Naville added a subscriber: Naville.Jan 6 2023, 1:32 AM
t.p.northover accepted this revision.Jan 9 2023, 3:12 AM

Thanks, committed as 5b24d4210647

This revision is now accepted and ready to land.Jan 9 2023, 3:12 AM
t.p.northover closed this revision.Jan 9 2023, 3:13 AM