[llvm-dev] Print Register Liveness Information

Matthias Braun via llvm-dev
Thu, 16 Feb 2017 22:32:37 -0000

Note that this only works for targets that say
TargetRegisterInfo::trackLivenessAfterRegAlloc()== true.

> On Feb 16, 2017, at 1:21 PM, Quentin Colombet via llvm-dev <llvm-dev at
lists.llvm.org> wrote:
>
> Hi Anitha,
>
> The liveness information is usually dropped after regalloc.
> Therefore the short answer is no, this information is not available before
producing assembly.
>
> However, we have the live-ins and you can request the kill flag to be set.
From both this information, you can recompute the liveness.
> I’d suggest you use the LivePhysReg helper class and use its result to
annotate your assembly (emitComment or something along those lines).
>
> Cheers,
> -Quentin
>> On Feb 16, 2017, at 12:46 PM, Anitha B Gollamudi via llvm-dev
<llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
wrote:
>>
>> Hi,
>>
>> Is there a way to print the register liveness information into the
assembly file or as some intermediate listing?
>> To be more precise, I am looking at figuring out the following
information in an assembly file/listing.
>>
>> Say, for simplicity, our register set is only { rsp, rbp, eax }
>>
>>
>> subq    $16, %rsp     // rsp is killed here, eax and rbp are live
>> movl    $0, -4(%rbp)  // rbp is killed here, rsp and eax are live
>> xorl    %eax, %eax    // eax is killed here, rsp and rbp are live
>> movl    $1, %eax   // eax is killed here, rsp and rbp are live
>>
>> Is there a way LLVM stores this information somewhere before producing
assembly?
>> I haven't  dug into the source code yet, but intuitively the
information must be there and hence maybe some pass dumps that info?
>>
>> Thanks!
>>
>>  Anitha
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org <mailto: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

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20170216/954076ce/attachment.html>