[PATCH] D20162: [MSP430] PR27500 CodeGen: Rework branch-select pass

Vadzim Dambrouski via llvm-commits llvm-commits at lists.llvm.org
Wed May 11 06:10:55 PDT 2016


pftbest created this revision.
pftbest added a reviewer: asl.
pftbest added a subscriber: llvm-commits.

Branch instructions created during this pass now have a machine basic block as a target instead of a fixed offset.  If there is no layout successor, the current MBB is split to create one. This fixes 27500.
Branch distance should be checked in words instead of a bytes, according to documentation. This prevents branch expansion from triggering too early.
Vector of block offsets is now used to calculate distances between blocks, this is more efficient when branch expansion is not needed, which is a common case.

http://reviews.llvm.org/D20162

Files:
  lib/Target/MSP430/MSP430BranchSelector.cpp
  test/CodeGen/MSP430/BranchSelector.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20162.56882.patch
Type: text/x-patch
Size: 38273 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160511/330184a8/attachment-0001.bin>


More information about the llvm-commits mailing list