[llvm] 5e5e98e - AMDGPU: Cleanup MAIFrag predicate code (#77734)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 11 19:10:01 PST 2024
Author: Matt Arsenault
Date: 2024-01-12T10:09:56+07:00
New Revision: 5e5e98e36e570f017e46ad05245d8561edb734e1
URL: https://github.com/llvm/llvm-project/commit/5e5e98e36e570f017e46ad05245d8561edb734e1
DIFF: https://github.com/llvm/llvm-project/commit/5e5e98e36e570f017e46ad05245d8561edb734e1.diff
LOG: AMDGPU: Cleanup MAIFrag predicate code (#77734)
Move the complex predicates into separate variables.
Added:
Modified:
llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/VOP3PInstructions.td b/llvm/lib/Target/AMDGPU/VOP3PInstructions.td
index e9d6f67aee1644..17921dcddc0e2a 100644
--- a/llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+++ b/llvm/lib/Target/AMDGPU/VOP3PInstructions.td
@@ -593,13 +593,29 @@ class MAIFrag<SDPatternOperator Op, code pred> : PatFrag <
pred
>;
-let GISelPredicateCode = [{ return MF.getInfo<SIMachineFunctionInfo>()->mayNeedAGPRs(); }] in
-class AgprMAIFrag<SDPatternOperator Op> :
- MAIFrag<Op, [{ return MF->getInfo<SIMachineFunctionInfo>()->mayNeedAGPRs(); }]>;
+defvar MayNeedAGPRs = [{
+ return MF->getInfo<SIMachineFunctionInfo>()->mayNeedAGPRs();
+}];
-let GISelPredicateCode = [{ return !MF.getInfo<SIMachineFunctionInfo>()->mayNeedAGPRs(); }] in
-class VgprMAIFrag<SDPatternOperator Op> :
- MAIFrag<Op, [{ return !MF->getInfo<SIMachineFunctionInfo>()->mayNeedAGPRs(); }]>;
+defvar MayNeedAGPRs_gisel = [{
+ return MF.getInfo<SIMachineFunctionInfo>()->mayNeedAGPRs();
+}];
+
+defvar MayNotNeedAGPRs = [{
+ return !MF->getInfo<SIMachineFunctionInfo>()->mayNeedAGPRs();
+}];
+
+defvar MayNotNeedAGPRs_gisel = [{
+ return !MF.getInfo<SIMachineFunctionInfo>()->mayNeedAGPRs();
+}];
+
+class AgprMAIFrag<SDPatternOperator Op> : MAIFrag<Op, MayNeedAGPRs> {
+ let GISelPredicateCode = MayNeedAGPRs_gisel;
+}
+
+class VgprMAIFrag<SDPatternOperator Op> : MAIFrag<Op, MayNotNeedAGPRs> {
+ let GISelPredicateCode = MayNotNeedAGPRs_gisel;
+}
let SubtargetPredicate = HasMAIInsts in {
More information about the llvm-commits
mailing list