Lines Matching full:anti
1 //===----- AggressiveAntiDepBreaker.cpp - Anti-dep breaker ----------------===//
11 // implements register anti-dependence breaking during post-RA
12 // scheduling. It attempts to break all anti-dependencies within a
36 cl::desc("Debug control for aggressive anti-dep breaker"),
40 cl::desc("Debug control for aggressive anti-dep breaker"),
276 /// AntiDepEdges - Return in Edges the anti- and output- dependencies
282 if ((P->getKind() == SDep::Anti) || (P->getKind() == SDep::Output)) {
304 // In the case of a latency tie, prefer an anti-dependency edge over
307 (NextDepth == PredTotalLatency && P->getKind() == SDep::Anti)) {
557 // break the anti-dependence.
716 /// BreakAntiDependencies - Identifiy anti-dependencies within the
748 // break critical-path anti-dependencies.
765 DEBUG(dbgs() << "\n===== Aggressive anti-dependency breaking\n");
774 // Attempt to break anti-dependence edges. Walk the instructions
783 DEBUG(dbgs() << "Anti: ");
792 // The dependence edges that represent anti- and output-
809 // but don't cause any anti-dependence breaking themselves)
811 // Attempt to break each anti-dependency...
816 if ((Edge->getKind() != SDep::Anti) &&
821 assert(AntiDepReg != 0 && "Anti-dependence on reg0?");
824 // Don't break anti-dependencies on non-allocatable registers.
828 // Don't break anti-dependencies for critical path registers
833 // If the anti-dep register liveness "passes-thru", then
839 // No anti-dep breaking for implicit deps
849 // it anti-depends on, don't bother breaking the
850 // anti-dependency since those edges would prevent such
855 // same register as the anti-dependency, don't attempt to
860 (P->getKind() != SDep::Anti || P->getReg() != AntiDepReg) :
868 if ((P->getSUnit() == NextSU) && (P->getKind() != SDep::Anti) &&
897 // Look for a suitable register to use to break the anti-dependence.
900 DEBUG(dbgs() << "\tBreaking anti-dependence edge on "
925 // information related to the anti-dependency register, make