[PATCH] D69868: Allow "callbr" to return non-void values
    Bill Wendling via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Mon Feb 24 16:36:59 PST 2020
    
    
  
void marked 2 inline comments as done.
void added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:137
+  /// List of indirect targets of the callbr of a basic block.
+  SmallPtrSet<const MachineBasicBlock*, 4> InlineAsmBrIndirectTargets;
+
----------------
nickdesaulniers wrote:
> It's likely the count here is 0, or maybe 1.  We don't see too often a large list of labels here.
I'll make it 2 instead. :-)
================
Comment at: llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp:1076
+    // to the copy so that everyone is happy.
+    for (auto *Succ : BB->successors())
+      if (Succ != CopyBB && !CopyBB->isSuccessor(Succ))
----------------
nickdesaulniers wrote:
> Isn't `Fallthrough` from above one of the potential successors? Do we have to skip it in the below conditional? What happens if we call `addSuccessor` with the same `MBB` twice?
Yes. It's added to CopyBB above and the `!CopyBB->isSuccessor(Succ)` makes sure it's not re-added.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69868/new/
https://reviews.llvm.org/D69868
    
    
More information about the cfe-commits
mailing list