search for: getoperandvalue

Displaying 9 results from an estimated 9 matches for "getoperandvalue".

2019 Jul 17
2
Help to understand LoadValueFromMemory
...39;m at the point where source refers to the GetElementPtrInst ( pointer to the buffer where fread stored the data - %5 in my case ) and the fread() has been already called. I thought the correct approach to achieve what I need was: ExecutionContext& SF = ECStack.back(); GenericValue SRC = getOperandValue(source, SF); GenericValue* Ptr = (GenericValue*)GVTOP(SRC); GenericValue Result; source->getPointerOperand()->getType()->dump(); //[40 x i8]* LoadValueFromMemory(Result, Ptr, source->getPointerOperand()->getType()); and use Result.PointerVal ... In the end I have the first...
2010 Jul 09
0
[LLVMdev] types in load/store
...cording to the code, the visitLoad/visitStore functions used by the interpreter does not allow accessing aggregate types, only simple types are legal. On the other hand, the GenericValue used by interpreter to store values in memory only considers simple types (int, float, typ*) too, and each 'getOperandValue' also takes aggregate constants illegal when converting them into GenericValue. Actually my input *.ll files have load/store instructions on struct (used in functions), which are taken as return values to ensure not to be deleted. Interpreters (lli -force-interpreter ) can still interpreter th...
2010 Jul 09
2
[LLVMdev] types in load/store
Hi Jianzhou, > I misunderstood C99 ISO, such behaviors are defined not when types > have the same sizes, but when they are same (compatible) types with > signed or qualified extension (this is much stronger than being of > same sizes), or reading char by char: > > 7 An object shall have its stored value accessed only by an lvalue > expression that has one of > the
2019 Mar 22
2
Understand if a condition was true or false
Hi all, I have the condition of an ICmpInst in a variable called condition obtained doing GenericValue condition = getOperandValue(&I, SF); Now I would like to understand if the comparison was true or false. Is it correct to use condition.IntVal.getSExtValue() and if the value is 0 consider the true and if the value is -1 consider the condition false? I'm not sure because I was expecting something different and I'...
2020 Jan 03
3
Interpreter crash due to an "Unknown constant pointer type!"
...cator<char> > const&, bool) /home/al/llvm-9.0.0.src/lib/Support/ErrorHandling.cpp:218:0 #8 0x0000564bacfc2e5a llvm::ExecutionEngine::getConstantValue(llvm::Constant const*) /home/al/llvm-9.0.0.src/lib/ExecutionEngine/ExecutionEngine.cpp:1013:0 #9 0x0000564bacfeb873 llvm::Interpreter::getOperandValue(llvm::Value*, llvm::ExecutionContext&) /home/al/llvm-9.0.0.src/lib/ExecutionEngine/Interpreter/Execution.cpp:2108:0 #10 0x0000564bacfe548a llvm::Interpreter::visitStoreInst(llvm::StoreInst&) /home/al/llvm-9.0.0.src/lib/ExecutionEngine/Interpreter/Execution.cpp:1105:0 #11 0x0000564bacfee32f...
2020 Feb 10
2
Interpreter crash due to an "Unknown constant pointer type!"
...> /home/al/llvm-9.0.0.src/lib/Support/ErrorHandling.cpp:218:0 >> #8 0x0000564bacfc2e5a >> llvm::ExecutionEngine::getConstantValue(llvm::Constant const*) >> /home/al/llvm-9.0.0.src/lib/ExecutionEngine/ExecutionEngine.cpp:1013:0 >> #9 0x0000564bacfeb873 llvm::Interpreter::getOperandValue(llvm::Value*, >> llvm::ExecutionContext&) >> /home/al/llvm-9.0.0.src/lib/ExecutionEngine/Interpreter/Execution.cpp:2108:0 >> #10 0x0000564bacfe548a >> llvm::Interpreter::visitStoreInst(llvm::StoreInst&) >> /home/al/llvm-9.0.0.src/lib/ExecutionEngine/Interpreter...
2019 Jan 20
3
(no subject)
Hi all, I have the following C code: #include<stdio.h> int main(int argc, char *argv[]) { printf("%s\n", argv[0]); return argc; } that generates the following IR for the main function: ; Function Attrs: noinline nounwind optnone uwtable define i32 @main(i32, i8**) #0 { %3 = alloca i32, align 4 %4 = alloca i32, align 4 %5 = alloca i8**, align 8 store i32 0, i32*
2020 Feb 01
0
Interpreter crash due to an "Unknown constant pointer type!"
...vm-9.0.0.src/lib/Support/ErrorHandling.cpp:218:0 >>> #8 0x0000564bacfc2e5a >>> llvm::ExecutionEngine::getConstantValue(llvm::Constant const*) >>> /home/al/llvm-9.0.0.src/lib/ExecutionEngine/ExecutionEngine.cpp:1013:0 >>> #9 0x0000564bacfeb873 llvm::Interpreter::getOperandValue(llvm::Value*, >>> llvm::ExecutionContext&) >>> /home/al/llvm-9.0.0.src/lib/ExecutionEngine/Interpreter/Execution.cpp:2108:0 >>> #10 0x0000564bacfe548a >>> llvm::Interpreter::visitStoreInst(llvm::StoreInst&) >>> /home/al/llvm-9.0.0.src/lib/Executi...
2019 Dec 24
2
Interpreter crash due to an "Unknown constant pointer type!"
Hi David, In pretty sure that the crash is due to the instruction I have shared in my first email. In order to run pngpixel you just need libpng and zlib.. honest I thought that the .bc had Al the necessary. I'm happy to help you to reproduce it. As a curiosity, why do you think you cannot reproduce it? Unfortunately I won't be able to modify the interpreter soon.. anyway, I'll try to