[clang] [HLSL][SPIRV] Add vk::constant_id attribute. (PR #143544)
Steven Perron via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 11 07:56:01 PDT 2025
================
@@ -774,6 +775,77 @@ Value *CodeGenFunction::EmitHLSLBuiltinExpr(unsigned BuiltinID,
return EmitRuntimeCall(
Intrinsic::getOrInsertDeclaration(&CGM.getModule(), ID));
}
+ case Builtin::BI__builtin_get_spirv_spec_constant_bool:
+ case Builtin::BI__builtin_get_spirv_spec_constant_short:
+ case Builtin::BI__builtin_get_spirv_spec_constant_ushort:
+ case Builtin::BI__builtin_get_spirv_spec_constant_int:
+ case Builtin::BI__builtin_get_spirv_spec_constant_uint:
+ case Builtin::BI__builtin_get_spirv_spec_constant_longlong:
+ case Builtin::BI__builtin_get_spirv_spec_constant_ulonglong:
+ case Builtin::BI__builtin_get_spirv_spec_constant_half:
+ case Builtin::BI__builtin_get_spirv_spec_constant_float:
+ case Builtin::BI__builtin_get_spirv_spec_constant_double: {
----------------
s-perron wrote:
Maybe, but I like this method because it becomes impossible to create calls to the builtin with invalid types. wave_read_lane_at is defined with a prototype: `void(...)`. I believe we can add type checking in other places, but I feel this is more robust.
https://github.com/llvm/llvm-project/pull/143544
More information about the cfe-commits
mailing list