Author: Craig Topper Date: 2021-01-19T14:31:48-08:00 New Revision: e75a4b6ea9e950181049f1c2f8a78835754852fe
URL: https://github.com/llvm/llvm-project/commit/e75a4b6ea9e950181049f1c2f8a78835754852fe DIFF: https://github.com/llvm/llvm-project/commit/e75a4b6ea9e950181049f1c2f8a78835754852fe.diff LOG: [RISCV] Remove NotHasStdExtZbb predicate from zext.h/sext.b/sext.h InstAliases. NFC NotHasStdExtZbb doesn't have an AssemblerPredicate associated with it so it didn't do anything. We don't need it either because the sorting rules in tablegen prioritize by number of predicates. So the dedicated instructions in the B extension that have predicates will be prioritized automatically. Added: Modified: llvm/lib/Target/RISCV/RISCV.td llvm/lib/Target/RISCV/RISCVInstrInfo.td Removed: ################################################################################ diff --git a/llvm/lib/Target/RISCV/RISCV.td b/llvm/lib/Target/RISCV/RISCV.td index 56339d7df52d..02424f6d86ff 100644 --- a/llvm/lib/Target/RISCV/RISCV.td +++ b/llvm/lib/Target/RISCV/RISCV.td @@ -126,7 +126,6 @@ def HasStdExtZbbOrZbp AssemblerPredicate<(any_of FeatureExtZbb, FeatureExtZbp)>; def NotHasStdExtZbbOrZbp : Predicate<"!(Subtarget->hasStdExtZbb() || Subtarget->hasStdExtZbp())">; -def NotHasStdExtZbb : Predicate<"!Subtarget->hasStdExtZbb()">; def FeatureExtZbproposedc : SubtargetFeature<"experimental-zbproposedc", "HasStdExtZbproposedc", "true", diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfo.td b/llvm/lib/Target/RISCV/RISCVInstrInfo.td index 6b0967e12736..0210a29e2ab4 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfo.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfo.td @@ -1074,19 +1074,19 @@ def PseudoLA_TLS_GD : Pseudo<(outs GPR:$dst), (ins bare_symbol:$src), [], // There are single-instruction versions of these in Zbb, so disable these // Pseudos if that extension is present. -let Predicates = [NotHasStdExtZbb], hasSideEffects = 0, mayLoad = 0, +let hasSideEffects = 0, mayLoad = 0, mayStore = 0, isCodeGenOnly = 0, isAsmParserOnly = 1 in { def PseudoSEXT_B : Pseudo<(outs GPR:$rd), (ins GPR:$rs), [], "sext.b", "$rd, $rs">; def PseudoSEXT_H : Pseudo<(outs GPR:$rd), (ins GPR:$rs), [], "sext.h", "$rd, $rs">; // rv64's sext.w is defined above, using InstAlias<"sext.w ... // zext.b is defined above, using InstAlias<"zext.b ... def PseudoZEXT_H : Pseudo<(outs GPR:$rd), (ins GPR:$rs), [], "zext.h", "$rd, $rs">; -} // Predicates = [NotHasStdExtZbb], ... +} // hasSideEffects = 0, ... -let Predicates = [NotHasStdExtZbb, IsRV64], hasSideEffects = 0, mayLoad = 0, mayStore = 0, +let Predicates = [IsRV64], hasSideEffects = 0, mayLoad = 0, mayStore = 0, isCodeGenOnly = 0, isAsmParserOnly = 1 in { def PseudoZEXT_W : Pseudo<(outs GPR:$rd), (ins GPR:$rs), [], "zext.w", "$rd, $rs">; -} // Predicates = [NotHasStdExtZbb, IsRV64], ... +} // Predicates = [IsRV64], ... /// Loads _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits