[PATCH] D64354: [AArch64][GlobalISel] Optimize conditional branches followed by unconditional branches

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 8 11:05:43 PDT 2019


paquette added a comment.

Combiner helper makes sense here IMO.



================
Comment at: llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp:1186
+    return false;
+  assert(std::next(BrIt) == MBB->end() &&
+         "expected G_BR to be a terminator");
----------------
Would ` BrIt->isTerminator()` work here?


================
Comment at: llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp:1197
+
+  // Look through the trunc to get the icmp.
+  MachineInstr *TruncMI = MRI.getVRegDef(BrCond->getOperand(0).getReg());
----------------
Is trunc the only thing we should look through here? Can we also handle copies, for example?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D64354





More information about the llvm-commits mailing list