On 11/19/13 13:18, Ilya Enkovich wrote:

Root of all problems if implicit data flow hidden in arg_bounds and
bind_bounds.  Calls consume bounds and compiler does not know it. And
input bounds are always expressed via arg_bounds calls and never
expressed via formal args. Obviously optimizers have to be taught
about these data dependencies to work correctly.

I agree semantics of arg_bounds call creates many issues for
optimizers but currently I do not see a better replacement for it.
Well, there's hidden dataflow, but there's also "magic" that has to happen in the prologue and function calling sequences.

The "magic" has rules that it expects the rest of the compiler to play by, but nobody other than yourself probably understands what those rules are and what passes might violate those rules.

Jeff

Reply via email to