Scheduler information

[LLVMdev] tag added, sorry for duplicated message.

Hi list,

Could someone help me to 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 ?


Node1is the predecessor. Look at an example using llc -view-sched-dags.