Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Anti

1 //===----- CriticalAntiDepBreaker.cpp - Anti-dep breaker -------- ---------===//
11 // implements register anti-dependence breaking along a blocks
135 // In the case of a latency tie, prefer an anti-dependency edge over
138 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) {
372 // an anti-dependence with this AntiDepReg, because that would
373 // re-introduce that anti-dependence.
457 // There are three anti-dependencies here, and without special care,
467 // because at each anti-dependence, B is the first register that
468 // isn't A which is free. This re-introduces anti-dependencies
469 // at all but one of the original anti-dependencies that we were
472 // using it to repair an anti-dependence on the same register.
482 // This still has an anti-dependence on B, but at least it isn't on the
491 // Attempt to break anti-dependence edges on the critical path. Walk the
503 // is an anti-dependence that we may be able to break. If it is, set
504 // AntiDepReg to the non-zero register associated with the anti-dependence.
507 // breaking anti-dependence edges that aren't going to significantly
512 // anti-dependencies. The current code here only knows how to break one
514 // the anti-dependencies in an instruction in order to be effective.
520 // Only consider anti-dependence edges.
521 if (Edge->getKind() == SDep::Anti) {
523 assert(AntiDepReg != 0 && "Anti-dependence on reg0?");
525 // Don't break anti-dependencies on non-allocatable registers.
528 // Don't break anti-dependencies if an use down below requires
533 // anti-depends on, don't bother breaking the anti-dependency
538 // same register as the anti-dependency, don't attempt to
543 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) :
569 // break this anti-dependency.
594 "Register should be live if it's causing an anti-dependence!");
598 // Look for a suitable register to use to break the anti-depenence.
610 DEBUG(dbgs() << "Breaking anti-dependence edge on "
621 // related to the anti-dependency register, make sure to update that
632 // liveness information for the anti-dependence reg is now