summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
diff options
context:
space:
mode:
authorAdam Nemet <anemet@apple.com>2017-02-23 17:30:01 +0000
committerAdam Nemet <anemet@apple.com>2017-02-23 17:30:01 +0000
commitb516cf3f3f72540f8756e5a9f1681e79111987a4 (patch)
tree208ab68e39b2b3fc2e7ebc2ea623d2637edfff27 /llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
parent3f4181db66918dd862913dd7cdb3362f627bdefb (diff)
downloadbcm5719-llvm-b516cf3f3f72540f8756e5a9f1681e79111987a4.tar.gz
bcm5719-llvm-b516cf3f3f72540f8756e5a9f1681e79111987a4.zip
[LazyMachineBFI] Reimplement with getAnalysisIfAvailable
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 D29836. LazyMachineBFI now uses its client passes including MachineBFI itself that are available or otherwise compute them on the fly. So for example 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 D29837 which requires Justin's patch to bring ORE to the AsmPrinter. Differential Revision: https://reviews.llvm.org/D30128 llvm-svn: 295996
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud