This is an archive of the discontinued LLVM Phabricator instance.

[CodeExtractor] Correctly update DT after splitting region header blocks
ClosedPublic

Authored by mkuper on May 10 2015, 7:27 AM.

Details

Reviewers
davide
void
Summary

Use a helper from BasicBlockUtils that actually performs the split + update correctly (if DT is not null), instead of doing it part-way like the existing code.

No test, since it's not clear how to test it with any of the in-tree passes that use CE.
BlockExtractor doesn't pass CE a DT, and LoopExtractor requires LoopSimplify, which destroys the problematic pattern (two entries into the region header).

Diff Detail

Event Timeline

mkuper updated this revision to Diff 25428.May 10 2015, 7:27 AM
mkuper retitled this revision from to [CodeExtractor] Correctly update DT after splitting region header blocks.
mkuper updated this object.
mkuper edited the test plan for this revision. (Show Details)
mkuper added reviewers: void, chandlerc.
mkuper added a subscriber: Unknown Object (MLST).May 11 2015, 1:49 AM

Forgot llvm-commits. :-\

davide accepted this revision.Apr 21 2017, 3:14 PM
davide added subscribers: davidxl, davide.

@davidxl fixed the same yesterday.

This revision is now accepted and ready to land.Apr 21 2017, 3:14 PM
davide closed this revision.Apr 21 2017, 3:14 PM