[LLVMdev] AsmPrinter question

Sachin.Punyani at microchip.com Sachin.Punyani at microchip.com
Wed Jan 28 00:23:12 PST 2009


Hi,

 

Probably I did not mention my question correctly. 

 

I need to emit declarations of the libcalls (that are made in the
current module) at the beginning of the assembly file. The class
"Module" does not maintain any list of the libcalls made during the
program. Although, it maintains lists of all the global variables and
functions in the current module.


Traversing each instruction and its operand to find if any libcall has
been invoked seems to be very very costly.  Is there some other way to
find the libcalls that are made in module? 

 

Regards

Sachin

 

________________________________

From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On Behalf Of Evan Cheng
See MachineOperand.h. If a MachineOperand represents an external symbol,
getSymbolName() returns a string.

 

Evan

 

On Jan 27, 2009, at 8:26 PM, Sachin.Punyani at microchip.com wrote:

Hi All,

 

I need to print some extra information about libcall names in assembly.
Libcall names are managed as ExternalSymbols in LLVM.

 

How do I access these ExternalSymbols from Asmprinter? 

 

AsmPrinter uses class Module that lists all the global variables
(including extern variables) and functions (include extern functions).
But it does not list any information about the libcalls
(ExternalSymbols) generated during lowering.

 

Regards

Sachin

_______________________________________________
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/20090128/36084820/attachment.html>


More information about the llvm-dev mailing list