This is an archive of the discontinued LLVM Phabricator instance.

[MachineOutliner] Add support for target-default outlining
ClosedPublic

Authored by paquette on Jun 29 2018, 10:17 AM.

Details

Summary

This adds functionality to the outliner that allows targets to specify certain functions that should be outlined from by default.

When -enable-machine-outliner=[something] isn't passed, the outliner will perform target-default behaviour if defined. Targets that want to support default outlining will specify that in their TargetOptions.

This is a preliminary patch for turning the outliner on by default under -Oz for AArch64. (D45916)

Diff Detail

Event Timeline

paquette created this revision.Jun 29 2018, 10:17 AM
efriedma accepted this revision.Jun 29 2018, 5:06 PM
efriedma added a subscriber: efriedma.

LGTM

This revision is now accepted and ready to land.Jun 29 2018, 5:06 PM
paquette closed this revision.Jun 29 2018, 9:01 PM

Thanks!

Committed in r336040.

https://reviews.llvm.org/rL336040

MatzeB added a subscriber: MatzeB.Jul 13 2018, 2:05 PM
MatzeB added inline comments.
include/llvm/Target/TargetOptions.h
238–239

I'm confused over what the difference between EnableMachineOutliner and SupportsDefaultOutlining is/what a "default outlining behaviour" is. Could you explain/improve the comment?