[PATCH] D79605: MachineBasicBlock::updateTerminator now requires an explicit layout successor.

James Y Knight via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 7 15:46:50 PDT 2020


jyknight created this revision.
jyknight added reviewers: qcolombet, efriedma, void.
Herald added subscribers: llvm-commits, aheejin, hiraditya, jgravelle-google, sbc100, dschuff.
Herald added a project: LLVM.

Previously, it tried to infer the correct destination block from the
successor list, but this is a rather tricky propspect, given the
existence of successors that occur mid-block (such as invoke, and
potentially in the future, callbr).

Instead, require the caller to pass in the expected fallthrough
successor explicitly. In most callers, the correct block is
immediately clear. But, in MachineBlockPlacement, we do need to record
the original ordering, before starting to reorder blocks.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D79605

Files:
  llvm/include/llvm/CodeGen/MachineBasicBlock.h
  llvm/lib/CodeGen/BBSectionsPrepare.cpp
  llvm/lib/CodeGen/BranchRelaxation.cpp
  llvm/lib/CodeGen/MachineBasicBlock.cpp
  llvm/lib/CodeGen/MachineBlockPlacement.cpp
  llvm/lib/CodeGen/TailDuplicator.cpp
  llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
  llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
  llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
  llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79605.262778.patch
Type: text/x-patch
Size: 15759 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200507/c27dfece/attachment.bin>


More information about the llvm-commits mailing list