[llvm-dev] Print Register Liveness Information

Quentin Colombet via llvm-dev
Thu, 16 Feb 2017 21:21:39 -0000

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> 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
> 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/24e58581/attachment.html>