[llvm] Select immediate binop optimization (PR #212163)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 29 20:19:08 PDT 2026
yingopq wrote:
Wouldn't this be simpler? We only modified the MIPS backend.
```diff
diff --git a/llvm/lib/Target/Mips/MipsInstrInfo.td b/llvm/lib/Target/Mips/MipsInstrInfo.td
index 2b21fe74eaf1..7b11d76cb323 100644
--- a/llvm/lib/Target/Mips/MipsInstrInfo.td
+++ b/llvm/lib/Target/Mips/MipsInstrInfo.td
@@ -3270,6 +3270,9 @@ let AdditionalPredicates = [NotInMicroMips] in {
def : MipsPat<(MipsTlsHi tglobaltlsaddr:$in), (LUi tglobaltlsaddr:$in)>,
ISA_MIPS1;
+ def : MipsPat<(MipsGPRel tglobaladdr:$in),
+ (ADDiu ZERO, tglobaladdr:$in)>, ISA_MIPS1, ABI_NOT_N64;
+
// gp_rel relocs
def : MipsPat<(add GPR32:$gp, (MipsGPRel tglobaladdr:$in)),
(ADDiu GPR32:$gp, tglobaladdr:$in)>, ISA_MIPS1, ABI_NOT_N64;
```
https://github.com/llvm/llvm-project/pull/212163
More information about the llvm-commits
mailing list