diff options
| author | Matthias Braun <matze@braunis.de> | 2016-08-24 01:52:46 +0000 |
|---|---|---|
| committer | Matthias Braun <matze@braunis.de> | 2016-08-24 01:52:46 +0000 |
| commit | 733fe3676c629b25edcae79d3ba3ccb24e6c6cb3 (patch) | |
| tree | 578f14b815a159c1fef147071e29daec739115f0 /llvm/lib/Target/Hexagon/HexagonGenExtract.cpp | |
| parent | bceadcf1cd8f8128c92b1b2f3d4a11ba85f480cb (diff) | |
| download | bcm5719-llvm-733fe3676c629b25edcae79d3ba3ccb24e6c6cb3.tar.gz bcm5719-llvm-733fe3676c629b25edcae79d3ba3ccb24e6c6cb3.zip | |
CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses
Re-apply this patch, hopefully I will get away without any warnings
in the constructor now.
This patch removes the MachineFunctionAnalysis. Instead we keep a
map from IR Function to MachineFunction in the MachineModuleInfo.
This allows the insertion of ModulePasses into the codegen pipeline
without breaking it because the MachineFunctionAnalysis gets dropped
before a module pass.
Peak memory should stay unchanged without a ModulePass in the codegen
pipeline: Previously the MachineFunction was freed at the end of a codegen
function pipeline because the MachineFunctionAnalysis was dropped; With
this patch the MachineFunction is freed after the AsmPrinter has
finished.
Differential Revision: http://reviews.llvm.org/D23736
llvm-svn: 279602
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonGenExtract.cpp')
| -rw-r--r-- | llvm/lib/Target/Hexagon/HexagonGenExtract.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp b/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp index f46b6d2a82e..ca10846653a 100644 --- a/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp +++ b/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp @@ -8,7 +8,6 @@ //===----------------------------------------------------------------------===// #include "llvm/ADT/STLExtras.h" -#include "llvm/CodeGen/MachineFunctionAnalysis.h" #include "llvm/IR/Constants.h" #include "llvm/IR/Dominators.h" #include "llvm/IR/Function.h" @@ -60,7 +59,6 @@ namespace { virtual void getAnalysisUsage(AnalysisUsage &AU) const override { AU.addRequired<DominatorTreeWrapperPass>(); AU.addPreserved<DominatorTreeWrapperPass>(); - AU.addPreserved<MachineFunctionAnalysis>(); FunctionPass::getAnalysisUsage(AU); } private: |

