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)
I'm confused over what the difference between EnableMachineOutliner and SupportsDefaultOutlining is/what a "default outlining behaviour" is. Could you explain/improve the comment?