Lele Ma via llvm-dev
2019-Nov-21 02:39 UTC
[llvm-dev] [CodeGen] Read/Write Machine IR from/to Persistent File
Dear LLVM developers, Just as LLVM IR can be read/write via persistent bitcode (*.bc *.ll) files, is there any similar implementation in LLVM to read/write Machine IR (MIR) via a persistent file? If not and I would like to add it (e.g. for ARM or RISC-V), could you direct me materials and/or LLVM source code modules where I should start with? Best Regards, Lele Ma -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191120/cc8aec7a/attachment.html>
Arsenault, Matthew via llvm-dev
2019-Nov-21 06:02 UTC
[llvm-dev] [CodeGen] Read/Write Machine IR from/to Persistent File
Yes, http://llvm.org/docs/MIRLangRef.html#id12 Usually you use -stop-before=passname or -stop-after=passname to get some MIR at a relevant point. Note that currently not all information tracked is really serialized, especially target specific MachineFunctionInfo. Some targets partially implement this, but there are still a lot of gaps. Also note nothing about MIR is remotely stable, so this may differ from what you mean by “persistent” -Matt From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of llvm-dev <llvm-dev at lists.llvm.org> Reply-To: Lele Ma <lelema.cn at gmail.com> Date: Thursday, November 21, 2019 at 08:09 To: llvm-dev <llvm-dev at lists.llvm.org> Subject: [llvm-dev] [CodeGen] Read/Write Machine IR from/to Persistent File Dear LLVM developers, Just as LLVM IR can be read/write via persistent bitcode (*.bc *.ll) files, is there any similar implementation in LLVM to read/write Machine IR (MIR) via a persistent file? If not and I would like to add it (e.g. for ARM or RISC-V), could you direct me materials and/or LLVM source code modules where I should start with? Best Regards, Lele Ma -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191121/85f2610a/attachment.html>
Lele Ma via llvm-dev
2019-Nov-21 06:59 UTC
[llvm-dev] [CodeGen] Read/Write Machine IR from/to Persistent File
Dear Matthew, On Thu, Nov 21, 2019 at 1:02 AM Arsenault, Matthew < Matthew.Arsenault at amd.com> wrote:> Yes, http://llvm.org/docs/MIRLangRef.html#id12 > > > > Usually you use -stop-before=passname or -stop-after=passname to get some > MIR at a relevant point. Note that currently not all information tracked is > really serialized, especially target specific MachineFunctionInfo. Some > targets partially implement this, but there are still a lot of gaps. >Thanks for your prompt response. That is helpful.> > > Also note nothing about MIR is remotely stable, so this may differ from > what you mean by “persistent” > > >Could you explain a little bit more about what do you mean by "remotely stable" ? Can the serialized YAML MIR be compiled into a final executable? Lele> -Matt > > > > *From: *llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of llvm-dev < > llvm-dev at lists.llvm.org> > *Reply-To: *Lele Ma <lelema.cn at gmail.com> > *Date: *Thursday, November 21, 2019 at 08:09 > *To: *llvm-dev <llvm-dev at lists.llvm.org> > *Subject: *[llvm-dev] [CodeGen] Read/Write Machine IR from/to Persistent > File > > > > Dear LLVM developers, > > > > Just as LLVM IR can be read/write via persistent bitcode (*.bc *.ll) > files, is there any similar implementation in LLVM to read/write Machine IR > (MIR) via a persistent file? > > > > If not and I would like to add it (e.g. for ARM or RISC-V), could you > direct me materials and/or LLVM source code modules where I should start > with? > > > > Best Regards, > > Lele Ma > > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191121/9c010c7c/attachment.html>