This is an archive of the discontinued LLVM Phabricator instance.

Rework CFG simplification in bugpoint
ClosedPublic

Authored by dberlin on Jul 26 2016, 9:07 PM.

Details

Summary

Depends on D22841

We now use a much simpler CFG simplification routine for bugpoint,
because SimplifyCFG is no longer a good match for what bugpoint wants
to do.

At the same time, to make sure we don't lose anything valuable it was doing,
SimplifyCFG is now run as a per-BB reduction pass.

With this and D22841 combined, bugpoint operates both much faster on
the large testcases i have, and reduces them to pretty much minimal
testcases (in one case, bugpoint used to leave about 6000 useless blocks, and
now it leaves 3 ...)

Diff Detail

Repository
rL LLVM

Event Timeline

dberlin retitled this revision from to Rework CFG simplification in bugpoint.
dberlin updated this object.
dberlin added reviewers: chandlerc, majnemer.
dberlin added a subscriber: llvm-commits.

(arc seems to have messed up on the diff of the diff, i'll fix it)

Fixing ARC diff

majnemer accepted this revision.Jul 28 2016, 2:58 PM
majnemer edited edge metadata.

LGTM

tools/bugpoint/CrashDebugger.cpp
604–605 ↗(On Diff #65664)

I'd use BD and TestFn here, the lookup rules inside the initializers will find the right one.

This revision is now accepted and ready to land.Jul 28 2016, 2:58 PM
This revision was automatically updated to reflect the committed changes.