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

Eli Bendersky eliben at google.com
Thu Dec 6 12:25:21 PST 2012


On Thu, Dec 6, 2012 at 11:59 AM, Greg Fitzgerald <garious at gmail.com> wrote:
> Maybe I'm jumping the gun, but some initial thoughts after browsing the MC
> layer changes:
>

Greg, it's great to have early comments on this.

> * .bundle_align_start  -> .bundle_align_mode N  ?
> * .bundle_align_end -> .bundle_align_mode 0  ?

The initial proposal does not cover .bundle_align{start|end} on
purpose, to keep things simple. We do plan to add them, eventually,
probably as attributes on .bundle_lock.

> * Add unit test showing .bundle_lock/unlock can be nested.

Yes.

>
> I like the way you modified the existing ARM tests to show how the existing
> instructions are predicated.

Thanks. When upstreaming, I should remember using the new FileCheck
feature I recently added (variable references on the same line that
define them) which should make matching BICs more elegant.

> Overall, I think the concept of Native Client
> is well-documented and easy to follow.  Has anyone done work to show that
> assembly in this form can be disassembled to a memory-safe assembly language
> like TAL?
>
>
>> groups of instructions between .bundle_lock and
>> .bundle_unlock directives cannot cross a bundle boundary
>
> Can this be relaxed to:  A data instruction cannot fall on a bundle
> boundary.  ?

I'm not sure what you mean, can you elaborate?

Eli



More information about the llvm-dev mailing list