#
bbb141c7 |
| 14-Feb-2017 |
Adam Nemet <anemet@apple.com> |
Add new pass LazyMachineBlockFrequencyInfo
And use it in MachineOptimizationRemarkEmitter. A test will follow on top of Justin's changes to enable MachineORE in AsmPrinter.
The approach is similar
Add new pass LazyMachineBlockFrequencyInfo
And use it in MachineOptimizationRemarkEmitter. A test will follow on top of Justin's changes to enable MachineORE in AsmPrinter.
The approach is similar to the IR-level pass. It's a bit simpler because BPI is immutable at the Machine level so we don't need to make that lazy.
Because of this, a new function mapping is introduced (BPIPassTrait::getBPI). This function extracts BPI from the pass. In case of the lazy pass, this is when the calculation of the BFI occurs. For Machine-level, this is the identity function.
Differential Revision: https://reviews.llvm.org/D29836
llvm-svn: 295072
show more ...
|
#
a9640667 |
| 25-Jan-2017 |
Adam Nemet <anemet@apple.com> |
New OptimizationRemarkEmitter pass for MIR
This allows MIR passes to emit optimization remarks with the same level of functionality that is available to IR passes.
It also hooks up the greedy regis
New OptimizationRemarkEmitter pass for MIR
This allows MIR passes to emit optimization remarks with the same level of functionality that is available to IR passes.
It also hooks up the greedy register allocator to report spills. This allows for interesting use cases like increasing interleaving on a loop until spilling of registers is observed.
I still need to experiment whether reporting every spill scales but this demonstrates for now that the functionality works from llc using -pass-remarks*=<pass>.
Differential Revision: https://reviews.llvm.org/D29004
llvm-svn: 293110
show more ...
|