IRBuilder<> B(BB);
llvm::SmallVector<Value *> Args;
// FIXME: support struct parameters where semantics are on members.
+ // See: https://github.com/llvm/llvm-project/issues/57874
for (const auto *Param : FD->parameters()) {
Args.push_back(emitInputSemantic(B, *Param));
}
CallInst *CI = B.CreateCall(FunctionCallee(Fn), Args);
(void)CI;
// FIXME: Handle codegen for return type semantics.
+ // See: https://github.com/llvm/llvm-project/issues/57875
B.CreateRetVoid();
}
}
// FIXME: add validation for enable_16bit_types should be after HLSL 2018 and
// shader model 6.2.
+ // See: https://github.com/llvm/llvm-project/issues/57876
return DAL;
}
for (const auto *Param : FD->parameters()) {
if (!Param->hasAttr<HLSLAnnotationAttr>()) {
// FIXME: Handle struct parameters where annotations are on struct fields.
+ // See: https://github.com/llvm/llvm-project/issues/57875
Diag(FD->getLocation(), diag::err_hlsl_missing_semantic_annotation);
Diag(Param->getLocation(), diag::note_previous_decl) << Param;
FD->setInvalidDecl();
// RUN: %clang -cc1 -S -triple dxil-pc-shadermodel6.3-library -S -emit-llvm -xhlsl -validator-version 1.1 -o - %s | FileCheck %s
// FIXME:The following line should work once SPIR-V support for HLSL is added.
+// See: https://github.com/llvm/llvm-project/issues/57877
// DISABLED: %clang -cc1 -S -triple spirv32 -S -emit-llvm -xhlsl -validator-version 1.1 -o - %s | FileCheck %s --check-prefix=NOT_DXIL
// CHECK:!dx.valver = !{![[valver:[0-9]+]]}