Displaying 20 results from an estimated 700 matches similar to: "[LLVMdev] How do I get the result of an instruction?"
2008 Nov 17
2
[LLVMdev] Assertion `castIsValid(getOpcode(), S, Ty) && "Illegal BitCast"' failed.
ok.. So I am trying out what you have suggested. I have written the below code which basically tries to write the constant 10 to a file. myprint is a function pointer to a function which takes char * parameter and writes it to file.
Value *Ten = ConstantInt::get(Type::Int32Ty, 10);
const Type *VoidPtrTy = PointerType::getUnqual(Type::Int8Ty);
AllocaInst *AI = new AllocaInst(Type::Int32Ty);
Value
2008 Nov 17
1
[LLVMdev] Assertion `InReg && "Value not in map!"' failed
Ah! I get it now. Thanks a lot !
I changed it to BitCastInst(AI,VoidPtrTy,"",j);
And now I am getting the following error :(. I have been stuck with this error before also. I know I am missing out something silly. What is the cause of this error and Please let me know how to fix it.
/home/bhavani/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1130: llvm::SDOperand
2008 Nov 17
0
[LLVMdev] Assertion `InReg && "Value not in map!"' failed
ok 1 last question for the day...
I created a function in C.
void writeToFile(char *str)
{
FILE *f;
if((f=fopen("example","a"))==NULL){
printf("could not open file");
}
else{
fprintf(f,str);
fclose(f);}
}
used this to create .bc then using llc -march=cpp I got the cpp code to create this function.
While instrumenting my code, I place call to this function.
2008 Nov 17
1
[LLVMdev] How do I get the result of an instruction?
ok. I think I get it now. I need to create the instructions as you have given. For eg: I could pass Instruction*(for storing the result of this instruction) while creating the store instruction. This is what you meant rite??
Thanks,
Bhavani
--- On Mon, 11/17/08, bhavani krishnan <bhavi63 at yahoo.com> wrote:
> From: bhavani krishnan <bhavi63 at yahoo.com>
> Subject: Re:
2008 Nov 17
1
[LLVMdev] Assertion `InReg && "Value not in map!"' failed
Thanks Nick! ok. I ran through the verifier and this is the issue:
verifying... Instruction does not dominate all uses!
%tmp3 = add i32 %b, %a ; <i32> [#uses=2]
store i32 %tmp3, i32* %0, align 4
Broken module found, compilation aborted!
add is existing instruction in function. store is the instruction I have added to the function. How do I fix this now :(?
Thanks,
Bhavani
--- On Mon,
2008 Nov 16
1
[LLVMdev] How do I get the result of an instruction?
Hi,
I am writing an optimization pass where I need to instrument the code such that I need to store the results of some instructions in file. Using llc -march=cpp option I figured out how to add a function(say writeToFile) which takes char* parameter and writes to file. Now, I need put in a CallInst which calls writeToFile passing the Instruction result as parameter. How do I do this?
So, in my
2008 Nov 15
2
[LLVMdev] How do I get the result of an instruction?
Thanks!
How do I cast the result to a string? I basically need to store the results of some instructions in a file.
Thanks,
Bhavani
--- On Sun, 11/16/08, John Criswell <criswell at uiuc.edu> wrote:
> From: John Criswell <criswell at uiuc.edu>
> Subject: Re: [LLVMdev] How do I get the result of an instruction?
> To: "bhavi63 at yahoo.com" <bhavi63 at
2008 Nov 16
0
[LLVMdev] How do I get the result of an instruction?
On Sat, Nov 15, 2008 at 3:58 PM, bhavani krishnan <bhavi63 at yahoo.com> wrote:
> Thanks!
>
> How do I cast the result to a string? I basically need to store the results of some instructions in a file.
If you're confused about how the IR works, http://llvm.org/demo/ can
be useful. The question you're asking doesn't really seem to make
sense.
-Eli
2008 Oct 27
0
[LLVMdev] Is it possible to use EE within optimization pass?
bhavani krishnan wrote:
> I realize my questions may not have been so clear. To give more details. I am writing a fuction pass. I want to interpret some of the instructions within the function pass. In order to do so, I need to create an EE object within the function pass. Now, If I compile and execute using opt. I get an error(Error loading symbol) at the line where I am creating EE.
>
2008 Oct 27
2
[LLVMdev] Is it possible to use EE within optimization pass?
I realize my questions may not have been so clear. To give more details. I am writing a fuction pass. I want to interpret some of the instructions within the function pass. In order to do so, I need to create an EE object within the function pass. Now, If I compile and execute using opt. I get an error(Error loading symbol) at the line where I am creating EE.
opt: symbol lookup error:
2008 Nov 18
1
[LLVMdev] Writing instructions to file
Hello all,
I am instrumenting the code such that I write the results of some instructions to file. As you can see below, I am writing the results of add instruction to the file. The IR generated for writeToFile is also posted below. My problem is that it is writing to the file in format bytes and it is not human-readable. How do I make it write human readable strings to the file?
define i32
2008 Dec 01
1
[LLVMdev] Question in LLVM IR
Thanks! How do I disable the optimizations??
Bhavani
--- On Mon, 12/1/08, Eli Friedman <eli.friedman at gmail.com> wrote:
> From: Eli Friedman <eli.friedman at gmail.com>
> Subject: Re: [LLVMdev] Question in LLVM IR
> To: bhavi63 at yahoo.com, "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Date: Monday, December 1, 2008, 3:48 AM
> On Sun,
2008 Oct 27
0
[LLVMdev] Is it possible to use EE within optimization pass?
bhavani krishnan wrote:
> Thanks John! My pass is registered only in 1 cpp file. It registers and executes fine without the EE.
>
> I only get the Pass registered multiple times error when I try to link to the EE by using LINK_COMPONENTS=engine in the Makefile. Without that line in the Makefile, my pass gets registered fine but it is not able to create EE(Error reading Symbol). So, how do
2008 Oct 27
3
[LLVMdev] Is it possible to use EE within optimization pass?
Thanks John! My pass is registered only in 1 cpp file. It registers and executes fine without the EE.
I only get the Pass registered multiple times error when I try to link to the EE by using LINK_COMPONENTS=engine in the Makefile. Without that line in the Makefile, my pass gets registered fine but it is not able to create EE(Error reading Symbol). So, how do I link LLVMExecutionEngine.o without
2008 Nov 17
0
[LLVMdev] Assertion `castIsValid(getOpcode(), S, Ty) && "Illegal BitCast"' faile
ok.. you are right. I had not inserted the AllocaInst in the function. Thanks a lot for solving my problem yet again :)
--- On Mon, 11/17/08, Eli Friedman <eli.friedman at gmail.com> wrote:
> From: Eli Friedman <eli.friedman at gmail.com>
> Subject: Re: Assertion `castIsValid(getOpcode(), S, Ty) && "Illegal BitCast"' faile
> To: bhavi63 at yahoo.com
2008 Oct 26
1
[LLVMdev] Error while creating ExecutionEngine
Thanks Bill! But it does not work. I get the error given below when I try to load LLVMExecutionEngine.o in the opt command.
Error opening '../../../build/Release/lib/LLVMExecutionEngine.o': ../../../build/Release/lib/LLVMExecutionEngine.o: only ET_DYN and ET_EXEC can be loaded
-load request ignored.
Any ideas?? Please help me out here.
Thanks,
Bhavani
--- On Sun, 10/26/08, Bill
2008 Dec 01
0
[LLVMdev] Question in LLVM IR
On Sun, Nov 30, 2008 at 7:38 PM, bhavani krishnan <bhavi63 at yahoo.com> wrote:
> Hi all,
>
> I observed the nature of the LLVM IR and because of the SSA form, it does not preserve function local variable names (like it preserves function argument names). Is there any way to track these local variables?
>
> Basically what I am doing is interpreting the IR against an abstract
2008 Nov 16
0
[LLVMdev] How do I get the result of an instruction?
bhavani krishnan wrote:
> Hi all,
>
> I probably have a stupid question but I could not find out so please help me out here. I can use getOperand to get the operands of an instruction. Similarly, How do I get the result of an instruction?
>
The instruction itself is its result.
For example, if I wanted to generate code that does a getlemeneptr
instruction (GEP) and then uses the
2008 Nov 15
3
[LLVMdev] How do I get the result of an instruction?
Hi all,
I probably have a stupid question but I could not find out so please help me out here. I can use getOperand to get the operands of an instruction. Similarly, How do I get the result of an instruction?
Thanks,
Bhavani
2008 Oct 27
0
[LLVMdev] Is it possible to use EE within optimization pass?
bhavani krishnan wrote:
> Hi all,
>
> I am repeating my question from yesterday coz I need to find a solution to this ASAP.
>
> How do I link the executionengine to an optimization pass. If I use LINK_COMPONENTS=engine in the Makefile, I get the Pass registered multiple times error. And if i dont use anything, it is not able to load the EE. It gives error loading symbol error. So,