[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 15 09:39:32 PDT 2020


Indeed, but there is a distinction about their position in the pipeline. We run opt & codegen pipeline separately, “codegen” IR passes run with other “codegen” IR passes. The same goes for regular IR passes. 

Do you run “codegen” IR passes with regular IR passes? If so, do you mind sharing the use cases? I might have missed this use case. 

________________________________________
From: Matt Arsenault <whatmannerofburgeristhis at gmail.com> on behalf of Matt Arsenault <arsenm2 at gmail.com>
Sent: Wednesday, July 15, 2020 9:31 AM
To: Chen, Yuanfang
Cc: Robinson, Paul; llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] [RFC] Introducing classes for the codegen driven by new pass manager



> On Jul 15, 2020, at 12:28, Chen, Yuanfang <Yuanfang.Chen at sony.com> wrote:
>
> In codegen with NPM, I've made all codegen passes (IR or MIR pass) to be only driven by `llc`. Both due to the way NPM registering pass (on-demand&dynamic instead of static initialization in Legacy PM), and reduce the confusion about which tool (`llc` or `opt`) to test codegen IR passes.
>


I think there’s no real distinction between “codegen” IR passes and noncodegen IR passes. I routinely run “codegen only” passes with opt in conjunction with other passes when experimenting. I think losing the ability to run any IR pass with opt would be a functionality regression.

-Matt


More information about the llvm-dev mailing list