[PATCH] D153164: [AArch64][GlobalISel] Select G_UADDE/G_SADDE/G_USUBE/G_SSUBE

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 16 15:19:39 PDT 2023


arsenm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:4834
+  MachineInstr *CarryMI = MRI.getVRegDef(CarryReg);
+  if (CarryMI && CarryMI == I.getPrevNode()) {
+    unsigned CarryOp = CarryMI->getOpcode();
----------------
Don't need null check


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp:4890
+  // Don't convert carry-out to VReg if it is never used
+  if (!MRI.hasAtMostUserInstrs(CarryOutReg, 0)) {
+    // Now, put the overflow result in the register given by the first operand
----------------
I didn't even know hasAtMostUserInstrs existed, just use  use_nodbg_empty


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D153164



More information about the llvm-commits mailing list