[llvm] fe1678d - llvm-reduce: Fix register mask test
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 20 15:19:19 PDT 2022
Author: Matt Arsenault
Date: 2022-07-20T18:19:14-04:00
New Revision: fe1678d1b2bf395b7b1589001f285d26d4013c37
URL: https://github.com/llvm/llvm-project/commit/fe1678d1b2bf395b7b1589001f285d26d4013c37
DIFF: https://github.com/llvm/llvm-project/commit/fe1678d1b2bf395b7b1589001f285d26d4013c37.diff
LOG: llvm-reduce: Fix register mask test
This was sometimes failing with "input module no longer interesting
after counting chunks" assert.
Added:
Modified:
llvm/test/tools/llvm-reduce/mir/reduce-register-masks.mir
llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-reduce/mir/reduce-register-masks.mir b/llvm/test/tools/llvm-reduce/mir/reduce-register-masks.mir
index 396f07a4fe63a..9dc87ae615577 100644
--- a/llvm/test/tools/llvm-reduce/mir/reduce-register-masks.mir
+++ b/llvm/test/tools/llvm-reduce/mir/reduce-register-masks.mir
@@ -9,7 +9,12 @@
# CHECK-INTERESTINGNESS-SAME: $vgpr23,
# CHECK-INTERESTINGNESS-SAME: $vgpr48_vgpr49_vgpr50,
+# CHECK-INTERESTINGNESS: CustomRegMask
+# CHECK-INTERESTINGNESS-SAME: $sgpr35,$sgpr39,$sgpr40,$sgpr60_sgpr61,$sgpr62_sgpr63,$sgpr64_sgpr65,$sgpr80_sgpr81
+
+
# RESULT: $sgpr30_sgpr31 = SI_CALL %0, 0, CustomRegMask($vcc_lo,$agpr8,$sgpr99,$vgpr23,$vgpr48_vgpr49_vgpr50,$vgpr49_vgpr50_vgpr51)
+# RESULT: $sgpr30_sgpr31 = SI_CALL %0, 0, CustomRegMask($sgpr35,$sgpr39,$sgpr40,$sgpr60_sgpr61,$sgpr62_sgpr63,$sgpr64_sgpr65,$sgpr80_sgpr81)
---
name: func
@@ -18,6 +23,9 @@ body: |
bb.0:
liveins: $vgpr0, $vgpr1, $sgpr8_sgpr9
%0:sreg_64_xexec = COPY $sgpr8_sgpr9
+
$sgpr30_sgpr31 = SI_CALL %0:sreg_64_xexec, 0, CustomRegMask($vgpr8_vgpr9, $vgpr9_vgpr10_vgpr11,$vcc_lo,$agpr8,$sgpr99,$vgpr23,$vgpr48_vgpr49_vgpr50,$vgpr49_vgpr50_vgpr51, $vgpr52_vgpr53_vgpr54,$vcc_hi,$sgpr0_sgpr1_sgpr2_sgpr3,$sgpr4_sgpr5_sgpr6_sgpr7)
+ $sgpr30_sgpr31 = SI_CALL %0:sreg_64_xexec, 0, CustomRegMask($sgpr35,$sgpr39,$sgpr40,$sgpr60_sgpr61,$sgpr62_sgpr63,$sgpr64_sgpr65,$sgpr80_sgpr81)
+
S_ENDPGM 0
...
diff --git a/llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp b/llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
index 5cf145aa1a4a9..93d833c6d3335 100644
--- a/llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
+++ b/llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
@@ -42,7 +42,7 @@ static void reduceMasksInFunction(Oracle &O, MachineFunction &MF) {
bool MadeChange = false;
for (unsigned I = 0; I != NumRegs; ++I) {
- if (OldRegMask[I / 32] >> I % 32) {
+ if (OldRegMask[I / 32] & (1u << (I % 32))) {
if (O.shouldKeep())
NewMask[I / 32] |= 1u << (I % 32);
} else
More information about the llvm-commits
mailing list