[PATCH] D75404: [X86] Not track size of the boudaryalign fragment during the layout

Kan Shengchen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 2 23:09:19 PST 2020


skan abandoned this revision.
skan added a comment.

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 <https://reviews.llvm.org/D75203> may need to change some logic since this patch was reverted.


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