Make Phase take other Phases as inputs, not Nodes.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 17 Mar 2014 23:57:53 +0000 (00:57 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Tue, 18 Mar 2014 00:00:49 +0000 (01:00 +0100)
commit407d90be3e45ddb7f5a53c16728bfa791998cb72
tree7ccc31ceca482fa360f42f8c94cf63b373227805
parent6dad17bbcfe7fec9e09c28a3f00a0e1bbb9c8dc6
Make Phase take other Phases as inputs, not Nodes.

This was a refactoring I wanted to do for a while, but actually finding
the right structure was a bit tricky. In the process, the entire phase
generation logic was rewritten, but the separation between compilation
and Phase construction is much cleaner now, and the logic in general
is easier to follow with more use of explicit recursion.

I'm still not 100% happy about what might be overuse of output_node;
we still need to link Phase and Node (the link just goes the other way
now), but I'm not sure we need to use it in all the cases we currently do.
effect_chain.cpp
effect_chain.h