search for: test3_addrspacecast

Displaying 3 results from an estimated 3 matches for "test3_addrspacecast".

2017 Jan 03
2
Optimisation passes introducing address space casts
...t the load is performed through addrspace(2). >> >> >> Based on this comment, I am suspicious of the validity of a couple of existing instcombine regression tests in `memcpy-from-global.ll`. Specifically, there are two tests that look like this: >> >> define void @test3_addrspacecast() { >> %A = alloca %T >> %a = bitcast %T* %A to i8* >> call void @llvm.memcpy.p0i8.p1i8.i64(i8* %a, i8 addrspace(1)* addrspacecast (%T* @G to i8 addrspace(1)*), i64 124, i32 4, i1 false) >> call void @bar(i8* %a) readonly >> ; CHECK-LABEL: @test3_addr...
2017 Jan 02
3
Optimisation passes introducing address space casts
...we are just failing to keep the property that the load is performed through addrspace(2). Based on this comment, I am suspicious of the validity of a couple of existing instcombine regression tests in `memcpy-from-global.ll`. Specifically, there are two tests that look like this: define void @test3_addrspacecast() { %A = alloca %T %a = bitcast %T* %A to i8* call void @llvm.memcpy.p0i8.p1i8.i64(i8* %a, i8 addrspace(1)* addrspacecast (%T* @G to i8 addrspace(1)*), i64 124, i32 4, i1 false) call void @bar(i8* %a) readonly ; CHECK-LABEL: @test3_addrspacecast( ; CHECK-NEXT: call void @bar(i8*...
2016 Nov 09
2
Optimisation passes introducing address space casts
Hi, I’ve recently encountered an issue where the `instcombine` pass replaces an `llvm.memcpy` between two distinct address spaces with an `addrspacecast` instruction. As an example, see the trivial OpenCL kernel attached. I’m compiling like this: clang -cc1 -triple spir64-unknown-unknown -x cl -O0 -emit-llvm array_init.cl -o before.ll This yields an `llvm.memcpy` to copy the array