[llvm-dev] Question on GlobalISel Intermediate invariants

Daniel Sanders via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 20 08:38:11 PST 2017


Hi,

There's also -print-machineinstrs which prints the MIR between each backend pass.

> I'm not aware of a clang option to dump out IR between specific passes.

You can pass options to the backend using -mllvm followed by the backend option. For example:
   clang -S hello.cpp -mllvm -print-after-all

> On 20 Feb 2017, at 15:00, Kristof Beyls via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi Kumail,
> 
> I'm not aware of a clang option to dump out IR between specific passes.
> I think the one way to do it is to let clang generate llvm-ir, and feed that into llc, and let llc print out the IR after the pass you're interested in, e.g.:
> clang t.c -o- -S  -emit-llvm | llc -global-isel -print-after=irtranslator
> 
> If you want to see how the IR evolves after each pass, you can use the llc command line option -print-after-all.
> 
> Is this what you were looking for?
> 
> Thanks,
> 
> Kristof
> 
> 
>> On 20 Feb 2017, at 15:14, Kumail Ahmed via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> 
>> 
>> Hello, 
>> 
>> I just started using the GlobalISel framework.  
>> 
>> Is there a way to emit all intermediate invariants from IRTranslator to Instrution-Selection in a single instruction? It will be really handy. I mean something like '-save-temps' in clang.
>> 
>> Best regards,
>> Kumail Ahmed
>> 
>> 
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



More information about the llvm-dev mailing list