[llvm-dev] RFC: Add "operand bundles" to calls and invokes

Philip Reames via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 19 18:55:22 PDT 2015



On 08/19/2015 06:09 PM, Sanjoy Das wrote:
> A high level summary of the proposal as it stands right now (from my
> perspective), after
> incorporating Philip's suggestions:
>
>   1. Operand bundles are a way to associate a set of SSA values with a
>      call or invoke.
>
>   2. Operand bundles are lowered in some arbitrary bundle-tag specific
>      manner.
>
>   3. The optimizer can optimize around operand bundles with (roughly)
>      the assumption that they're just extra arguments to the call /
>      invoke.  In particular, the optimizer does not have to assume that
>      operand bundles imply any extra memory / IO effects than what is
>      apparent from the call.
>
>   4. Through the discussion we came up with a re-ordering
>      restriction we'll have to place on function calls / invokes that
>      may deoptimize their caller.  This is orthogonal to the operand
>      bundles discussion, and will be implemented as a separate call
>      attribute.
>
> Is everyone on the thread comfortable enough with the general idea
> that I can start writing patches and sending them in for review?
I am.
>
> -- Sanjoy



More information about the llvm-dev mailing list