Skip to content

Commit 6fafb98

Browse files
Changes after review
1 parent c72e04d commit 6fafb98

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
@@ -2810,7 +2810,7 @@ def int_amdgcn_image_bvh_dual_intersect_ray :
28102810
Intrinsic<[llvm_v10i32_ty, llvm_v3f32_ty, llvm_v3f32_ty],
28112811
[llvm_i64_ty, llvm_float_ty, llvm_i8_ty, llvm_v3f32_ty,
28122812
llvm_v3f32_ty, llvm_v2i32_ty, llvm_v4i32_ty],
2813-
[IntrReadMem, IntrWillReturn]>;
2813+
[IntrReadMem, IntrWillReturn, IntrNoCallback, IntrNoFree]>;
28142814

28152815
// llvm.amdgcn.permlane16.var <old> <src0> <src1> <fi> <bound_control>
28162816
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
@@ -7214,25 +7214,21 @@ bool AMDGPULegalizerInfo::legalizeBVHDualIntrinsic(MachineInstr &MI,
72147214
NumVAddrDwords);
72157215
assert(Opcode != -1);
72167216

7217-
SmallVector<Register, 12> Ops;
7218-
Ops.push_back(NodePtr);
7219-
Ops.push_back(B.buildMergeLikeInstr(
7220-
V2S32, {RayExtent, B.buildAnyExt(S32, InstanceMask)})
7221-
.getReg(0));
7222-
Ops.push_back(RayOrigin);
7223-
Ops.push_back(RayDir);
7224-
Ops.push_back(Offsets);
7225-
7226-
auto MIB = B.buildInstr(AMDGPU::G_AMDGPU_BVH_DUAL_INTERSECT_RAY)
7227-
.addDef(DstReg)
7228-
.addDef(DstOrigin)
7229-
.addDef(DstDir)
7230-
.addImm(Opcode);
7231-
7232-
for (Register R : Ops)
7233-
MIB.addUse(R);
7234-
7235-
MIB.addUse(TDescr).cloneMemRefs(MI);
7217+
auto RayExtentInstanceMaskVec = B.buildMergeLikeInstr(
7218+
V2S32, {RayExtent, B.buildAnyExt(S32, InstanceMask)});
7219+
7220+
B.buildInstr(AMDGPU::G_AMDGPU_BVH_DUAL_INTERSECT_RAY)
7221+
.addDef(DstReg)
7222+
.addDef(DstOrigin)
7223+
.addDef(DstDir)
7224+
.addImm(Opcode)
7225+
.addUse(NodePtr)
7226+
.addUse(RayExtentInstanceMaskVec.getReg(0))
7227+
.addUse(RayOrigin)
7228+
.addUse(RayDir)
7229+
.addUse(Offsets)
7230+
.addUse(TDescr)
7231+
.cloneMemRefs(MI);
72367232

72377233
MI.eraseFromParent();
72387234
return true;

llvm/lib/Target/AMDGPU/SIISelLowering.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9465,7 +9465,7 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
94659465
NumVAddrDwords);
94669466
assert(Opcode != -1);
94679467

9468-
SmallVector<SDValue, 16> Ops;
9468+
SmallVector<SDValue, 7> Ops;
94699469
Ops.push_back(NodePtr);
94709470
Ops.push_back(DAG.getBuildVector(
94719471
MVT::v2i32, DL,

0 commit comments

Comments
 (0)