[llvm-dev] [GlobalISel][RFC] Thoughts on MachineModulePass

Marcello Maggioni via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 22 22:44:19 PST 2016


The pass, the perspective of our use case, would need to be able some kind of synchronization point in the pipeline between MF passes (such that all the MF passes before have run on all the MachineFunctions in the Module before running the MachineModule pass)
Currently the MachineFunctions are processed from the beginning to the end making it difficult to be able to do Machine level analysis without awful tricks (where we get information from multiple functions and merge them together in some way).
Immutable passes would also need to be accessible.

An important design decision would be to understand what can and cannot a MachineModulePass do to a hypotetical MachineModule (can it add MachineFunctions that are not connected to IR machine functions like a MachineFunction pass can add MachineBasicBlocks not connected to IR BasicBlocks?)

Marcello

> On 22 Jan 2016, at 15:16, Quentin Colombet <qcolombet at apple.com> wrote:
> 
> Hi,
> 
> In the initial thread of the proposal for GlobalISel, I have mentioned that it may be interesting to have a kind of MachineModulePass.
> Marcello mentioned this would be useful for their current pipeline.
> 
> I am interested in knowing:
> 1. If anyone else is interested for such concept?
> 2. What kind of information should we make accessible in an hypothetical MachineModule? I.e., how do you plan to use the MachineModulePass so that we make the right design decisions for the MachineModule feeding those passes? 
> 3. Who would be willing to work on that?
> 
> Thanks,
> -Quentin



More information about the llvm-dev mailing list