[LLVMdev] Name of Virtual Registers

Sean Silva chisophugis at gmail.com
Sat Oct 19 14:47:18 PDT 2013


On Sat, Oct 19, 2013 at 8:20 AM, Abhinash Jain <omnia at mailinator.com> wrote:

> How can I get the name of the virtual Registers present on an instruction.
> eg.   %add18 = add nsw i32 %mul17, %37
>
> in this case I want to extract the name of the virutal registers as
> "add18",
> "mul17","37".
>
> This can easily be done in the case of store Instruction
> eg.  store i32 %add20, i32* %t, align 4
>
> in this case functions like instr->getOperand(0)->getName() and
> instr->getOperand(1)->getName() will fetch me "add20" and "t" respectively.
>
> But I want this for every Instruction, So How can I achieve this??
>

The number is not stored with the instruction. Only the name (see
getName()). The number is computed when the module/function is printed and
requires global information (since it depends on all the previous values in
the function). See the class SlotTracker in lib/IR/AsmWriter.cpp.

Also, see this:
http://llvm.org/docs/FAQ.html#what-api-do-i-use-to-store-a-value-to-one-of-the-virtual-registers-in-llvm-ir-s-ssa-representation

-- Sean Silva


>
>
>
>
> --
> View this message in context:
> http://llvm.1065342.n5.nabble.com/Name-of-Virtual-Registers-tp62256.html
> Sent from the LLVM - Dev mailing list archive at Nabble.com.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131019/3a6abb09/attachment.html>


More information about the llvm-dev mailing list