[PATCH] D30128: [LazyMachineBFI] Reimplement with getAnalysisIfAvailable
Adam Nemet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 17 16:52:35 PST 2017
anemet created this revision.
Herald added a subscriber: fhahn.
Since LoopInfo is not available in machine passes as universally as in IR
passes, using the same approach for OptimizationRemarkEmitter as we did for IR
will run LoopInfo and DominatorTree unnecessarily. (LoopInfo is not used
lazily by ORE.)
To fix this, I am modifying the approach I took in https://reviews.llvm.org/D29836. LazyMachineBFI now
uses its client passes including MachineBFI itself that are available or
otherwise compute them on the fly.
So for example the GreedyRegAlloc since it's already using MBFI will reuse
that instance. On the other hand, AsmPrinter in Justin's patch will generate
DT, LI and finally BFI on the fly.
(I am of course wondering now if the simplicity of this approach is even
preferable in IR. I will do some experiments.)
Testing is provided by an updated version of https://reviews.llvm.org/D29837 which requires Justin
patch to ORE to the AsmPrinter.
https://reviews.llvm.org/D30128
Files:
include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h
include/llvm/CodeGen/MachineBlockFrequencyInfo.h
lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
lib/CodeGen/MachineBlockFrequencyInfo.cpp
lib/CodeGen/MachineOptimizationRemarkEmitter.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30128.88994.patch
Type: text/x-patch
Size: 8908 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170218/61e26b54/attachment.bin>
More information about the llvm-commits
mailing list