Skip to content

Commit 4ae896f

Browse files
authored
[AMDGPU] HasOneUse uses (#92534)
#91578 implements `HasOneUse` predicate on `PatFrag`, so this commit uses it within AMDGPU.
1 parent 530d4c9 commit 4ae896f

File tree

1 file changed

+6
-16
lines changed

1 file changed

+6
-16
lines changed

llvm/lib/Target/AMDGPU/AMDGPUInstructions.td

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -168,30 +168,20 @@ def brtarget : Operand<OtherVT>;
168168

169169
class HasOneUseUnaryOp<SDPatternOperator op> : PatFrag<
170170
(ops node:$src0),
171-
(op $src0),
172-
[{ return N->hasOneUse(); }]> {
173-
174-
let GISelPredicateCode = [{
175-
return MRI.hasOneNonDBGUse(MI.getOperand(0).getReg());
176-
}];
171+
(op $src0)> {
172+
let HasOneUse = 1;
177173
}
178174

179175
class HasOneUseBinOp<SDPatternOperator op> : PatFrag<
180176
(ops node:$src0, node:$src1),
181-
(op $src0, $src1),
182-
[{ return N->hasOneUse(); }]> {
183-
let GISelPredicateCode = [{
184-
return MRI.hasOneNonDBGUse(MI.getOperand(0).getReg());
185-
}];
177+
(op $src0, $src1)> {
178+
let HasOneUse = 1;
186179
}
187180

188181
class HasOneUseTernaryOp<SDPatternOperator op> : PatFrag<
189182
(ops node:$src0, node:$src1, node:$src2),
190-
(op $src0, $src1, $src2),
191-
[{ return N->hasOneUse(); }]> {
192-
let GISelPredicateCode = [{
193-
return MRI.hasOneNonDBGUse(MI.getOperand(0).getReg());
194-
}];
183+
(op $src0, $src1, $src2)> {
184+
let HasOneUse = 1;
195185
}
196186

197187
class is_canonicalized_1<SDPatternOperator op> : PatFrag<

0 commit comments

Comments
 (0)