This is an archive of the discontinued LLVM Phabricator instance.

llvm-reduce: remove a crash in the basic block reducing pass
ClosedPublic

Authored by regehr on Aug 13 2022, 12:34 PM.

Details

Summary

this pass should work a lot better now, it was unconditionally removing blocks from predecessor phi nodes, now it is only doing that for in-chunk blocks

the non-default second argument to removePredecessor() is necessary to avoid creating invalid IR on examples like the one in the provided test case

Diff Detail

Event Timeline

regehr created this revision.Aug 13 2022, 12:34 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 13 2022, 12:34 PM
regehr requested review of this revision.Aug 13 2022, 12:34 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 13 2022, 12:34 PM
regehr edited the summary of this revision. (Show Details)Aug 13 2022, 12:48 PM
arsenm accepted this revision.Aug 13 2022, 1:49 PM
arsenm added inline comments.
llvm/test/tools/llvm-reduce/remove-bbs-nocrash.ll
8

Can drop these

This revision is now accepted and ready to land.Aug 13 2022, 1:49 PM
regehr updated this revision to Diff 452464.Aug 13 2022, 6:12 PM
regehr marked an inline comment as done.
This revision was landed with ongoing or failed builds.Aug 13 2022, 6:15 PM
This revision was automatically updated to reflect the committed changes.