================
@@ -1063,6 +1063,27 @@ Value *CodeGenFunction::EmitHLSLBuiltinExpr(unsigned
BuiltinID,
return EmitIntrinsicCall(IntrinsicID, {HandleTy, MainHandle->getType()},
Args);
}
+ case Builtin::BI__builtin_hlsl_resource_handlefromheap: {
+ llvm::Type *HandleTy = CGM.getTypes().ConvertType(E->getType());
+ Value *IndexOp = EmitScalarExpr(E->getArg(1));
+ llvm::Intrinsic::ID IntrinsicID =
+ CGM.getHLSLRuntime().getCreateHandleFromHeapIntrinsic();
+ SmallVector<Value *> Args{IndexOp};
+ return Builder.CreateIntrinsic(HandleTy, IntrinsicID, Args);
+ }
+ case Builtin::BI__builtin_hlsl_resource_counterhandlefromheap: {
+ Value *MainHandle = EmitScalarExpr(E->getArg(0));
+ if (!CGM.getTriple().isSPIRV())
+ return MainHandle;
+
+ llvm::Type *HandleTy = CGM.getTypes().ConvertType(E->getType());
+ llvm::Intrinsic::ID IntrinsicID =
+ llvm::Intrinsic::spv_resource_counterhandlefromheap;
+ SmallVector<Value *> Args{MainHandle};
+ return EmitIntrinsicCall(IntrinsicID, {HandleTy, MainHandle->getType()},
+ Args);
----------------
bogner wrote:
Same
https://github.com/llvm/llvm-project/pull/221103
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits