HomePhabricator

[MachineOutliner] AArch64: Avoid saving + restoring LR if possible

Description

[MachineOutliner] AArch64: Avoid saving + restoring LR if possible

This commit allows the outliner to avoid saving and restoring the link register
on AArch64 when it is dead within an entire class of candidates.

This introduces changes to the way the outliner interfaces with the target.
For example, the target now interfaces with the outliner using a
MachineOutlinerInfo struct rather than by using getOutliningCallOverhead and
getOutliningFrameOverhead.

This also improves several comments on the outliner's cost model.

https://reviews.llvm.org/D36721

Details

Committed
paquetteSep 27 2017, 1:47 PM
Parents
rL314340: Remove unnecessary semicolons
Branches
Unknown
Tags
Unknown