[PATCH] D130316: [SelectionDAG] make INLINEASM_BR use MachineBasicBlocks instead of BlockAddresses

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 21 17:03:38 PDT 2022


nickdesaulniers planned changes to this revision.
nickdesaulniers added inline comments.


================
Comment at: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:3639-3643
+  // TODO: should callers of
+  // MachineBasicBlock::setIsInlineAsmBrIndirectTarget(true) also set
+  // MachineBasicBlock::setLabelMustBeEmitted()?
+  // TODO: should SelectionDAGBuilder::visitCallBr() still call
+  // MachineBasicBlock::setHasAddressTaken()?
----------------
I'm going to test these out, too. But RFC; comments welcome.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:5294-5295
+      OpInfo.CallOperandVal = BA->getBasicBlock();
       OpInfo.ConstraintVT =
-          getAsmOperandValueType(DL, OpInfo.CallOperandVal->getType())
-              .getSimpleVT();
+        getAsmOperandValueType(DL, BA->getType()).getSimpleVT();
       ++LabelNo;
----------------
Not sure this is quite right, but also not sure what it should be.  Maybe the reviewers do?


================
Comment at: llvm/test/CodeGen/X86/tail-dup-asm-goto.ll:11
   ; CHECK: bb.0.bb:
-  ; CHECK:   successors: %bb.1(0x50000000), %bb.2(0x30000000)
-  ; CHECK:   liveins: $rdi, $rsi
----------------
I think I should pre-commit an initial run of `update_mir_test_checks.py` on this...


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130316



More information about the llvm-commits mailing list