[Hexagon] Assume all extendable branches to be of size 8 in relaxation
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Fri, 23 Mar 2018 19:47:13 +0000 (19:47 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Fri, 23 Mar 2018 19:47:13 +0000 (19:47 +0000)
commitca93f5e60515081f0314ef4e7f376af9af4eb2a7
treef70f2a072be051aa1700f0eca61909399e6ce001
parentac1263cd54ffaa50d692e1d99c34f16759126cae
[Hexagon] Assume all extendable branches to be of size 8 in relaxation

The branch relaxation pass collects sizes of all instructions at the
beginning, before any changes have been made. It then performs one pass
over all branches to see which ones need to be extended. It does not
account for the case when a previously valid branch becomes out-of-range
due to relaxing other branches.
This approach fixes this problem by assuming from the beginning that
all extendable branches have been extended. This may cause unneeded
relaxation in some cases, but avoids iteration and recomputing instruction
sizes.

llvm-svn: 328360
llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp