diff options
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index fba31c6..45e6eea 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -377,6 +377,15 @@ public: bool runOnFunction(Function &F) override; + void releaseMemory() override { + // Clear per function information. + InsertedInsts.clear(); + PromotedInsts.clear(); + FreshBBs.clear(); + BPI.reset(); + BFI.reset(); + } + StringRef getPassName() const override { return "CodeGen Prepare"; } void getAnalysisUsage(AnalysisUsage &AU) const override { @@ -498,10 +507,6 @@ bool CodeGenPrepare::runOnFunction(Function &F) { DL = &F.getParent()->getDataLayout(); bool EverMadeChange = false; - // Clear per function information. - InsertedInsts.clear(); - PromotedInsts.clear(); - FreshBBs.clear(); TM = &getAnalysis<TargetPassConfig>().getTM<TargetMachine>(); SubtargetInfo = TM->getSubtargetImpl(F); |