This is an archive of the discontinued LLVM Phabricator instance.

Add optimization bisect opt-in calls for Hexagon passes
ClosedPublic

Authored by andrew.w.kaylor on Apr 25 2016, 4:10 PM.

Details

Summary

This patch adds calls to Hexagon-specific passes that can be safely skipped to opt-in to the optimization bisect mechanism.

I selected the passes to be skipped based on the fact that they were not added at CodeGenOpt::None in HexagonTargetMachine.cpp. Based on that criteria, I did not add opt-in calls to the following passes, which appear to be required:

HexagonBranchRelaxation
HexagonCallFrameInformation
HexagonCopyToCombine
HexagonSplitConst32AndConst64

Note that the call to skipFunction() will also check for the "optnone" function attribute, so this can theoretically result in passes being skipped even when optimization bisect is not being done. However, I believe that any pass that can be safely skipped should be skipped for functions with the optnone attribute.

See D19172 for details on the base optimizaton bisect implementation.

Diff Detail

Repository
rL LLVM

Event Timeline

andrew.w.kaylor retitled this revision from to Add optimization bisect opt-in calls for Hexagon passes.
andrew.w.kaylor updated this object.
andrew.w.kaylor added a reviewer: kparzysz.
andrew.w.kaylor set the repository for this revision to rL LLVM.
andrew.w.kaylor added a subscriber: llvm-commits.
kparzysz accepted this revision.Apr 26 2016, 6:00 AM
kparzysz edited edge metadata.

Looks good to me. Thanks!

This revision is now accepted and ready to land.Apr 26 2016, 6:00 AM
This revision was automatically updated to reflect the committed changes.