<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/132308>132308</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[hexagon] Prevent alignment search beyond a label
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:Hexagon
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
quic-akaryaki
</td>
</tr>
</table>
<pre>
When searching for packets to .align, don't consider ones which would require padding beyond a label.
There are two problems with padding beyond a label:
the distance between labels may increase for some offsets to become too large;
u/sleb128 values that encode a difference will not be updated because they are computed before the align command is handled.
This is more a short-term fix/hack. The proper solution would be to unify .align and .falign handling and move it to the layout loop.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0Uk2P6ygQ_DX40oplQ5yPgw-ZHUV73MNIe26btmGDwQNNMvn3K5xIT3rSO4G6qS6qujAlO3uiXnQfovusMLMJsf_OdtzhDeMTb7Yagn72_xrykAjjaKyfYQoRVhxvxAk4QI3Ozl7Iv0AHL-SRYQw-WU0RgqcED2NHA4-QnYZI39lGghW1LqMGegavAcHhQK4WzUU0ly9DkQAjAT8CrDEMjpYED8vmD0ChLi8oGwJtE6MfCQbiB5F_PUmw4BOsHyNhok1DCgtBmKb0FjLQWCocAjiMMwn1IZpLFvKaHA2tPMEdXaYEbJCB_Bg0AYK200SRCuPDOgc-MAwEedXIpMtUzImADT03UWNY1vzqTCFuDdgsLJ0FvQabwKDXjnS92WFTKS3lMUIyIfKOKS4w2R8hrwbHWw1fhopVKxVdLrMN_u35UCRB9nZ6vncFhaSeXveNqVhaiku4E1gugPIth8-QGVwIa13pXumzOmNFfXvcy65VJ3WuTI_t4XjCk1Yt6rGhvdKtpqHbt5PGrm0Ple1lI7tGyUYqdWzP9bHr8LQ_n-gwqaY9HMS-oQWtq527L3WIc2VTytS3SqrmVL32t8VUyqEEz2uhLn_TD84lcbKkN_YFvBvynMS-cTZx-jWOLbst5-aN6T7hn0h38vyyfim3V8J_i1aVo-sN85pKyORVyOts2eShHsMi5LVwvI_dGsN_NLKQ1-3_ScjrW8K9l_8HAAD__57zLDg">