[PATCH] D25499: BranchRelaxation: Fix computing indirect branch block size
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 31 17:47:07 PDT 2016
arsenm added inline comments.
================
Comment at: lib/CodeGen/BranchRelaxation.cpp:401-405
DebugLoc DL = MI.getDebugLoc();
MI.eraseFromParent();
-
- // insertUnconditonalBranch may have inserted a new block.
- BlockInfo[MBB->getNumber()].Size += TII->insertIndirectBranch(
+ BlockInfo[BranchBB->getNumber()].Size += TII->insertIndirectBranch(
*BranchBB, *DestBB, DL, DestOffset - SrcOffset, RS.get());
----------------
nhaehnle wrote:
> This doesn't seem to be affected by your change, but I'm a bit confused about not seeing anything to account for the size change in MBB due to the erased MI.
This is part of the change. I discovered that added/removed instruction size here is insufficient, since updateTerminator can also sneakily change the branch instructions.
https://reviews.llvm.org/D25499
More information about the llvm-commits
mailing list