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
168 // In the case of a latency tie, prefer an anti-dependency edge over
171 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) {
394 // an anti-dependence with this AntiDepReg, because that would
395 // re-introduce that anti-dependence.
468 // There are three anti-dependencies here, and without special care,
478 // because at each anti-dependence, B is the first register that
479 // isn't A which is free. This re-introduces anti-dependencies
480 // at all but one of the original anti-dependencies that we were
483 // using it to repair an anti-dependence on the same register.
493 // This still has an anti-dependence on B, but at least it isn't on the
502 // Attempt to break anti-dependence edges on the critical path. Walk the
514 // is an anti-dependence that we may be able to break. If it is, set
515 // AntiDepReg to the non-zero register associated with the anti-dependence.
518 // breaking anti-dependence edges that aren't going to significantly
523 // anti-dependencies. The current code here only knows how to break one
525 // the anti-dependencies in an instruction in order to be effective.
531 // Only consider anti-dependence edges.
532 if (Edge->getKind() == SDep::Anti) {
534 assert(AntiDepReg != 0 && "Anti-dependence on reg0?");
536 // Don't break anti-dependencies on non-allocatable registers.
539 // Don't break anti-dependencies if an use down below requires
544 // anti-depends on, don't bother breaking the anti-dependency
549 // same register as the anti-dependency, don't attempt to
554 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) :
578 // break this anti-dependency.
599 "Register should be live if it's causing an anti-dependence!");
603 // Look for a suitable register to use to break the anti-depenence.
615 DEBUG(dbgs() << "Breaking anti-dependence edge on "
626 // related to the anti-dependency register, make sure to update that
637 // liveness information for the anti-dependence reg is now