[PATCH] D75404: [X86] Not track size of the boudaryalign fragment during the layout
Fedor Sergeev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 3 04:11:21 PST 2020
fedor.sergeev added a comment.
In D75404#1902311 <https://reviews.llvm.org/D75404#1902311>, @skan wrote:
> In e-mail @reames wrote:
>
> > Er, I'm not sure this is correct. The concern is that boundary align requires the computation of the size of a fragment following the boundary align. Since the size may be influenced by the starting offset (e.g. align), the size of the boundary align must already be known. The circularity of the logic there seems likely to lead to issues, though I don't have a specific test case.
> >
> > Though... I guess the way we use BA makes this "safe" as we know the instructions following must be either DataFragments or RelaxableFragments.
>
> And unfortunately,I did find some test cases failed during runtime. I agree with reame, one difference between boundar align
>
> and align fragment is that the size of boundary align depends on the following fragment while align not. Before `finishLayout`, we have to fix its size before we write boudary align and this has to be done in `relaxBoundaryAlign`. I feel sorry that D75203 may need to change some logic since this patch was reverted.
We also found this patch to cause problems with our downstream testing, though I do not have good reproducers as of right now.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75404/new/
https://reviews.llvm.org/D75404
More information about the llvm-commits
mailing list