[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