[LLVMdev] Comments on the bundle proposal
atrick at apple.com
Thu Dec 8 10:35:59 PST 2011
On Dec 8, 2011, at 8:36 AM, Krzysztof Parzyszek wrote:
> On Wed, Dec 07, 2011 at 10:14:22AM -0800, Andrew Trick wrote:
>> On Dec 6, 2011, at 3:10 PM, Krzysztof Parzyszek wrote:
>>> - How about having bundles that contain branch targets (other than the
>>> first instruction) from the outside of the bundle? This seems like something
>>> that has a potential for causing trouble, but I can't think of any specific
>>> scenario at the moment.
>> I think bundles could cross branches with some care. But I don't think they will ever be able to cross CFG merge points, if that's what you're asking.
> Actually, what I was getting at was a clarification on whether the bundle
> may or may not cross a basic block boundary. While having a bundle that
> contains a branch and a target of the branch may seem desirable, a bundle
> that has a branch target (from outside) somewhere in the middle of it
> seems to be a dangerous thing. Evan's proposal didn't state any requirements
> or limitations regarding that. If there were no such limitations in place,
> any generic code that is "bundle-aware" would need to take it into
> consideration, possibly at the expense of complexity.
This sort of thing will be codified in a bundle verifier. It will check that MIs marked "within a bundle" are sequential and start with a bundle header instruction, all within the same block. A block may contain multiple branches, so "multi-way branch" bundles could be supported.
More information about the llvm-dev