================
@@ -674,6 +700,34 @@
BuiltinTypeDeclBuilder::addHandleAccessFunction(DeclarationName &Name,
.finalizeMethod();
}
+BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addAppendMethod() {
+ using PH = BuiltinTypeMethodBuilder::PlaceHolder;
+ ASTContext &AST = SemaRef.getASTContext();
+ QualType ElemTy = getHandleElementType();
+ return BuiltinTypeMethodBuilder(*this, "Append", AST.VoidTy)
+ .addParam("value", ElemTy)
+ .callBuiltin("__builtin_hlsl_buffer_update_counter", AST.UnsignedIntTy,
+ PH::Handle, getConstantIntExpr(1))
+ .callBuiltin("__builtin_hlsl_resource_getpointer",
+ AST.getPointerType(ElemTy), PH::Handle, PH::LastStmtPop)
+ .dereference()
+ .assign(PH::_0)
+ .finalizeMethod();
+}
+
+BuiltinTypeDeclBuilder &BuiltinTypeDeclBuilder::addConsumeMethod() {
+ using PH = BuiltinTypeMethodBuilder::PlaceHolder;
+ ASTContext &AST = SemaRef.getASTContext();
+ QualType ElemTy = getHandleElementType();
+ return BuiltinTypeMethodBuilder(*this, "Consume", ElemTy)
+ .callBuiltin("__builtin_hlsl_buffer_update_counter", AST.UnsignedIntTy,
+ PH::Handle, getConstantIntExpr(1))
----------------
hekota wrote:
Good catch, thank you!
https://github.com/llvm/llvm-project/pull/118536
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits