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
11 lines
457 B
LLVM
11 lines
457 B
LLVM
; RUN: llc < %s -debug-pass=Structure -stop-after=loop-reduce -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP
|
|
; RUN: llc < %s -debug-pass=Structure -start-after=loop-reduce -o /dev/null 2>&1 | FileCheck %s -check-prefix=START
|
|
|
|
; STOP: -loop-reduce
|
|
; STOP: Loop Strength Reduction
|
|
; STOP-NEXT: MIR Printing Pass
|
|
|
|
; START: -machine-branch-prob -pre-isel-intrinsic-lowering
|
|
; START: FunctionPass Manager
|
|
; START-NEXT: Lower Garbage Collection Instructions
|