/external/llvm-project/llvm/test/Transforms/GVN/ |
D | non-integral-pointers.ll | 13 ; CHECK-NEXT: [[LOC_BC:%.*]] = bitcast i64* [[LOC]] to i8 addrspace(4)** 14 ; CHECK-NEXT: [[PTR:%.*]] = load i8 addrspace(4)*, i8 addrspace(4)** [[LOC_BC]], align 8 15 ; CHECK-NEXT: store i8 5, i8 addrspace(4)* [[PTR]], align 1 25 %loc.bc = bitcast i64* %loc to i8 addrspace(4)** 26 %ptr = load i8 addrspace(4)*, i8 addrspace(4)** %loc.bc 27 store i8 5, i8 addrspace(4)* %ptr 34 define i64 @f1(i1 %alwaysFalse, i8 addrspace(4)* %val, i8 addrspace(4)** %loc) { 37 ; CHECK-NEXT: store i8 addrspace(4)* [[VAL:%.*]], i8 addrspace(4)** [[LOC:%.*]], align 8 40 ; CHECK-NEXT: [[LOC_BC:%.*]] = bitcast i8 addrspace(4)** [[LOC]] to i64* 47 store i8 addrspace(4)* %val, i8 addrspace(4)** %loc [all …]
|
/external/llvm-project/llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/ |
D | pointer-elements.ll | 9 ; CHECK: inttoptr i64 %{{[^ ]+}} to i8 addrspace(1)* 10 ; CHECK: inttoptr i64 %{{[^ ]+}} to i8 addrspace(1)* 12 …efine amdgpu_kernel void @merge_v2p1i8(i8 addrspace(1)* addrspace(1)* nocapture %a, i8 addrspace(1… 14 %a.1 = getelementptr inbounds i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %a, i64 1 15 %b.1 = getelementptr inbounds i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %b, i64 1 17 %ld.c = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %b, align 4 18 %ld.c.idx.1 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %b.1, align 4 20 store i8 addrspace(1)* null, i8 addrspace(1)* addrspace(1)* %a, align 4 21 store i8 addrspace(1)* null, i8 addrspace(1)* addrspace(1)* %a.1, align 4 28 ; CHECK: inttoptr i32 %{{[^ ]+}} to i8 addrspace(3)* [all …]
|
D | merge-stores.ll | 12 ; CHECK: store <2 x i8> <i8 -56, i8 123>, <2 x i8> addrspace(1)* %{{[0-9]+}}, align 2 13 define amdgpu_kernel void @merge_global_store_2_constants_i8(i8 addrspace(1)* %out) #0 { 14 %out.gep.1 = getelementptr i8, i8 addrspace(1)* %out, i32 1 16 store i8 123, i8 addrspace(1)* %out.gep.1 17 store i8 456, i8 addrspace(1)* %out, align 2 23 define amdgpu_kernel void @merge_global_store_2_constants_i8_natural_align(i8 addrspace(1)* %out) #… 24 %out.gep.1 = getelementptr i8, i8 addrspace(1)* %out, i32 1 26 store i8 123, i8 addrspace(1)* %out.gep.1 27 store i8 456, i8 addrspace(1)* %out 32 ; CHECK: store <2 x i16> <i16 456, i16 123>, <2 x i16> addrspace(1)* %{{[0-9]+}}, align 4 [all …]
|
/external/llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/ |
D | pointer-elements.ll | 9 ; CHECK: inttoptr i64 %{{[0-9]+}} to i8 addrspace(1)* 10 ; CHECK: inttoptr i64 %{{[0-9]+}} to i8 addrspace(1)* 12 define void @merge_v2p1i8(i8 addrspace(1)* addrspace(1)* nocapture %a, i8 addrspace(1)* addrspace(1… 14 %a.1 = getelementptr inbounds i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %a, i64 1 15 %b.1 = getelementptr inbounds i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %b, i64 1 17 %ld.c = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %b, align 4 18 %ld.c.idx.1 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %b.1, align 4 20 store i8 addrspace(1)* null, i8 addrspace(1)* addrspace(1)* %a, align 4 21 store i8 addrspace(1)* null, i8 addrspace(1)* addrspace(1)* %a.1, align 4 28 ; CHECK: inttoptr i32 %{{[0-9]+}} to i8 addrspace(3)* [all …]
|
D | merge-stores.ll | 12 ; CHECK: store <2 x i8> <i8 -56, i8 123>, <2 x i8> addrspace(1)* %{{[0-9]+}}, align 2 13 define void @merge_global_store_2_constants_i8(i8 addrspace(1)* %out) #0 { 14 %out.gep.1 = getelementptr i8, i8 addrspace(1)* %out, i32 1 16 store i8 123, i8 addrspace(1)* %out.gep.1 17 store i8 456, i8 addrspace(1)* %out, align 2 23 define void @merge_global_store_2_constants_i8_natural_align(i8 addrspace(1)* %out) #0 { 24 %out.gep.1 = getelementptr i8, i8 addrspace(1)* %out, i32 1 26 store i8 123, i8 addrspace(1)* %out.gep.1 27 store i8 456, i8 addrspace(1)* %out 32 ; CHECK: store <2 x i16> <i16 456, i16 123>, <2 x i16> addrspace(1)* %{{[0-9]+}}, align 4 [all …]
|
/external/llvm-project/llvm/test/CodeGen/AVR/ |
D | jmp-long.ll | 8 declare void @bar() addrspace(1) 10 define void @foo() addrspace(1) { 14 tail call addrspace(0) void asm sideeffect "nop", ""() 15 tail call addrspace(0) void asm sideeffect "nop", ""() 16 tail call addrspace(0) void asm sideeffect "nop", ""() 17 tail call addrspace(0) void asm sideeffect "nop", ""() 18 tail call addrspace(0) void asm sideeffect "nop", ""() 19 tail call addrspace(0) void asm sideeffect "nop", ""() 20 tail call addrspace(0) void asm sideeffect "nop", ""() 21 tail call addrspace(0) void asm sideeffect "nop", ""() [all …]
|
/external/llvm-project/llvm/test/Transforms/InstSimplify/ |
D | simplify-nested-bitcast.ll | 2 %0 = type { i64, i64, i8 addrspace(1)*, i8 addrspace(1)* } 3 …8*, %struct.__block_descriptor addrspace(1)* }, %0, [17 x i8], { i8**, i32, i32, i8*, %struct.__bl… 5 %struct.__block_literal_generic = type { i8*, i32, i32, i8*, %struct.__block_descriptor addrspace(1… 7 @__aaa_struct_ptr = external addrspace(1) global %__aaa_struct 8 …addrspace(1)* } { i8** null, i32 1342177280, i32 0, i8* bitcast (i32 (i8 addrspace(4)*, i32 addrsp… 11 define i32 @bl0_block_invoke(i8 addrspace(4)* nocapture readnone, i32 addrspace(1)* nocapture reado… 13 %2 = load i32, i32 addrspace(1)* %1, align 4 19 define i32 @f0(i32 addrspace(1)*, i32 (i32 addrspace(1)*) addrspace(4)*) #1 { 21 …%block.literal = bitcast i32 (i32 addrspace(1)*) addrspace(4)* %1 to %struct.__block_literal_gener… 22 …bounds %struct.__block_literal_generic, %struct.__block_literal_generic addrspace(4)* %block.liter… [all …]
|
/external/llvm-project/llvm/test/CodeGen/AMDGPU/ |
D | amdgpu-alias-analysis.ll | 4 ; CHECK: NoAlias: i8 addrspace(1)* %p1, i8 addrspace(5)* %p 6 define void @test(i8 addrspace(5)* %p, i8 addrspace(1)* %p1) { 10 ; CHECK: MayAlias: i8 addrspace(1)* %p1, i8 addrspace(4)* %p 12 define void @test_constant_vs_global(i8 addrspace(4)* %p, i8 addrspace(1)* %p1) { 16 ; CHECK: MayAlias: i8 addrspace(1)* %p, i8 addrspace(4)* %p1 18 define void @test_global_vs_constant(i8 addrspace(1)* %p, i8 addrspace(4)* %p1) { 22 ; CHECK: MayAlias: i8 addrspace(1)* %p1, i8 addrspace(6)* %p 24 define void @test_constant_32bit_vs_global(i8 addrspace(6)* %p, i8 addrspace(1)* %p1) { 28 ; CHECK: MayAlias: i8 addrspace(4)* %p1, i8 addrspace(6)* %p 30 define void @test_constant_32bit_vs_constant(i8 addrspace(6)* %p, i8 addrspace(4)* %p1) { [all …]
|
D | captured-frame-index.ll | 6 define amdgpu_kernel void @store_fi_lifetime(i32 addrspace(1)* %out, i32 %in) #0 { 8 %b = alloca i8, addrspace(5) 9 call void @llvm.lifetime.start.p5i8(i64 1, i8 addrspace(5)* %b) 10 store volatile i8 addrspace(5)* %b, i8 addrspace(5)* addrspace(1)* undef 11 call void @llvm.lifetime.end.p5i8(i64 1, i8 addrspace(5)* %b) 21 define amdgpu_kernel void @stored_fi_to_lds(float addrspace(5)* addrspace(3)* %ptr) #0 { 22 %tmp = alloca float, addrspace(5) 23 store float 4.0, float addrspace(5)*%tmp 24 store float addrspace(5)* %tmp, float addrspace(5)* addrspace(3)* %ptr 41 define amdgpu_kernel void @stored_fi_to_lds_2_small_objects(float addrspace(5)* addrspace(3)* %ptr)… [all …]
|
D | addrspacecast-constantexpr.ll | 3 declare void @llvm.memcpy.p1i32.p4i32.i32(i32 addrspace(1)* nocapture, i32 addrspace(4)* nocapture,… 5 @lds.i32 = unnamed_addr addrspace(3) global i32 undef, align 4 6 @lds.arr = unnamed_addr addrspace(3) global [256 x i32] undef, align 4 8 @global.i32 = unnamed_addr addrspace(1) global i32 undef, align 4 9 @global.arr = unnamed_addr addrspace(1) global [256 x i32] undef, align 4 13 store i32 7, i32 addrspace(3)* addrspacecast (i32 addrspace(4)* null to i32 addrspace(3)*) 19 store i32 7, i32 addrspace(4)* addrspacecast (i32 addrspace(3)* null to i32 addrspace(4)*) 25 store i32 7, i32 addrspace(4)* addrspacecast (i32 addrspace(3)* @lds.i32 to i32 addrspace(4)*) 31 … i32 addrspace(4)* getelementptr ([256 x i32], [256 x i32] addrspace(4)* addrspacecast ([256 x i32… 37 store i32 7, i32 addrspace(4)* addrspacecast (i32 addrspace(1)* @global.i32 to i32 addrspace(4)*) [all …]
|
D | lower-kernargs.ll | 20 …_I8_KERNARG_SEGMENT:%.*]] = call nonnull align 16 dereferenceable(4) i8 addrspace(4)* @llvm.amdgcn… 21 ; HSA-NEXT: [[ARG_KERNARG_OFFSET_ALIGN_DOWN:%.*]] = getelementptr inbounds i8, i8 addrspace(4)* … 22 …G_OFFSET_ALIGN_DOWN_CAST:%.*]] = bitcast i8 addrspace(4)* [[ARG_KERNARG_OFFSET_ALIGN_DOWN]] to i32… 23 ; HSA-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(4)* [[ARG_KERNARG_OFFSET_ALIGN_DOWN_CAST]], a… 25 ; HSA-NEXT: store i8 [[TMP2]], i8 addrspace(1)* undef, align 1 29 …I8_KERNARG_SEGMENT:%.*]] = call nonnull align 16 dereferenceable(40) i8 addrspace(4)* @llvm.amdgcn… 30 ; MESA-NEXT: [[ARG_KERNARG_OFFSET_ALIGN_DOWN:%.*]] = getelementptr inbounds i8, i8 addrspace(4)*… 31 …G_OFFSET_ALIGN_DOWN_CAST:%.*]] = bitcast i8 addrspace(4)* [[ARG_KERNARG_OFFSET_ALIGN_DOWN]] to i32… 32 ; MESA-NEXT: [[TMP1:%.*]] = load i32, i32 addrspace(4)* [[ARG_KERNARG_OFFSET_ALIGN_DOWN_CAST]], … 34 ; MESA-NEXT: store i8 [[TMP2]], i8 addrspace(1)* undef, align 1 [all …]
|
D | schedule-regpressure-limit3.ll | 7 define amdgpu_kernel void @load_fma_store(float addrspace(3)* nocapture readonly %arg, float addrsp… 9 %tmp = getelementptr inbounds float, float addrspace(3)* %arg, i32 1 10 %tmp2 = load float, float addrspace(3)* %tmp, align 4 11 %tmp3 = getelementptr inbounds float, float addrspace(3)* %arg, i32 2 12 %tmp4 = load float, float addrspace(3)* %tmp3, align 4 13 %tmp5 = getelementptr inbounds float, float addrspace(3)* %arg, i32 3 14 %tmp6 = load float, float addrspace(3)* %tmp5, align 4 16 %tmp8 = getelementptr inbounds float, float addrspace(3)* %arg, i32 5 17 %tmp9 = load float, float addrspace(3)* %tmp8, align 4 18 %tmp10 = getelementptr inbounds float, float addrspace(3)* %arg, i32 6 [all …]
|
D | schedule-regpressure-limit.ll | 8 define amdgpu_kernel void @load_fma_store(float addrspace(3)* nocapture readonly %arg, float addrsp… 10 %tmp = getelementptr inbounds float, float addrspace(3)* %arg, i32 1 11 %tmp2 = load float, float addrspace(3)* %tmp, align 4 12 %tmp3 = getelementptr inbounds float, float addrspace(3)* %arg, i32 2 13 %tmp4 = load float, float addrspace(3)* %tmp3, align 4 14 %tmp5 = getelementptr inbounds float, float addrspace(3)* %arg, i32 3 15 %tmp6 = load float, float addrspace(3)* %tmp5, align 4 17 %tmp8 = getelementptr inbounds float, float addrspace(3)* %arg, i32 5 18 %tmp9 = load float, float addrspace(3)* %tmp8, align 4 19 %tmp10 = getelementptr inbounds float, float addrspace(3)* %arg, i32 6 [all …]
|
D | schedule-ilp.ll | 5 define amdgpu_kernel void @load_fma_store(float addrspace(3)* nocapture readonly %arg, float addrsp… 7 %tmp = getelementptr inbounds float, float addrspace(3)* %arg, i32 1 8 %tmp2 = load float, float addrspace(3)* %tmp, align 4 9 %tmp3 = getelementptr inbounds float, float addrspace(3)* %arg, i32 2 10 %tmp4 = load float, float addrspace(3)* %tmp3, align 4 11 %tmp5 = getelementptr inbounds float, float addrspace(3)* %arg, i32 3 12 %tmp6 = load float, float addrspace(3)* %tmp5, align 4 14 %tmp8 = getelementptr inbounds float, float addrspace(3)* %arg, i32 5 15 %tmp9 = load float, float addrspace(3)* %tmp8, align 4 16 %tmp10 = getelementptr inbounds float, float addrspace(3)* %arg, i32 6 [all …]
|
D | image-resource-id.ll | 10 define amdgpu_kernel void @test_2d_rd_1_0(%opencl.image2d_t addrspace(1)* %in, ; read_only 11 i32 addrspace(1)* %out) { 14 %opencl.image2d_t addrspace(1)* %in) #0 15 store i32 %0, i32 addrspace(1)* %out 24 define amdgpu_kernel void @test_3d_rd_1_0(%opencl.image3d_t addrspace(1)* %in, ; read_only 25 i32 addrspace(1)* %out) { 28 %opencl.image3d_t addrspace(1)* %in) #0 29 store i32 %0, i32 addrspace(1)* %out 40 define amdgpu_kernel void @test_2d_wr_1_0(%opencl.image2d_t addrspace(1)* %in, ; write_only 41 i32 addrspace(1)* %out) { [all …]
|
/external/llvm-project/llvm/test/Assembler/ |
D | 2007-12-11-AddressSpaces.ll | 1 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(33)" | count 7 2 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(42)" | count 2 3 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(66)" | count 2 4 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(11)" | count 6 5 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(22)" | count 5 8 %struct.mystruct = type { i32, i32 addrspace(33)*, i32, i32 addrspace(33)* } 9 @input = weak addrspace(42) global %struct.mystruct zeroinitializer ; <%struct.mystruct addrspac… 10 @output = addrspace(66) global %struct.mystruct zeroinitializer ; <%struct.mystruct addrspace(66)… 11 @y = external addrspace(33) global i32 addrspace(11)* addrspace(22)* ; <i32 addrspace(11)* addrsp… 15 …addrspace(33)*, i32 addrspace(33)* addrspace(42)* getelementptr (%struct.mystruct, %struct.mystruc… [all …]
|
/external/llvm/test/Assembler/ |
D | 2007-12-11-AddressSpaces.ll | 1 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(33)" | count 7 2 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(42)" | count 2 3 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(66)" | count 2 4 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(11)" | count 6 5 ; RUN: llvm-as < %s | llvm-dis | grep "addrspace(22)" | count 5 8 %struct.mystruct = type { i32, i32 addrspace(33)*, i32, i32 addrspace(33)* } 9 @input = weak addrspace(42) global %struct.mystruct zeroinitializer ; <%struct.mystruct addrspac… 10 @output = addrspace(66) global %struct.mystruct zeroinitializer ; <%struct.mystruct addrspace(66)… 11 @y = external addrspace(33) global i32 addrspace(11)* addrspace(22)* ; <i32 addrspace(11)* addrsp… 15 …addrspace(33)*, i32 addrspace(33)* addrspace(42)* getelementptr (%struct.mystruct, %struct.mystruc… [all …]
|
/external/llvm/test/CodeGen/AMDGPU/ |
D | addrspacecast-constantexpr.ll | 3 declare void @llvm.memcpy.p1i32.p4i32.i32(i32 addrspace(1)* nocapture, i32 addrspace(4)* nocapture,… 5 @lds.i32 = unnamed_addr addrspace(3) global i32 undef, align 4 6 @lds.arr = unnamed_addr addrspace(3) global [256 x i32] undef, align 4 8 @global.i32 = unnamed_addr addrspace(1) global i32 undef, align 4 9 @global.arr = unnamed_addr addrspace(1) global [256 x i32] undef, align 4 13 store i32 7, i32 addrspace(3)* addrspacecast (i32 addrspace(4)* null to i32 addrspace(3)*) 19 store i32 7, i32 addrspace(4)* addrspacecast (i32 addrspace(3)* null to i32 addrspace(4)*) 25 store i32 7, i32 addrspace(4)* addrspacecast (i32 addrspace(3)* @lds.i32 to i32 addrspace(4)*) 31 … i32 addrspace(4)* getelementptr ([256 x i32], [256 x i32] addrspace(4)* addrspacecast ([256 x i32… 37 store i32 7, i32 addrspace(4)* addrspacecast (i32 addrspace(1)* @global.i32 to i32 addrspace(4)*) [all …]
|
D | image-resource-id.ll | 10 define void @test_2d_rd_1_0(%opencl.image2d_t addrspace(1)* %in, ; read_only 11 i32 addrspace(1)* %out) { 14 %opencl.image2d_t addrspace(1)* %in) #0 15 store i32 %0, i32 addrspace(1)* %out 24 define void @test_3d_rd_1_0(%opencl.image3d_t addrspace(1)* %in, ; read_only 25 i32 addrspace(1)* %out) { 28 %opencl.image3d_t addrspace(1)* %in) #0 29 store i32 %0, i32 addrspace(1)* %out 40 define void @test_2d_wr_1_0(%opencl.image2d_t addrspace(1)* %in, ; write_only 41 i32 addrspace(1)* %out) { [all …]
|
/external/llvm-project/llvm/test/Transforms/SROA/ |
D | alloca-address-space.ll | 5 declare void @llvm.memcpy.p2i8.p2i8.i32(i8 addrspace(2)* nocapture, i8 addrspace(2)* nocapture read… 6 declare void @llvm.memcpy.p1i8.p2i8.i32(i8 addrspace(1)* nocapture, i8 addrspace(2)* nocapture read… 7 declare void @llvm.memcpy.p2i8.p1i8.i32(i8 addrspace(2)* nocapture, i8 addrspace(1)* nocapture read… 8 declare void @llvm.memcpy.p1i8.p1i8.i32(i8 addrspace(1)* nocapture, i8 addrspace(1)* nocapture read… 13 ; CHECK: load <2 x i64>, <2 x i64> addrspace(1)* %a, align 2 14 ; CHECK: store <2 x i64> {{.*}}, <2 x i64> addrspace(1)* {{.*}}, align 2 16 define void @test_address_space_1_1(<2 x i64> addrspace(1)* %a, i16 addrspace(1)* %b) { 17 %aa = alloca <2 x i64>, align 16, addrspace(2) 18 %aptr = bitcast <2 x i64> addrspace(1)* %a to i8 addrspace(1)* 19 %aaptr = bitcast <2 x i64> addrspace(2)* %aa to i8 addrspace(2)* [all …]
|
/external/llvm-project/llvm/test/Transforms/LoopVectorize/X86/ |
D | pr23997.ll | 8 define void @foo(i8 addrspace(1)* align 8 dereferenceable_or_null(16), i8 addrspace(1)* align 8 der… 13 ; CHECK-NEXT: [[DOT10:%.*]] = getelementptr inbounds i8, i8 addrspace(1)* [[TMP0:%.*]], i64 16 14 ; CHECK-NEXT: [[DOT11:%.*]] = bitcast i8 addrspace(1)* [[DOT10]] to i8 addrspace(1)* addrspace(1… 15 ; CHECK-NEXT: [[DOT12:%.*]] = getelementptr inbounds i8, i8 addrspace(1)* [[TMP1:%.*]], i64 16 16 ; CHECK-NEXT: [[DOT13:%.*]] = bitcast i8 addrspace(1)* [[DOT12]] to i8 addrspace(1)* addrspace(1… 26 ; CHECK-NEXT: [[SCEVGEP:%.*]] = getelementptr i8, i8 addrspace(1)* [[TMP0]], i64 [[TMP6]] 27 ; CHECK-NEXT: [[SCEVGEP2:%.*]] = getelementptr i8, i8 addrspace(1)* [[TMP1]], i64 [[TMP6]] 28 ; CHECK-NEXT: [[BOUND0:%.*]] = icmp ult i8 addrspace(1)* [[DOT10]], [[SCEVGEP2]] 29 ; CHECK-NEXT: [[BOUND1:%.*]] = icmp ult i8 addrspace(1)* [[DOT12]], [[SCEVGEP]] 37 ; CHECK-NEXT: [[TMP7:%.*]] = getelementptr inbounds i8 addrspace(1)*, i8 addrspace(1)* addrspace… [all …]
|
/external/llvm-project/llvm/test/Transforms/InstCombine/ |
D | addrspacecast.ll | 7 declare void @llvm.memcpy.p0i8.p1i8.i32(i8*, i8 addrspace(1)*, i32, i1) nounwind 8 declare void @llvm.memcpy.p0i8.p2i8.i32(i8*, i8 addrspace(2)*, i32, i1) nounwind 11 define i32* @combine_redundant_addrspacecast(i32 addrspace(1)* %x) nounwind { 13 ; CHECK: addrspacecast i32 addrspace(1)* %x to i32* 15 %y = addrspacecast i32 addrspace(1)* %x to i32 addrspace(3)* 16 %z = addrspacecast i32 addrspace(3)* %y to i32* 20 define <4 x i32*> @combine_redundant_addrspacecast_vector(<4 x i32 addrspace(1)*> %x) nounwind { 22 ; CHECK: addrspacecast <4 x i32 addrspace(1)*> %x to <4 x i32*> 24 %y = addrspacecast <4 x i32 addrspace(1)*> %x to <4 x i32 addrspace(3)*> 25 %z = addrspacecast <4 x i32 addrspace(3)*> %y to <4 x i32*> [all …]
|
D | non-integral-pointers.ll | 7 define i8 addrspace(4)* @f_0() { 9 ; CHECK-NEXT: ret i8 addrspace(4)* getelementptr (i8, i8 addrspace(4)* null, i64 50) 11 %result = getelementptr i8, i8 addrspace(4)* null, i64 50 12 ret i8 addrspace(4)* %result 15 define i8 addrspace(3)* @f_1() { 16 ; inttoptr is fine here since addrspace(3) is integral. 18 ; CHECK-NEXT: ret i8 addrspace(3)* inttoptr (i64 50 to i8 addrspace(3)*) 20 %result = getelementptr i8, i8 addrspace(3)* null, i64 50 21 ret i8 addrspace(3)* %result 24 define void @f_2(i8 addrspace(4)** %ptr0, i8 addrspace(4)** %ptr1) { [all …]
|
/external/llvm/test/Transforms/InstCombine/ |
D | addrspacecast.ll | 7 declare void @llvm.memcpy.p0i8.p1i8.i32(i8*, i8 addrspace(1)*, i32, i32, i1) nounwind 8 declare void @llvm.memcpy.p0i8.p2i8.i32(i8*, i8 addrspace(2)*, i32, i32, i1) nounwind 11 define i32* @combine_redundant_addrspacecast(i32 addrspace(1)* %x) nounwind { 13 ; CHECK: addrspacecast i32 addrspace(1)* %x to i32* 15 %y = addrspacecast i32 addrspace(1)* %x to i32 addrspace(3)* 16 %z = addrspacecast i32 addrspace(3)* %y to i32* 20 define <4 x i32*> @combine_redundant_addrspacecast_vector(<4 x i32 addrspace(1)*> %x) nounwind { 22 ; CHECK: addrspacecast <4 x i32 addrspace(1)*> %x to <4 x i32*> 24 %y = addrspacecast <4 x i32 addrspace(1)*> %x to <4 x i32 addrspace(3)*> 25 %z = addrspacecast <4 x i32 addrspace(3)*> %y to <4 x i32*> [all …]
|
D | constant-fold-address-space-pointer.ll | 4 @g = addrspace(3) global i32 89 6 @const_zero_i8_as1 = addrspace(1) constant i8 0 7 @const_zero_i32_as1 = addrspace(1) constant i32 0 9 @const_zero_i8_as2 = addrspace(2) constant i8 0 10 @const_zero_i32_as2 = addrspace(2) constant i32 0 12 @const_zero_i8_as3 = addrspace(3) constant i8 0 13 @const_zero_i32_as3 = addrspace(3) constant i32 0 17 define i32 addrspace(3)* @test_constant_fold_inttoptr_as_pointer_same_size() { 19 ; CHECK-NEXT: ret i32 addrspace(3)* @const_zero_i32_as3 20 %x = ptrtoint i32 addrspace(3)* @const_zero_i32_as3 to i32 [all …]
|