[LLVMdev] printing constants
Chris Lattner
sabre at nondot.org
Fri Mar 3 08:06:31 PST 2006
On Fri, 3 Mar 2006, anubham suresh wrote:
> Given code like:
>>
>> X = add int Y, 1
>> Z = mul int X, 17
>
> while I iterate over the operands of the first
> instruction i want to print the variable x ,as well as
> the constant 1 and while i iterate over the second
> instruction i want to print variable x and constant
> 17.
> what should I do?
Use op_begin()/op_end():
http://llvm.cs.uiuc.edu/docs/ProgrammersManual.html#iterate_chains
-Chris
> --- llvmdev-request at cs.uiuc.edu wrote:
>
>> Send LLVMdev mailing list submissions to
>> llvmdev at cs.uiuc.edu
>>
>> To subscribe or unsubscribe via the World Wide Web,
>> visit
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> or, via email, send a message with subject or body
>> 'help' to
>> llvmdev-request at cs.uiuc.edu
>>
>> You can reach the person managing the list at
>> llvmdev-owner at cs.uiuc.edu
>>
>> When replying, please edit your Subject line so it
>> is more specific
>> than "Re: Contents of LLVMdev digest..."
>>
>>
>> Today's Topics:
>>
>> 1. RE: printing constants (Chris Lattner)
>>
>>
>>
> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Thu, 2 Mar 2006 11:53:23 -0600 (CST)
>> From: Chris Lattner <sabre at nondot.org>
>> Subject: [LLVMdev] RE: printing constants
>> To: LLVM Developers Mailing List
>> <llvmdev at cs.uiuc.edu>
>> Message-ID:
>> <Pine.LNX.4.61.0603021150460.513 at nondot.org>
>> Content-Type: TEXT/PLAIN; charset=US-ASCII;
>> format=flowed
>>
>> On Thu, 2 Mar 2006, anubham suresh wrote:
>>> here I have a question regarding printing of the
>>> constants( like 2 .63 etc.,) present in the
>>> instruction while iterating over the instructions
>>> within a basic block .
>>> I am able to print the vaiables but not the
>>> constants.
>>> Can you please tell me how to get the constants
>>> printed out while iterating over the instructions
>>> because the constants do not have names as the
>>> variables do( like temp12,temp131 etc.,).
>>
>> I'm not really sure what you want to do. If you're
>> trying to print out
>> all of the literal constants in instructions in a
>> function, you can use
>> the llvm/Analysis/ConstantsScanner.h interface to do
>> this. Something like
>> this:
>>
>> Function *F = ...
>> for (constant_iterator I = constant_begin(F), E =
>> constant_end(F);
>> I != E; ++I)
>> std::cerr << *I;
>>
>> Given code like:
>>
>> X = add int Y, 1
>> Z = mul int X, 17
>>
>> It will print out 1 and 17.
>>
>> Is this what you mean?
>>
>> -Chris
>>
>> --
>> http://nondot.org/sabre/
>> http://llvm.org/
>>
>>
>>
>> ------------------------------
>>
>> _______________________________________________
>> LLVMdev mailing list
>> LLVMdev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>> End of LLVMdev Digest, Vol 21, Issue 4
>> **************************************
>>
>
>
> Anubham Suresh
> Measurement and Instrumentation
> Electrical Department
> IIT Roorkee
> Current location:Darmstadt, Germany
> mobile: +49-1762-3924878
>
>
>
> __________________________________________________________
> Yahoo! India Matrimony: Find your partner now. Go to http://yahoo.shaadi.com
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
More information about the llvm-dev
mailing list