[LLVMdev] Proposal: Adding aligned instruction bundle support to MC

John Criswell criswell at illinois.edu
Wed Dec 5 06:38:40 PST 2012

On 12/4/12 5:53 PM, Eli Bendersky wrote:
> Hello,
> We (the Portable Native Client team) would like to start upstreaming
> our LLVM modifications which contain support for Software Fault
> Isolation (SFI) as required for sandboxing programs to run under
> Native Client. Since the "total patch size" is quite big, we are
> splitting the effort to manageable chunks that can be committed,
> tested and reviewed separately as independently as feasible.

> One of the first things we'd like to start with is support for aligned
> instruction bundles in MC (assembler) level. This support exists in
> gas since binutils version 2.23
> (http://sourceware.org/binutils/docs/as/Bundle-directives.html#Bundle-directives).
> Succinctly, the initial proposal is to add the following directives:
> .bundle_align_mode <num>
> .bundle_lock
> .bundle_unlock
> With the following semantics:
> When aligned instruction bundle mode ("bundling" in short) is enabled
> (.bundle_align_mode was encountered with an argument > 0, which is the
> power of 2 to which the bundle size is equal), single
> instructions and groups of instructions between .bundle_lock and
> .bundle_unlock directives cannot cross a bundle boundary.

Just a note that I'm interested in using this feature for a control-flow 
integrity implementation that I'm working on as part of my research.

-- John T.

More information about the llvm-dev mailing list