Anastasia added inline comments.
================ Comment at: test/CodeGenOpenCL/sampler.cl:62 + + const sampler_t const_smp = CLK_ADDRESS_CLAMP_TO_EDGE | CLK_NORMALIZED_COORDS_TRUE | CLK_FILTER_LINEAR; + // CHECK: [[CONST_SAMP:%[0-9]+]] = call %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35) ---------------- bader wrote: > yaxunl wrote: > > what if address of const_smp is taken and assigned to a pointer to > > sampler_t ? Do we have diagnosis in place? > AFAIK, we have diagnostics for both: > - declaration of a pointer to sampler > - taking address of sampler variable Btw, strangely I don't hit any unreachable and don't seem to have any static variable generated either. I was trying to compile this code on r305798: void fnc4smp(sampler_t s) {} kernel void foo(sampler_t smp_par) { const sampler_t const_smp = 0; fnc4smp(const_smp); } This is the IR which is produced for me: %opencl.sampler_t = type opaque ; Function Attrs: noinline nounwind optnone define spir_func void @fnc4smp(%opencl.sampler_t addrspace(2)* %s) #0 { entry: %s.addr = alloca %opencl.sampler_t addrspace(2)*, align 4 store %opencl.sampler_t addrspace(2)* %s, %opencl.sampler_t addrspace(2)** %s.addr, align 4 ret void } ; Function Attrs: noinline nounwind optnone define spir_kernel void @foo(%opencl.sampler_t addrspace(2)* %smp_par) #0 !kernel_arg_addr_space !4 !kernel_arg_access_qual !5 !kernel_arg_type !6 !kernel_arg_base_type !6 !kernel_arg_type_qual !7 { entry: %smp_par.addr = alloca %opencl.sampler_t addrspace(2)*, align 4 %const_smp = alloca %opencl.sampler_t addrspace(2)*, align 4 store %opencl.sampler_t addrspace(2)* %smp_par, %opencl.sampler_t addrspace(2)** %smp_par.addr, align 4 %0 = call %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 0) store %opencl.sampler_t addrspace(2)* %0, %opencl.sampler_t addrspace(2)** %const_smp, align 4 %1 = load %opencl.sampler_t addrspace(2)*, %opencl.sampler_t addrspace(2)** %const_smp, align 4 call spir_func void @fnc4smp(%opencl.sampler_t addrspace(2)* %1) ret void } declare %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32) https://reviews.llvm.org/D34342 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits