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
143 // In the case of a latency tie, prefer an anti-dependency edge over
146 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) {
412 // an anti-dependence with this AntiDepReg, because that would
413 // re-introduce that anti-dependence.
497 // There are three anti-dependencies here, and without special care,
507 // because at each anti-dependence, B is the first register that
508 // isn't A which is free. This re-introduces anti-dependencies
509 // at all but one of the original anti-dependencies that we were
512 // using it to repair an anti-dependence on the same register.
522 // This still has an anti-dependence on B, but at least it isn't on the
531 // Attempt to break anti-dependence edges on the critical path. Walk the
549 // is an anti-dependence that we may be able to break. If it is, set
550 // AntiDepReg to the non-zero register associated with the anti-dependence.
553 // breaking anti-dependence edges that aren't going to significantly
558 // anti-dependencies. The current code here only knows how to break one
560 // the anti-dependencies in an instruction in order to be effective.
566 // Only consider anti-dependence edges.
567 if (Edge->getKind() == SDep::Anti) {
569 assert(AntiDepReg != 0 && "Anti-dependence on reg0?");
571 // Don't break anti-dependencies on non-allocatable registers.
574 // Don't break anti-dependencies if a use down below requires
579 // anti-depends on, don't bother breaking the anti-dependency
584 // same register as the anti-dependency, don't attempt to
589 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) :
614 // break this anti-dependency.
640 "Register should be live if it's causing an anti-dependence!");
644 // Look for a suitable register to use to break the anti-dependence.
656 DEBUG(dbgs() << "Breaking anti-dependence edge on "
667 // related to the anti-dependency register, make sure to update that
678 // liveness information for the anti-dependence reg is now