diff options
author | Rahman Lavaee <rahmanl@google.com> | 2023-08-23 01:08:44 +0000 |
---|---|---|
committer | Rahman Lavaee <rahmanl@google.com> | 2023-08-23 01:09:13 +0000 |
commit | d0ec03a384a5aa73a51735e897fecac0e0ad13b1 (patch) | |
tree | d537a4c02ec38c96d192a532fadbc7361d73ec56 /llvm/lib/CodeGen/BasicBlockSections.cpp | |
parent | 57035192d03ae2934375dabec00c8cea8a7893ca (diff) | |
download | llvm-d0ec03a384a5aa73a51735e897fecac0e0ad13b1.zip llvm-d0ec03a384a5aa73a51735e897fecac0e0ad13b1.tar.gz llvm-d0ec03a384a5aa73a51735e897fecac0e0ad13b1.tar.bz2 |
Revert "[BasicBlockSections] avoid insertting redundant branch to fall through blocks"
This reverts commit ab53109166c0345a79cbd6939cf7bc764a982856 which was
commited by mistake.
Diffstat (limited to 'llvm/lib/CodeGen/BasicBlockSections.cpp')
-rw-r--r-- | llvm/lib/CodeGen/BasicBlockSections.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/llvm/lib/CodeGen/BasicBlockSections.cpp b/llvm/lib/CodeGen/BasicBlockSections.cpp index 4ebff65..33e70b1 100644 --- a/llvm/lib/CodeGen/BasicBlockSections.cpp +++ b/llvm/lib/CodeGen/BasicBlockSections.cpp @@ -134,14 +134,6 @@ INITIALIZE_PASS_END(BasicBlockSections, "bbsections-prepare", "into clusters of basic blocks.", false, false) -// Returns whether the given basic block has an unconditional branch. -bool hasUnconditionalBranch(const MachineBasicBlock &MBB) { - if (MBB.terminators().empty()) - return false; - const MachineInstr &Terminator = *(--MBB.terminators().end()); - return Terminator.isUnconditionalBranch(); -} - // This function updates and optimizes the branching instructions of every basic // block in a given function to account for changes in the layout. static void @@ -153,14 +145,12 @@ updateBranches(MachineFunction &MF, auto NextMBBI = std::next(MBB.getIterator()); auto *FTMBB = PreLayoutFallThroughs[MBB.getNumber()]; // If this block had a fallthrough before we need an explicit unconditional - // branch to that block if either one of these two conditions hold and the - // block doesn't currently have an unconditional branch. + // branch to that block if either // 1- the block ends a section, which means its next block may be // reorderd by the linker, or // 2- the fallthrough block is not adjacent to the block in the new // order. - if (FTMBB && (MBB.isEndSection() || &*NextMBBI != FTMBB) && - !hasUnconditionalBranch(MBB)) + if (FTMBB && (MBB.isEndSection() || &*NextMBBI != FTMBB)) TII->insertUnconditionalBranch(MBB, FTMBB, MBB.findBranchDebugLoc()); // We do not optimize branches for machine basic blocks ending sections, as |