Displaying 20 results from an estimated 69 matches for "bitcastinsts".
Did you mean:
bitcastinst
2015 Jun 18
3
[LLVMdev] problem with replacing an instruction
I am trying to change this
define void @main(float* noalias %arg0, float* noalias %arg1, float*
noalias %arg2) {
entrypoint:
%0 = bitcast float* %arg1 to <4 x float>*
intothis
define void @main(float* noalias %arg0, float* noalias %arg1, float*
noalias %arg2) {
entrypoint:
%0 = getelementptr float* %arg1, i64 0
%1 = bitcast float* %0 to <4 x float>*
I must be close but
2011 Oct 19
2
[LLVMdev] dyn_cast<BitCastInst> fails?
I am trying to dyn_cast a Value* to a BitCastInst. The dump of what I
want casted is "i8* bitcast (i32 (i32)* @f1 to i8*)", so it is a
BitCastInst. For someone my dyn_cast always fails, does anyone see
why?
arg->dump();
BitCastInst *bitcast = dyn_cast<BitCastInst>(arg);
assert(bitcast != NULL);
Thank you
2011 Oct 12
1
[LLVMdev] getting object from BitCastInst?
My pass is looking at StoreInsts acting on global variable that happen
to be function pointers. From these StoreInsts I would like to get
useful information(the function used if a direct assignment, function
pointer used, etc) from the getValueOperand() method. Looking through
several examples I see that this can return several things like:
GlobalVariable, Function, LoadInst or BitCastInst
2010 Jun 12
1
[LLVMdev] Memory leak?
Hi folk,
I get the following stack trace and do have any clue how to fix the problem.
0 opt 0x087ecc99
1 opt 0x087ed265
2 0xb7f6a400 __kernel_sigreturn + 0
3 opt 0x086d4198
llvm::LeakDetector::addGarbageObject(llvm::Value const*) + 29
4 opt 0x0872945f llvm::Instruction::Instruction(llvm::Type
const*, unsigned int,
2013 Apr 16
1
[LLVMdev] Instruction does not dominate all uses
Hi,
I am writing an alias profiler using the points-to relation.
For this I'm inserting a function call of external function with the
following type
profile(int,int,int,void*,void*,...)
I'm trying to pass the dereferenced pointer's memory address and the
address of the location who are in alias set of the pointer.
For this i'm using BitCastInst
BitCastInst *init1= new
2013 Oct 10
0
[LLVMdev] Illegal BitCast assertion failed
Hi there,
I'm having a bit of a problem while trying to create BitCast instructions.
Well, first, I have some very generic functions written in C, for which I
would like to make calls on another C file I'm playing with using an LLVM
Pass. The simplified signature of two of these functions can be seen below:
void write(void* data, unsigned b); // write b bytes starting, at address
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
2011 Oct 20
3
[LLVMdev] common type at compile time?
I'm trying to create a ConstantArray(whose contents will be of types
Function*, GlobalVariable *) so I can immediately create a new
GlobalVariable(that will be in its own section). I'm doing this so I
have these address stored. In order to create this ConstantArray I
need a valid ArrayType, but I'm not sure what to use for the element
type.
I want this to be done at compile time, so I
2011 Oct 20
2
[LLVMdev] common type at compile time?
I'm a bit confused. For the Type did you mean something like:
ArrayType *type = ArrayType::get(Type::getInt8PtrTy(M.getContext()), 4);
This does not work, it gives me ""Wrong type in array element
initializer" at runtime.
Also it doesn't look like ConstantExpr inherits ConstantArray, so I'm
not sure how I could use this instead.
Thanks
On Thu, Oct 20, 2011 at
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
2015 Apr 15
1
[LLVMdev] How to do bitcast for double to <2 x double>
So, you need to bitcast `pinst` to a pointer to Vector of double,
since it (I hope for your sake) is a pointer to integer. What you are
trying to do is bitcast a pointer into a vector, which probably will
lead to an assert or "bad code that doesn't work".
--
Mats
On 15 April 2015 at 21:57, zhi chen <zchenhn at gmail.com> wrote:
> What I want to do is to change the pInst
2011 Oct 20
0
[LLVMdev] common type at compile time?
On 10/20/11 11:34 AM, ret val wrote:
> I'm a bit confused. For the Type did you mean something like:
> ArrayType *type = ArrayType::get(Type::getInt8PtrTy(M.getContext()), 4);
I assume that creates an ArrayType of 4 elements whose elements are
pointers to 8-bit values. If so, then this is what I meant.
> This does not work, it gives me ""Wrong type in array
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,
2013 Nov 23
2
[LLVMdev] GVN fails with bitcasts
Hi,
i have the following code:
define internal %"struct.dexter::ConditionConstant"*
@_ZN6dexter18BinaryConditionAdd8evaluateEv5(%"class.dexter::BinaryConditionAdd"*)
{
entry:
%1 = getelementptr inbounds %"class.dexter::BinaryConditionAdd"* %0, i32
0, i32 0, i32 1
%2 = load %"class.dexter::BaseCondition"** %1, align 8
%3 = bitcast
2011 Mar 14
2
[LLVMdev] How to load a data from the address of unsiged long type
Now I have an address that present in a unsigned long address like the
following format:
Value* addr = CONST(0xc0008000)
But I do not know how to read the data from the above addr varaible. I
tried the following three kind of code:
1. Code:
Value* addr = CONST(0xc0008000);
Value* data = new LoadInst(addr, "", false, bb);
Error:
Segmentation fault
2. Code(
2015 Apr 16
3
[LLVMdev] double* to <2 x double>*
Does anyone know how to instrument *double* to <2 x doulbe>**, e.g., 2.2
--> <2.2, 2.2>?
For example, I want to change the following IR code
%arrayidx1 = getelementptr inbounds [100 x double]* @main.B, i32 0, i32
%i.021
%1 = load double* %arrayidx1, align 4, !tbaa !0
to:
%arrayidx1 = getelementptr inbounds [100 x double]* @main.B, i32 0, i32
%i.021
%1 = bitcast double* %arrayidx1
2010 Sep 30
2
[LLVMdev] strange code behavior when non-prototyped user function are called
I noticed a strange behavior when a non-prototyped user-defined
function is called.
E.g. for the following test.c code segment:
void foo(void);
void bar(void);
void foo(void){
bar();
}
void bar(void){
printf("inside bar()");
}
LLVM-GCC 2.7 -O0 will generate the following code for foo(), which is
all fine.
define void @foo() nounwind {
entry:
* call void @bar() nounwind*
2015 Nov 13
5
How to efficiently extract the calledFunction from a complex CallInst?
Hi all,
Usually if we want to get the called Function we can directly use
CallInst->getCalledFunction(), however, today i encounter an unusual
CallInst as follows:
%call11 = call double (...)* bitcast (double ()* @quantum_frand to double
(...)*)()
the original C source involve type cast:
float u,v;
extern double quantum_frand();
u = 2 * quantum_frand() - 1;
v = 2 * quantum_frand() -
2011 Aug 29
2
[LLVMdev] insertions with inst_iterators?
When I'm iterating through I only directly add BitCastInsts and a
single CallInst(Im assuming the functions I also created are
elsewhere). Unfortunately it doesnt look like theres is a good way to
convert between the the iterator I and a CallInst *. Am I missing
something?
Thanks
On Mon, Aug 29, 2011 at 3:59 PM, David Blaikie <dblaikie at gmail.com>...
2016 Jan 13
2
[GlobalISel] A Proposal for global instruction selection
> Hi Philip,
>
> > I think after reading your link I'm actually more confused. This might just be a wording problem, but let me ask a couple of clarifying questions.
>
> Sorry about that :( Every time I explain this I get slightly more embarassed because it is indeed weird and ugly (but was certainly the least ugly solution).
>
> > 1) After compiling the code