Could anyone help me to roughly understand the internal data dependecy structure used by the scheduler ?
As far as I can see in /lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp, SUnit nodes are created to wrap SDNodes with scheduling related information and SDeps represent all kind of dependencies between them.
Nevertheless, I cannot figure out the graphical form of such structure. For example, in a simple SDep::Data dependency like the following one:
Node1: def reg1
Node2: use reg1
Is Node1 the predecessor of Node2 or viceversa ?