[llvm-dev] [RFC] Introducing classes for the codegen driven by new pass manager

Matt Arsenault via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 21 12:02:10 PDT 2020



> On Jul 21, 2020, at 14:53, Craig Topper <craig.topper at gmail.com> wrote:
> 
> One thing I want to mention. I believe in the current legacy pass manager implementation only one MachineFunction ever exists at a time. It is deleted before the next MachineFunction is created. This is very important for memory usage. I think the MachineOutliner being in the pipeline may create an exception to this. I think the initial version of retpoline used a ModulePass and that had to be changed to avoid excessive memory usage.
> 
> ~Craig

An addition to this is analyses between different MachineFunctions still matter. AMDGPU forces SCC order and has an analysis to track function information after it’s been codegened. This is needed to track the cumulative register usage of kernels

-Matt


More information about the llvm-dev mailing list