[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