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

Chen, Yuanfang via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 22 11:12:16 PDT 2020


Hi Matt, which analysis is this?
________________________________________
From: Matt Arsenault <whatmannerofburgeristhis at gmail.com> on behalf of Matt Arsenault <arsenm2 at gmail.com>
Sent: Tuesday, July 21, 2020 12:02 PM
To: Craig Topper
Cc: Chen, Yuanfang; Nicolai Hähnle; llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] [RFC] Introducing classes for the codegen driven by new pass manager



> 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