Skip to content

Commit a663a71

Browse files
Changes after review
1 parent 9269fa3 commit a663a71

File tree

3 files changed

+17
-21
lines changed

3 files changed

+17
-21
lines changed

llvm/include/llvm/IR/IntrinsicsAMDGPU.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2822,7 +2822,7 @@ def int_amdgcn_image_bvh_dual_intersect_ray :
28222822
Intrinsic<[llvm_v10i32_ty, llvm_v3f32_ty, llvm_v3f32_ty],
28232823
[llvm_i64_ty, llvm_float_ty, llvm_i8_ty, llvm_v3f32_ty,
28242824
llvm_v3f32_ty, llvm_v2i32_ty, llvm_v4i32_ty],
2825-
[IntrReadMem, IntrWillReturn]>;
2825+
[IntrReadMem, IntrWillReturn, IntrNoCallback, IntrNoFree]>;
28262826

28272827
// llvm.amdgcn.permlane16.var <old> <src0> <src1> <fi> <bound_control>
28282828
def int_amdgcn_permlane16_var : ClangBuiltin<"__builtin_amdgcn_permlane16_var">,

llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7229,25 +7229,21 @@ bool AMDGPULegalizerInfo::legalizeBVHDualIntrinsic(MachineInstr &MI,
72297229
NumVAddrDwords);
72307230
assert(Opcode != -1);
72317231

7232-
SmallVector<Register, 12> Ops;
7233-
Ops.push_back(NodePtr);
7234-
Ops.push_back(B.buildMergeLikeInstr(
7235-
V2S32, {RayExtent, B.buildAnyExt(S32, InstanceMask)})
7236-
.getReg(0));
7237-
Ops.push_back(RayOrigin);
7238-
Ops.push_back(RayDir);
7239-
Ops.push_back(Offsets);
7240-
7241-
auto MIB = B.buildInstr(AMDGPU::G_AMDGPU_BVH_DUAL_INTERSECT_RAY)
7242-
.addDef(DstReg)
7243-
.addDef(DstOrigin)
7244-
.addDef(DstDir)
7245-
.addImm(Opcode);
7246-
7247-
for (Register R : Ops)
7248-
MIB.addUse(R);
7249-
7250-
MIB.addUse(TDescr).cloneMemRefs(MI);
7232+
auto RayExtentInstanceMaskVec = B.buildMergeLikeInstr(
7233+
V2S32, {RayExtent, B.buildAnyExt(S32, InstanceMask)});
7234+
7235+
B.buildInstr(AMDGPU::G_AMDGPU_BVH_DUAL_INTERSECT_RAY)
7236+
.addDef(DstReg)
7237+
.addDef(DstOrigin)
7238+
.addDef(DstDir)
7239+
.addImm(Opcode)
7240+
.addUse(NodePtr)
7241+
.addUse(RayExtentInstanceMaskVec.getReg(0))
7242+
.addUse(RayOrigin)
7243+
.addUse(RayDir)
7244+
.addUse(Offsets)
7245+
.addUse(TDescr)
7246+
.cloneMemRefs(MI);
72517247

72527248
MI.eraseFromParent();
72537249
return true;

llvm/lib/Target/AMDGPU/SIISelLowering.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9468,7 +9468,7 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
94689468
NumVAddrDwords);
94699469
assert(Opcode != -1);
94709470

9471-
SmallVector<SDValue, 16> Ops;
9471+
SmallVector<SDValue, 7> Ops;
94729472
Ops.push_back(NodePtr);
94739473
Ops.push_back(DAG.getBuildVector(
94749474
MVT::v2i32, DL,

0 commit comments

Comments
 (0)