[PATCH] D137905: [GlobalISel] Add new G_INVOKE_REGION_START/END instructions to fix an EH bug

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 15 15:04:59 PST 2022


paquette added inline comments.


================
Comment at: llvm/include/llvm/Target/GenericOpcodes.td:1278
+  let InOperandList = (ins);
+  let isTerminator = true;
+  let hasSideEffects = false;
----------------
It'd be useful to note in a comment that this is intended to be a terminator.


================
Comment at: llvm/lib/CodeGen/MachineBasicBlock.cpp:258
+MachineBasicBlock::iterator MachineBasicBlock::getFirstTerminatorForward() {
+  iterator I = begin(), E = end();
+  while (I != E && !I->isTerminator())
----------------
`find_if`?


================
Comment at: llvm/lib/CodeGen/MachineVerifier.cpp:836
+    if (FirstTerminator->getOpcode() != TargetOpcode::G_INVOKE_REGION_START) {
+      report("Non-terminator instruction after the first terminator", MI);
+      errs() << "First terminator was:\t" << *FirstTerminator;
----------------
MachineVerifier test?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137905



More information about the llvm-commits mailing list