[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