Wrapper around SUnit that exposes loop‐carried dependence edges.

Synopsis

Declared in <llvm/CodeGen/MachinePipeliner.h>

class SwingSchedulerDDG;

Description

This class provides APIs to retrieve edges from/to an SUnit node, with a particular focus on loop‐carried dependencies. Since SUnit is not designed to represent such edges, handling them directly using its APIs has required non‐trivial logic in the past. This class serves as a wrapper around SUnit, offering a simpler interface for managing these dependencies.

Member Functions

Name

Description

SwingSchedulerDDG [constructor]

Construct a DDG over SUnits using loop‐carried edges from LCE.

getExtraOutEdges

Return extra validation‐only successor nodes of SU.

getInEdges

Return the incoming edges of SU.

getOutEdges

Return the outgoing edges of SU.

isValidSchedule

Return true if Schedule satisfies the DDG's dependence constraints.

Created with MrDocs