[PATCH] D70157: Align branches within 32-Byte boundary
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 16 18:08:13 PST 2019
MaskRay added a comment.
In D70157#1787139 <https://reviews.llvm.org/D70157#1787139>, @reames wrote:
> Here are the minutes from our phone call a few minutes ago.
>
> Attendees: Andy Kaylor, Craig Topper, Annita Zhang, Tom Stellard, Chandler Carruth, Fedor Sergeev, Philip Reames, Yuanake Luo
Thanks for organization the meeting and making the summary.
> Stawman syntax proposal
>
> .align_branch_boundary disable/default
> .align_branch_boundary enable N, instructions (fused, jcc, jmp, etc..)
>
> ...
>
> Push/Pop semantics were suggested at one point, but were thought to be non-idiomatic?
There is a precedant: .pushsection/.popsection (MCStreamer::SectionStack). With .push_align_branch/.pop_align_branch, we probably don't need the 'switch-to-default' action.
I don't know how likely we may ever need nested states (e.g. an `.include` directive inside an .align_branch region where the included file has own idea about branch alignment), but .push/.pop does not seem to be more complex than disable/enable/default.
I confirm that the following 4 commits have been to the binutils-gdb repository (https://sourceware.org/ml/binutils/2019-12/msg00138.html https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=e379e5f385f874adb0b414f917adb1fc50e20de9).
gas: Add md_generic_table_relax_frag
i386: Align branches within a fixed boundary
i386: Add -mbranches-within-32B-boundaries
i386: Add tests for -malign-branch-boundary and -malign-branch
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70157/new/
https://reviews.llvm.org/D70157
More information about the llvm-commits
mailing list