Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:right

1372       CurSU->isPending = true;  // This SU is not in AvailableQueue right now.
1545 bool operator()(SUnit* left, SUnit* right) const {
1546 // reverse left/right rather than simply !SortFunc(left, right)
1548 return SortFunc(right, left);
1564 bool operator()(SUnit* left, SUnit* right) const;
1578 bool operator()(SUnit* left, SUnit* right) const;
1594 bool operator()(SUnit* left, SUnit* right) const;
1611 bool operator()(SUnit* left, SUnit* right) const;
1822 // Return -1 to schedule right above left, 1 for left above right.
1824 static int checkSpecialNodes(const SUnit *left, const SUnit *right) {
1826 bool RSchedLow = right->isScheduleLow;
1901 // scheduled right before its predecessors that it doesn't lengthen
2335 // Return -1 if left has higher priority, 1 if right has higher priority.
2337 static int BUCompareLatency(SUnit *left, SUnit *right, bool checkPref,
2342 int RPenalty = hasVRegCycleUse(right) ? 1 : 0;
2344 int RHeight = (int)right->getHeight() + RPenalty;
2348 bool RStall = (!checkPref || right->SchedulingPref == Sched::ILP) &&
2349 BUHasStall(right, RHeight, SPQ);
2365 right->SchedulingPref == Sched::ILP)) {
2375 int RDepth = right->getDepth() - RPenalty;
2378 << ") depth " << LDepth << " vs SU (" << right->NodeNum
2382 if (left->Latency != right->Latency)
2383 return left->Latency > right->Latency ? 1 : -1;
2388 static bool BURRSort(SUnit *left, SUnit *right, RegReductionPQBase *SPQ) {
2395 bool RHasPhysReg = right->hasPhysRegDefs;
2402 << PhysRegMsg[LHasPhysReg] << " SU(" << right->NodeNum << ") "
2410 unsigned RPriority = SPQ->getNodePriority(right);
2414 if (left->isCall && right->isCallOp) {
2415 unsigned RNumVals = right->getNode()->getNumValues();
2418 if (right->isCall && left->isCallOp) {
2428 if (left->isCall || right->isCall) {
2430 unsigned ROrder = SPQ->getNodeOrdering(right);
2456 unsigned RDist = closestSucc(right);
2462 unsigned RScratch = calcMaxScratches(right);
2468 if ((left->isCall && RPriority > 0) || (right->isCall && LPriority > 0))
2469 return (left->NodeQueueId > right->NodeQueueId);
2473 !(left->isCall || right->isCall)) {
2474 int result = BUCompareLatency(left, right, false /*checkPref*/, SPQ);
2479 if (left->getHeight() != right->getHeight())
2480 return left->getHeight() > right->getHeight();
2482 if (left->getDepth() != right->getDepth())
2483 return left->getDepth() < right->getDepth();
2486 assert(left->NodeQueueId && right->NodeQueueId &&
2488 return (left->NodeQueueId > right->NodeQueueId);
2492 bool bu_ls_rr_sort::operator()(SUnit *left, SUnit *right) const {
2493 if (int res = checkSpecialNodes(left, right))
2496 return BURRSort(left, right, SPQ);
2500 bool src_ls_rr_sort::operator()(SUnit *left, SUnit *right) const {
2501 if (int res = checkSpecialNodes(left, right))
2505 unsigned ROrder = SPQ->getNodeOrdering(right);
2512 return BURRSort(left, right, SPQ);
2533 // Return true if right should be scheduled with higher priority than left.
2534 bool hybrid_ls_rr_sort::operator()(SUnit *left, SUnit *right) const {
2535 if (int res = checkSpecialNodes(left, right))
2538 if (left->isCall || right->isCall)
2540 return BURRSort(left, right, SPQ);
2543 bool RHigh = SPQ->HighRegPressure(right);
2548 << right->NodeNum << ")\n");
2552 DEBUG(dbgs() << " pressure SU(" << right->NodeNum << ") > SU("
2557 int result = BUCompareLatency(left, right, true /*checkPref*/, SPQ);
2561 return BURRSort(left, right, SPQ);
2600 bool ilp_ls_rr_sort::operator()(SUnit *left, SUnit *right) const {
2601 if (int res = checkSpecialNodes(left, right))
2604 if (left->isCall || right->isCall)
2606 return BURRSort(left, right, SPQ);
2612 RPDiff = SPQ->RegPressureDiff(right, RLiveUses);
2616 << " != SU(" << right->NodeNum << "): " << RPDiff << "\n");
2622 bool RReduce = canEnableCoalescing(right);
2629 << " != SU(" << right->NodeNum << "): " << RLiveUses << "\n");
2635 bool RStall = BUHasStall(right, right->getHeight(), SPQ);
2637 return left->getHeight() > right->getHeight();
2641 int spread = (int)left->getDepth() - (int)right->getDepth();
2644 << left->getDepth() << " != SU(" << right->NodeNum << "): "
2645 << right->getDepth() << "\n");
2646 return left->getDepth() < right->getDepth();
2650 if (!DisableSchedHeight && left->getHeight() != right->getHeight()) {
2651 int spread = (int)left->getHeight() - (int)right->getHeight();
2653 return left->getHeight() > right->getHeight();
2656 return BURRSort(left, right, SPQ);