Lines Matching defs:SDep

43   /// SDep - Scheduling dependency. This represents one direction of an
45 class SDep {
95 /// SDep - Construct a null SDep. This is only for use by container
97 /// have null SDep edges.
98 SDep() : Dep(nullptr, Data) {}
100 /// SDep - Construct an SDep with the specified values.
101 SDep(SUnit *S, Kind kind, unsigned Reg)
109 "SDep::Anti and SDep::Output must use a non-zero Reg!");
119 SDep(SUnit *S, OrderKind kind)
124 /// Return true if the specified SDep is equivalent except for latency.
125 bool overlaps(const SDep &Other) const {
138 bool operator==(const SDep &Other) const {
142 bool operator!=(const SDep &Other) const {
174 /// isCtrl - Shorthand for getKind() != SDep::Data.
244 "SDep::Anti edge cannot use the zero register!");
246 "SDep::Output edge cannot use the zero register!");
252 struct isPodLike<SDep> { static const bool value = true; };
269 SmallVector<SDep, 4> Preds; // All sunit predecessors.
270 SmallVector<SDep, 4> Succs; // All sunit successors.
272 typedef SmallVectorImpl<SDep>::iterator pred_iterator;
273 typedef SmallVectorImpl<SDep>::iterator succ_iterator;
274 typedef SmallVectorImpl<SDep>::const_iterator const_pred_iterator;
275 typedef SmallVectorImpl<SDep>::const_iterator const_succ_iterator;
279 unsigned NumPreds; // # of SDep::Data preds.
280 unsigned NumSuccs; // # of SDep::Data sucss.
408 bool addPred(const SDep &D, bool Required = true);
413 void removePred(const SDep &D);
651 /// isCtrlDep - Test if this is not an SDep::Data dependence.
658 const SDep &getSDep() const {