[llvm] cc40a46 - [RISCV] Increase EmitPriority on some InstAliases. NFC

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 12 19:34:18 PDT 2024


Author: Craig Topper
Date: 2024-09-12T19:33:59-07:00
New Revision: cc40a461df1b67dc84ed0334e2818ef8d14f04f5

URL: https://github.com/llvm/llvm-project/commit/cc40a461df1b67dc84ed0334e2818ef8d14f04f5
DIFF: https://github.com/llvm/llvm-project/commit/cc40a461df1b67dc84ed0334e2818ef8d14f04f5.diff

LOG: [RISCV] Increase EmitPriority on some InstAliases. NFC

Use EmitPriority instead of relying on file ordering when there
are multiple InstAliases for the same instruction.

Enhance tests to check that we are printing the alias correctly
by checking to end of line.
Remove -no-aliases from some RUN lines that expect to check alias.
Remove encoding checks from alias test.

Added: 
    

Modified: 
    llvm/lib/Target/RISCV/RISCVInstrInfo.td
    llvm/test/MC/RISCV/rv32ih-aliases-valid.s
    llvm/test/MC/RISCV/rvi-aliases-valid.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/RISCV/RISCVInstrInfo.td b/llvm/lib/Target/RISCV/RISCVInstrInfo.td
index acf1e418408bbd..fe5623e2920e22 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfo.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfo.td
@@ -961,14 +961,14 @@ def : InstAlias<"fence", (FENCE 0xF, 0xF)>; // 0xF == iorw
 let Predicates = [HasStdExtZihintpause] in
 def : InstAlias<"pause", (FENCE 0x1, 0x0)>; // 0x1 == w
 
-def : InstAlias<"rdinstret $rd", (CSRRS GPR:$rd, INSTRET.Encoding, X0)>;
-def : InstAlias<"rdcycle $rd",   (CSRRS GPR:$rd, CYCLE.Encoding, X0)>;
-def : InstAlias<"rdtime $rd",    (CSRRS GPR:$rd, TIME.Encoding, X0)>;
+def : InstAlias<"rdinstret $rd", (CSRRS GPR:$rd, INSTRET.Encoding, X0), 2>;
+def : InstAlias<"rdcycle $rd",   (CSRRS GPR:$rd, CYCLE.Encoding, X0), 2>;
+def : InstAlias<"rdtime $rd",    (CSRRS GPR:$rd, TIME.Encoding, X0), 2>;
 
 let Predicates = [IsRV32] in {
-def : InstAlias<"rdinstreth $rd", (CSRRS GPR:$rd, INSTRETH.Encoding, X0)>;
-def : InstAlias<"rdcycleh $rd",   (CSRRS GPR:$rd, CYCLEH.Encoding, X0)>;
-def : InstAlias<"rdtimeh $rd",    (CSRRS GPR:$rd, TIMEH.Encoding, X0)>;
+def : InstAlias<"rdinstreth $rd", (CSRRS GPR:$rd, INSTRETH.Encoding, X0), 2>;
+def : InstAlias<"rdcycleh $rd",   (CSRRS GPR:$rd, CYCLEH.Encoding, X0), 2>;
+def : InstAlias<"rdtimeh $rd",    (CSRRS GPR:$rd, TIMEH.Encoding, X0), 2>;
 } // Predicates = [IsRV32]
 
 def : InstAlias<"csrr $rd, $csr", (CSRRS GPR:$rd, csr_sysreg:$csr,      X0)>;
@@ -990,13 +990,13 @@ def : InstAlias<"csrrs $rd, $csr, $imm", (CSRRSI GPR:$rd, csr_sysreg:$csr, uimm5
 def : InstAlias<"csrrc $rd, $csr, $imm", (CSRRCI GPR:$rd, csr_sysreg:$csr, uimm5:$imm)>;
 }
 
-def : InstAlias<"sfence.vma",     (SFENCE_VMA      X0, X0)>;
+def : InstAlias<"sfence.vma",     (SFENCE_VMA      X0, X0), 2>;
 def : InstAlias<"sfence.vma $rs", (SFENCE_VMA GPR:$rs, X0)>;
 
-def : InstAlias<"hfence.gvma",     (HFENCE_GVMA      X0, X0)>;
+def : InstAlias<"hfence.gvma",     (HFENCE_GVMA      X0, X0), 2>;
 def : InstAlias<"hfence.gvma $rs", (HFENCE_GVMA GPR:$rs, X0)>;
 
-def : InstAlias<"hfence.vvma",     (HFENCE_VVMA      X0, X0)>;
+def : InstAlias<"hfence.vvma",     (HFENCE_VVMA      X0, X0), 2>;
 def : InstAlias<"hfence.vvma $rs", (HFENCE_VVMA GPR:$rs, X0)>;
 
 let Predicates = [HasStdExtZihintntl] in {

diff  --git a/llvm/test/MC/RISCV/rv32ih-aliases-valid.s b/llvm/test/MC/RISCV/rv32ih-aliases-valid.s
index 85af8cfb26ea61..7ae4b6ca291cfc 100644
--- a/llvm/test/MC/RISCV/rv32ih-aliases-valid.s
+++ b/llvm/test/MC/RISCV/rv32ih-aliases-valid.s
@@ -1,7 +1,7 @@
-# RUN: llvm-mc %s -triple=riscv32 -mattr=+h -riscv-no-aliases -show-encoding \
-# RUN:     | FileCheck -check-prefixes=CHECK,CHECK-INST,CHECK-ALIAS-INST %s
-# RUN: llvm-mc %s -triple=riscv64 -mattr=+h -riscv-no-aliases -show-encoding \
-# RUN:     | FileCheck -check-prefixes=CHECK,CHECK-INST,CHECK-ALIAS-INST %s
+# RUN: llvm-mc %s -triple=riscv32 -mattr=+h \
+# RUN:     | FileCheck -check-prefixes=CHECK-INST,CHECK-ALIAS-INST %s
+# RUN: llvm-mc %s -triple=riscv64 -mattr=+h \
+# RUN:     | FileCheck -check-prefixes=CHECK-INST,CHECK-ALIAS-INST %s
 # RUN: llvm-mc -filetype=obj -mattr=+h -triple riscv32 < %s \
 # RUN:     | llvm-objdump --mattr=+h -M no-aliases -d - \
 # RUN:     | FileCheck -check-prefixes=CHECK-INST,CHECK-NOALIAS-INST %s
@@ -9,62 +9,48 @@
 # RUN:     | llvm-objdump --mattr=+h -M no-aliases -d - \
 # RUN:     | FileCheck -check-prefixes=CHECK-INST,CHECK-NOALIAS-INST %s
 
-# CHECK-ALIAS-INST: hfence.gvma
+# CHECK-ALIAS-INST: hfence.gvma{{$}}
 # CHECK-NOALIAS-INST: hfence.gvma zero, zero
-# CHECK: encoding: [0x73,0x00,0x00,0x62]
 hfence.gvma
 
-# CHECK-ALIAS-INST: hfence.gvma a0
+# CHECK-ALIAS-INST: hfence.gvma a0{{$}}
 # CHECK-NOALIAS-INST: hfence.gvma a0, zero
-# CHECK: encoding: [0x73,0x00,0x05,0x62]
 hfence.gvma a0
 
-# CHECK-ALIAS-INST: hfence.vvma
+# CHECK-ALIAS-INST: hfence.vvma{{$}}
 # CHECK-NOALIAS-INST: hfence.vvma zero, zero
-# CHECK: encoding: [0x73,0x00,0x00,0x22]
 hfence.vvma
 
-# CHECK-ALIAS-INST: hfence.vvma a0
+# CHECK-ALIAS-INST: hfence.vvma a0{{$}}
 # CHECK-NOALIAS-INST: hfence.vvma a0, zero
-# CHECK: encoding: [0x73,0x00,0x05,0x22]
 hfence.vvma a0
 
 # CHECK-INST: hlv.b a0, (a1)
-# CHECK: encoding: [0x73,0xc5,0x05,0x60]
 hlv.b   a0, 0(a1)
 
 # CHECK-INST: hlv.bu a0, (a1)
-# CHECK: encoding: [0x73,0xc5,0x15,0x60]
 hlv.bu  a0, 0(a1)
 
 # CHECK-INST: hlv.h a1, (a2)
-# CHECK: encoding: [0xf3,0x45,0x06,0x64]
 hlv.h   a1, 0(a2)
 
 # CHECK-INST: hlv.hu a1, (a1)
-# CHECK: encoding: [0xf3,0xc5,0x15,0x64]
 hlv.hu  a1, 0(a1)
 
 # CHECK-INST: hlvx.hu a1, (a2)
-# CHECK: encoding: [0xf3,0x45,0x36,0x64]
 hlvx.hu a1, 0(a2)
 
 # CHECK-INST: hlv.w a2, (a2)
-# CHECK: encoding: [0x73,0x46,0x06,0x68]
 hlv.w   a2, 0(a2)
 
 # CHECK-INST: hlvx.wu a2, (a3)
-# CHECK: encoding: [0x73,0xc6,0x36,0x68]
 hlvx.wu a2, 0(a3)
 
 # CHECK-INST: hsv.b a0, (a1)
-# CHECK: encoding: [0x73,0xc0,0xa5,0x62]
 hsv.b   a0, 0(a1)
 
 # CHECK-INST: hsv.h a0, (a1)
-# CHECK: encoding: [0x73,0xc0,0xa5,0x66]
 hsv.h   a0, 0(a1)
 
 # CHECK-INST: hsv.w a0, (a1)
-# CHECK: encoding: [0x73,0xc0,0xa5,0x6a]
 hsv.w   a0, 0(a1)

diff  --git a/llvm/test/MC/RISCV/rvi-aliases-valid.s b/llvm/test/MC/RISCV/rvi-aliases-valid.s
index 9ac6a8a2c1e757..ef05d1295d44f4 100644
--- a/llvm/test/MC/RISCV/rvi-aliases-valid.s
+++ b/llvm/test/MC/RISCV/rvi-aliases-valid.s
@@ -261,10 +261,10 @@ csrrs t0, 0xfff, 0x10
 csrrc t0, 0x140, 0x11
 
 # CHECK-S-OBJ-NOALIAS: sfence.vma zero, zero
-# CHECK-S-OBJ: sfence.vma
+# CHECK-S-OBJ: sfence.vma{{$}}
 sfence.vma
 # CHECK-S-OBJ-NOALIAS: sfence.vma a0, zero
-# CHECK-S-OBJ: sfence.vma a0
+# CHECK-S-OBJ: sfence.vma a0{{$}}
 sfence.vma a0
 
 # The following aliases are accepted as input but the canonical form


        


More information about the llvm-commits mailing list