Anastasia added inline comments. ================ Comment at: include/clang/Basic/DiagnosticSemaKinds.td:7868 @@ +7867,3 @@ +def warn_sampler_initializer_invalid_bits : Warning< + "Sampler initializer has invalid %0 bits">, InGroup<SpirCompat>; +def err_sampler_initializer_not_constant : Error< ---------------- start in lower case as all other messages!
================ Comment at: lib/CodeGen/CGExprConstant.cpp:694 @@ +693,3 @@ + case CK_IntToOCLSampler: + llvm_unreachable("global sampler variables are not generated"); + ---------------- Does this only apply to global variable samplers? ================ Comment at: lib/CodeGen/CodeGenModule.cpp:4309 @@ +4308,3 @@ + // in SPIR spec v1.2 and also opencl-c.h + unsigned AddressingMode = (0x0E & SamplerValue) >> 1; + unsigned FilterMode = (0x30 & SamplerValue) >> 4; ---------------- Seems like this code is specific to SPIR and not OpenCL? ================ Comment at: lib/Sema/SemaInit.cpp:6907 @@ -6906,3 +6907,1 @@ case SK_OCLSamplerInit: { - assert(Step->Type->isSamplerT() && - "Sampler initialization on non-sampler type."); ---------------- Is the assert no longer needed? ================ Comment at: lib/Sema/SemaInit.cpp:6909 @@ +6908,3 @@ + Expr *Init = CurInit.get(); + Init->dump(); + QualType SourceType = Init->getType(); ---------------- Debug output? ================ Comment at: test/CodeGenOpenCL/sampler.cl:23 @@ +22,3 @@ + fnc4smp(smp); + // CHECK: [[SAMP:%[0-9]+]] = call %__sampler addrspace(2)* @__translate_sampler_initializer(i32 19) + // CHECK: call spir_func void @fnc4smp(%__sampler addrspace(2)* [[SAMP]]) ---------------- Why does the initialization happen second time here? ================ Comment at: test/CodeGenOpenCL/sampler.cl:26 @@ +25,3 @@ + + fnc4smp(glb_smp); + // CHECK: [[SAMP:%[0-9]+]] = call %__sampler addrspace(2)* @__translate_sampler_initializer(i32 35) ---------------- Could we check definition of global sampler variable in IR too? http://reviews.llvm.org/D21567 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits