Skip to content

[DirectX] Introduce llvm.dx.handle.fromHeap intrinsic and lowering #91406

@bogner

Description

@bogner

When creating handles for dynamic resources in llvm we'll represent it with a llvm.dx.handle.fromHeap intrinsic that creates a target type. There's more information in #90553 but generally this will look something like so:

; RWStructuredBuffer<float4> Buf = ResourceDescriptorHeap[2];
%buf = call target("dx.Buffer", <4 x f32>, 1, 0)
            @llvm.dx.handle.fromHeap.tdx.Buffer_v4f32_1_0(
                i32 2, i1 false)

This will need to be lowered to createHandleFromHeap + annotateHandle dxil operations.

Depends on:

Acceptance Criteria

  • The llvm intrinsic and dxil operation are defined
  • Emitting dxil will translate the llvm intrinsic to the appropriate dxil ops.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions