[LLVMdev] LoadInst result

nizam at cse.iitm.ac.in nizam at cse.iitm.ac.in
Mon Feb 3 02:19:52 PST 2014


Hi Tim, 



Assume a store instruction. Store has 2 Operands. I can use the store->getOperand(0) and store->getOperand(1) methods to access these operands in form of Value *. 


Very likely that the operands are stack variables or formal variables or global variables. It is also possible that these operands are LLVM virtual-registers. Is there a way to determine if a given operand is a virtual-register or memory-related-on. 


I hope this clarifies my question. 
BR/Nizam 



From: "Tim Northover" <t.p.northover at gmail.com> 
To: nizam at cse.iitm.ac.in 
Cc: "Sean Silva" <chisophugis at gmail.com>, "llvmdev" <llvmdev at cs.uiuc.edu> 
Sent: Monday, February 3, 2014 3:42:29 PM 
Subject: Re: [LLVMdev] LoadInst result 

Hi Nizam, 

> Is there a simple way to check if a given instruction operand (represented 
> by Value *) is a virtual register or otherwise? Context: I am creating a 
> ModulePass for pointer Analysis. 

Values exist before any distinction is made between virtual and 
physical registers (they only get introduced after or, in rare cases 
at lowering to MachineInstrs). Or did you mean some distinction other 
than virtual/physical? What would you expect the Value to be if it's 
not a virtual register? 

Cheers. 

Tim. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140203/a552a61c/attachment.html>


More information about the llvm-dev mailing list