[llvm-dev] Print Register Liveness Information

Quentin Colombet via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 16 13:21:39 PST 2017


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>


More information about the llvm-dev mailing list