summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2016-08-23 03:20:09 +0000
committerMatthias Braun <matze@braunis.de>2016-08-23 03:20:09 +0000
commitfd936841ebefb39a383fe651126998f6728efcbc (patch)
tree0a1cad6c837cfb2c8da49c46ed4a2e81c95961d0 /llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
parent72ca69e40321a9866a95e3d03a8054af2cf73a8e (diff)
downloadbcm5719-llvm-fd936841ebefb39a383fe651126998f6728efcbc.tar.gz
bcm5719-llvm-fd936841ebefb39a383fe651126998f6728efcbc.zip
CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses
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: 279502
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonGenExtract.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonGenExtract.cpp2
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:
OpenPOWER on IntegriCloud