This pass 'forwards' operand trees into statements that use them in order to avoid scalar dependencies.
This minimal implementation handles only the case of speculatable instructions. We will successively add support for:
- Hoisted loads
- Read-only values
- Synthesizable values
- Loads
- PHIs
- Forwarding only parts of the tree
and ALL THE operand tree