[PATCH] D70157: Align branches within 32-Byte boundary

LuoYuanke via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 6 21:24:04 PST 2019


LuoYuanke added a comment.

In D70157#1773180 <https://reviews.llvm.org/D70157#1773180>, @reames wrote:

> Recording something so I don't forget it when we get back to the prefix padding version.  The write up on the bundle align mode stuff mentions a concerning memory overhead for the feature.  Since the basic implementation techniques are similar, we need to make sure we assess the memory overhead of the prefix padding implementation.  See https://www.chromium.org/nativeclient/pnacl/aligned-bundling-support-in-llvm for context.  I don't believe this is likely to be an issue for the nop padding variant.


>From the doc of https://www.chromium.org/nativeclient/pnacl/aligned-bundling-support-in-llvm the ".bundle_align_mode" ensure each instruction that following the directive don't cross the alignment boundary and ensure the first instruction following the directive be aligned,  but in this patch we only require branch (jcc, jmp, ...) instruction don't cross the alignment boundary. Another remind, this patch avoid branch instruction hit the alignment boundary, and bundle syntax doesn't support that (see section 2.1 of https://www.intel.com/content/dam/support/us/en/documents/processors/mitigations-jump-conditional-code-erratum.pdf). So I don't think bundle syntax fit current requirement perfectly.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70157/new/

https://reviews.llvm.org/D70157





More information about the cfe-commits mailing list