[LLVMdev] AsmPrinter question
Bill Wendling
isanbard at gmail.com
Thu Jan 29 01:32:36 PST 2009
Hi Sachin,
The declaration of functions called via the "call" instruction is a
GlobalValue in your Module. You can go through all of the
GlobalValues, look for those that are Function declarations (use the
"Function::isDeclaration()" method), and then placing them in the
appropriate place in your assembly file.
Would that work?
-bw
On Jan 28, 2009, at 12:23 AM, <Sachin.Punyani at microchip.com> <Sachin.Punyani at microchip.com
> wrote:
> 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
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list