[PATCH] D150416: [RISCV] Add a pass to combine `cm.pop` and `ret` insts

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 24 14:13:39 PDT 2023


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVPushPopOptimizer.cpp:67
+  DebugLoc DL = NextI->getDebugLoc();
+  if (IsReturnZero)
+    BuildMI(*NextI->getParent(), NextI, DL, TII->get(RISCV::CM_POPRETZ))
----------------
Can we do?

```
unsigned Opc = IsReturnZero ? RISCV::CM_POPRETZ : RISCV::CM_POPRET;
BuildMI(*NextI->getParent(), NextI, DL, TII->get(Opc))
        .add(MBBI->getOperand(0))
        .add(MBBI->getOperand(1));
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150416/new/

https://reviews.llvm.org/D150416



More information about the llvm-commits mailing list