search for: getforargument

Displaying 8 results from an estimated 8 matches for "getforargument".

2015 Jul 09
2
[LLVMdev] How to use get the memory location of a function argument correctly?
Hi all, i hope to get the MemoryLocation for argument %1 in a CallInst like "call void @function(i32* %1)", and i found an interface "getForArgument()" which seems available for this. However, i don't know how to correcly fill the 3rd argument TargetLibraryInfo in my own code and can't find an example in google. Does anybody know how to do it? Or some other advice for find the correct memory location more conveniently? Thank you v...
2016 Aug 29
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
...(auto I = CS2.arg_begin(), E = CS2.arg_end(); I != E; ++I) { 226 const Value *Arg = *I; 227 if (!Arg->getType()->isPointerTy()) -> 228 continue; 229 unsigned CS2ArgIdx = std::distance(CS2.arg_begin(), I); 230 auto CS2ArgLoc = MemoryLocation::getForArgument(CS2, CS2ArgIdx, TLI); AliasAnalysis.cpp:228 It ignores every argument because they are vectors of pointers, not pointers. I'm surprised this has not broken anything before. It will never say two intrinsics with vectors of pointers mod/ref each other. On Mon, Aug 29, 2016 at 7:36 AM, Davi...
2016 Aug 29
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
...>> ++I) { >> 226 const Value *Arg = *I; >> 227 if (!Arg->getType()->isPointerTy()) >> -> 228 continue; >> 229 unsigned CS2ArgIdx = std::distance(CS2.arg_begin(), I); >> 230 auto CS2ArgLoc = MemoryLocation::getForArgument(CS2, >> CS2ArgIdx, TLI); >> >> AliasAnalysis.cpp:228 >> >> It ignores every argument because they are vectors of pointers, not >> pointers. >> >> >> I'm surprised this has not broken anything before. It will never say two >> intrinsic...
2016 Aug 29
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
...>> 226 const Value *Arg = *I; >>> 227 if (!Arg->getType()->isPointerTy()) >>> -> 228 continue; >>> 229 unsigned CS2ArgIdx = std::distance(CS2.arg_begin(), I); >>> 230 auto CS2ArgLoc = MemoryLocation::getForArgument(CS2, >>> CS2ArgIdx, TLI); >>> >>> AliasAnalysis.cpp:228 >>> >>> It ignores every argument because they are vectors of pointers, not >>> pointers. >>> >>> >>> I'm surprised this has not broken anything before. It w...
2016 Aug 30
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
...t; > > > > > > > > > > > > > > > > > 229 unsigned CS2ArgIdx = std::distance(CS2.arg_begin(), I); > > > > > > > > > > > > > > > > > > > > > 230 auto CS2ArgLoc = MemoryLocation::getForArgument(CS2, > > > > > > CS2ArgIdx, > > > > > > TLI); > > > > > > > > > > > > > > > > > > > > > AliasAnalysis.cpp:228 > > > > > > > > > > > > > > > &gt...
2016 Aug 31
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
...t;>>>>> 227 if (!Arg->getType()->isPointerTy()) >>>>>> -> 228 continue; >>>>>> 229 unsigned CS2ArgIdx = std::distance(CS2.arg_begin(), I); >>>>>> 230 auto CS2ArgLoc = MemoryLocation::getForArgument(CS2, >>>>>> CS2ArgIdx, TLI); >>>>>> >>>>>> AliasAnalysis.cpp:228 >>>>>> >>>>>> It ignores every argument because they are vectors of pointers, not >>>>>> pointers. >>>>>> &...
2016 Aug 31
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
...!Arg->getType()->isPointerTy()) >>>>>>> -> 228 continue; >>>>>>> 229 unsigned CS2ArgIdx = std::distance(CS2.arg_begin(), >>>>>>> I); >>>>>>> 230 auto CS2ArgLoc = MemoryLocation::getForArgument(CS2, >>>>>>> CS2ArgIdx, TLI); >>>>>>> >>>>>>> AliasAnalysis.cpp:228 >>>>>>> >>>>>>> It ignores every argument because they are vectors of pointers, not >>>>>>> pointers. &g...
2016 Aug 29
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
Hello everyone, I think I have found an gvn / alias analysis related bug, but before opening an issue on the tracker I wanted to see if I am missing something. I have the following testcase: define spir_kernel void @test(<2 x i32*> %in1, <2 x i32*> %in2, i32* %out) { > entry: > ; Just some temporary storage > %tmp.0 = alloca i32 > %tmp.1 = alloca i32 > %tmp.i =