Lines Matching defs:Needs

128   char Needs = 0;
135 char Needs = 0;
278 << ", Needs = " << PrintState(BII.second.Needs)
284 dbgs() << " " << MI << " Needs = " << PrintState(III->second.Needs)
309 if ((II.Needs & Flag) == Flag)
313 II.Needs |= Flag;
542 BBI.Needs |= StateExact;
556 III.Needs |= StateStrictWQM;
571 BBI.Needs |= StateExact;
636 Instructions[&MI].Needs = StateWQM;
637 II.Needs = StateWQM;
641 if (II.Needs & StateWQM) {
642 BI.Needs |= StateWQM;
651 char InNeeds = (II.Needs & ~StateStrict) | II.OutNeeds;
662 assert(!(II.Needs & StateExact));
664 if (II.Needs != 0)
665 markInstructionUses(MI, II.Needs, Worklist);
669 if (II.Needs & StateStrictWWM)
670 BI.Needs |= StateStrictWWM;
671 if (II.Needs & StateStrictWQM)
672 BI.Needs |= StateStrictWQM;
1257 if (!IsEntry && BI.Needs == StateWQM && BI.OutNeeds != StateExact) {
1295 char Needs = StateExact | StateWQM; // Strict mode is disabled by default.
1306 Needs = StateWQM;
1308 // First, figure out the allowed states (Needs) based on the propagated
1316 if (III->second.Needs & StateStrictWWM)
1317 Needs = StateStrictWWM;
1318 else if (III->second.Needs & StateStrictWQM)
1319 Needs = StateStrictWQM;
1320 else if (III->second.Needs & StateWQM)
1321 Needs = StateWQM;
1323 Needs &= ~III->second.Disabled;
1329 Needs = StateExact | StateWQM | StateStrict;
1334 Needs = StateExact;
1340 Needs = StateWQM;
1342 Needs = StateExact;
1344 Needs = StateWQM | StateExact;
1348 if (!(Needs & State)) {
1350 if (State == StateStrictWWM || Needs == StateStrictWWM ||
1351 State == StateStrictWQM || Needs == StateStrictWQM) {
1368 SaveSCC = (Needs & StateStrict) || ((Needs & StateWQM) && WQMFromExec);
1372 SaveSCC = !(Needs & StateWQM);
1380 StartState == StateWQM && (Needs & StateExact) && !(Needs & StateWQM);
1381 bool ExactToWQM = StartState == StateExact && (Needs & StateWQM) &&
1382 !(Needs & StateExact);
1383 bool PreferLast = Needs == StateWQM;
1409 if (Needs & StateStrict) {
1411 assert(Needs == StateStrictWWM || Needs == StateStrictWQM);
1415 toStrictMode(MBB, Before, SavedNonStrictReg, Needs);
1416 State = Needs;
1440 assert(Needs & State);
1445 if (Needs != (StateExact | StateWQM | StateStrict)) {
1446 if (Needs != (StateExact | StateWQM))
1767 Instructions[MI].Needs |= StateStrictWWM;
1769 Blocks[MI->getParent()].Needs |= StateStrictWWM;