search for: ptr11

Displaying 15 results from an estimated 15 matches for "ptr11".

Did you mean: ptr1
2008 Jul 07
2
[LLVMdev] addrspace attribute and intrisics
Hi, Though I haven't looked into the implementation details, at the high level, I personally think having the address space argument is cleaner than having it encoded as a pointer. The memory barrier places a barrier on the entire address space. When I see the %ptr11 on the memory barrier instruction, my first instinct is to that it is a memory barrier on the region of memory that %ptr11 points to. What are other people opinions? -- Mon Ping On Jul 7, 2008, at 6:36 AM, Benedict Gaster wrote: > Thanks, I can now see that this can be implemented wi...
2008 Jul 07
0
[LLVMdev] addrspace attribute and intrisics
I agree that if we intend that the it is always a complete barrier, but it is possible for a more general memory fence operation that has the ability to place a barrier on the region of memory that %ptr11 points to but in the case that it does not point to a valid address then it is assumed to be a complete barrier for that address space. As sum types are not directly support in LLVM, then this semantics has to be supported with an additional argument describing which injection, i.e. if it...
2008 Jul 07
2
[LLVMdev] addrspace attribute and intrisics
On 2008-07-07, at 05:40, Benedict Gaster wrote: > %r1 = call i32 @llvm.atomic.load.add.p0i32( i32 addrspace(0)* > %ptr0, i32 4) > %r2 = call i32 @llvm.atomic.load.add.p11i32( i32 addrspace(11)* > %ptr11, i32 4) > call void @llvm.memory.barrier(i1 true, i1 true, i1 false, i1 false, > i32 11, i1 false) ; force read-modify-write %ptr11 to complete > > A problem with this approach is that developing a new pass over the > IL that works with address spaces, will have to include knowled...
2008 Jul 07
2
[LLVMdev] addrspace attribute and intrisics
...ge of addresses? -- Mon Ping On Jul 7, 2008, at 12:21 PM, Benedict Gaster wrote: > I agree that if we intend that the it is always a complete barrier, > but it is possible for a more general memory fence operation that has > the ability to place a barrier on the region of memory that %ptr11 > points to but in the case that it does not point to a valid address > then it is assumed to be a complete barrier for that address space. As > sum types are not directly support in LLVM, then this semantics has to > be supported with an additional argument describing which injection,...
2008 Jul 07
0
[LLVMdev] addrspace attribute and intrisics
...Ben On 7 Jul 2008, at 13:43, Gordon Henriksen wrote: > On 2008-07-07, at 05:40, Benedict Gaster wrote: > >> %r1 = call i32 @llvm.atomic.load.add.p0i32( i32 addrspace(0)* >> %ptr0, i32 4) >> %r2 = call i32 @llvm.atomic.load.add.p11i32( i32 addrspace(11)* >> %ptr11, i32 4) >> call void @llvm.memory.barrier(i1 true, i1 true, i1 false, i1 false, >> i32 11, i1 false) ; force read-modify-write %ptr11 to complete >> >> A problem with this approach is that developing a new pass over the >> IL that works with address spaces, will have...
2008 Jul 14
0
[LLVMdev] addrspace attribute and intrisics
...g > > > On Jul 7, 2008, at 12:21 PM, Benedict Gaster wrote: > >> I agree that if we intend that the it is always a complete barrier, >> but it is possible for a more general memory fence operation that has >> the ability to place a barrier on the region of memory that %ptr11 >> points to but in the case that it does not point to a valid address >> then it is assumed to be a complete barrier for that address space. >> As >> sum types are not directly support in LLVM, then this semantics has >> to >> be supported with an additional...
2008 Jul 07
0
[LLVMdev] addrspace attribute and intrisics
..., i1 <ss>, i32 addrspace, i1 <device> ) and we can now write the code: @llvm.atomic.load.add.p0i32 @llvm.atomic.load.add.p11i32 %r1 = call i32 @llvm.atomic.load.add.p0i32( i32 addrspace(0)* %ptr0, i32 4) %r2 = call i32 @llvm.atomic.load.add.p11i32( i32 addrspace(11)* %ptr11, i32 4) call void @llvm.memory.barrier(i1 true, i1 true, i1 false, i1 false, i32 11, i1 false) ; force read-modify-write %ptr11 to complete A problem with this approach is that developing a new pass over the IL that works with address spaces, will have to include knowledge that for certain...
2008 Jul 05
3
[LLVMdev] addrspace attribute and intrisics
Hi, I got pulled off doing other things last week but I plan to get the support for address spaces to the intrinsics this week. As Benedict noted, the problem is that we don't carry the address space information with the intrinsics. Today, we will do an implicit cast to the default address space. My change will prevent that from happening by allowing the intrinsic to have a
2008 Jul 15
2
[LLVMdev] addrspace attribute and intrisics
..., at 12:21 PM, Benedict Gaster wrote: >> >>> I agree that if we intend that the it is always a complete barrier, >>> but it is possible for a more general memory fence operation that >>> has >>> the ability to place a barrier on the region of memory that %ptr11 >>> points to but in the case that it does not point to a valid address >>> then it is assumed to be a complete barrier for that address space. >>> As >>> sum types are not directly support in LLVM, then this semantics has >>> to >>> be supporte...
2008 Jul 15
0
[LLVMdev] addrspace attribute and intrisics
..., at 12:21 PM, Benedict Gaster wrote: >> >>> I agree that if we intend that the it is always a complete barrier, >>> but it is possible for a more general memory fence operation that >>> has >>> the ability to place a barrier on the region of memory that %ptr11 >>> points to but in the case that it does not point to a valid address >>> then it is assumed to be a complete barrier for that address space. >>> As >>> sum types are not directly support in LLVM, then this semantics has >>> to >>> be supporte...
2012 Jan 26
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...pair connections. BBV: selected pairs in the best tree for: %0 = load i8* %r.063, align 1, !tbaa !0 BBV: selected pair: %mul23 = mul nsw i32 %conv14, 234 <-> %mul35 = mul nsw i32 %conv15, 543 BBV: selected pair: %0 = load i8* %r.063, align 1, !tbaa !0 <-> %1 = load i8* %incdec.ptr11, align 1, !tbaa !0 BBV: selected pair: %conv14 = zext i8 %0 to i32 <-> %conv15 = zext i8 %1 to i32 BBV: selected pair: %add26 = add i32 %mul25, %mul23 <-> %add36 = add i32 %mul35, %mul33 BBV: selected pair: %mul = mul nsw i32 %conv14, 123 <-> %mul16 = mul nsw i32 %conv...
2012 Jan 26
3
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Thu, 2012-01-26 at 15:12 -0600, Sebastian Pop wrote: > On Thu, Jan 26, 2012 at 2:49 PM, Hal Finkel <hfinkel at anl.gov> wrote: > > Thanks! Did you compile with any non-default flags other than -mllvm > > -vectorize? > > I used -O3 and -vectorize, no other non-default flags. If I run clang -O3 -mllvm -vectorize -S -emit-llvm -o test.ll test.c then I get no
2012 Jan 26
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Thu, Jan 26, 2012 at 3:41 PM, Hal Finkel <hfinkel at anl.gov> wrote: > On Thu, 2012-01-26 at 15:36 -0600, Sebastian Pop wrote: >> arm-none-linux-gnueabi > > Indeed, adding -ccc-host-triple arm-none-linux-gnueabi I also get Minor remark: please use -target instead of -ccc-host-triple that is now deprecated. Thanks for looking at this testcase. Sebastian -- Qualcomm
2012 Jan 26
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Thu, 2012-01-26 at 15:36 -0600, Sebastian Pop wrote: > arm-none-linux-gnueabi Indeed, adding -ccc-host-triple arm-none-linux-gnueabi I also get vectorization (even though I don't get vectorization when targeting x86_64). I'll let you know what I find. -Hal -- Hal Finkel Postdoctoral Appointee Leadership Computing Facility Argonne National Laboratory
2013 Feb 14
1
[LLVMdev] LiveIntervals analysis problem
...ounds i16* %nan, i32 1 store i16 0, i16* %nan, align 2, !tbaa !5 %incdec.ptr9 = getelementptr inbounds i16* %nan, i32 2 store i16 32767, i16* %incdec.ptr8, align 2, !tbaa !5 %incdec.ptr10 = getelementptr inbounds i16* %nan, i32 3 store i16 0, i16* %incdec.ptr9, align 2, !tbaa !5 %incdec.ptr11 = getelementptr inbounds i16* %nan, i32 4 store i16 -16384, i16* %incdec.ptr10, align 2, !tbaa !5 %incdec.ptr15 = getelementptr inbounds i16* %nan, i32 5 store i16 0, i16* %incdec.ptr11, align 2, !tbaa !5 %incdec.ptr15.1 = getelementptr inbounds i16* %nan, i32 6 store i16 0, i16* %incdec....