@jlauro: From what I understand, your approach amounts to the same behavior as inlining all the functions and performing high-level optimizations on the resulting code.
For example, by inlining+optimizing, any starting statements in func using "c" but not "x" could be done in parallel with funb's statements (which an optimizing compiler / out-of-order CPU can easily do nowadays I believe).
The advantage would be that inlining of those statements would not be required. The disadvantage would be that the optimization would happen at runtime in hardware instead of at compile time, which would make hardware more expensive (perhaps unnecessarily?).
My Mario Kart Wii friend code: 2707-1866-0957







