Lines Matching refs:StateExact
95 StateExact = 0x8, enumerator
111 std::pair(StateStrictWQM, "StrictWQM"), std::pair(StateExact, "Exact")}; in operator <<()
295 assert(!(Flag & StateExact) && Flag != 0); in markInstruction()
546 BBI.Needs |= StateExact; in scanInstructions()
547 if (!(BBI.InNeeds & StateExact)) { in scanInstructions()
548 BBI.InNeeds |= StateExact; in scanInstructions()
551 GlobalFlags |= StateExact; in scanInstructions()
579 BBI.Needs |= StateExact; in scanInstructions()
580 if (!(BBI.InNeeds & StateExact)) { in scanInstructions()
581 BBI.InNeeds |= StateExact; in scanInstructions()
584 GlobalFlags |= StateExact; in scanInstructions()
673 assert(!(II.Needs & StateExact)); in propagateInstruction()
1228 StateTransition[MI] = StateExact; in toExact()
1305 if (!IsEntry && BI.Needs == StateWQM && BI.OutNeeds != StateExact) { in processBlock()
1316 char State = (IsEntry || !(BI.InNeeds & StateWQM)) ? StateExact : StateWQM; in processBlock()
1343 char Needs = StateExact | StateWQM; // Strict mode is disabled by default. in processBlock()
1373 Needs = StateExact | StateWQM | StateStrict; in processBlock()
1377 if (MI.isBranch() && OutNeeds == StateExact) in processBlock()
1378 Needs = StateExact; in processBlock()
1385 else if (BI.OutNeeds == StateExact) in processBlock()
1386 Needs = StateExact; in processBlock()
1388 Needs = StateWQM | StateExact; in processBlock()
1406 case StateExact: in processBlock()
1445 if (State == StateWQM && (Needs & StateExact) && !(Needs & StateWQM)) { in processBlock()
1452 State = StateExact; in processBlock()
1453 } else if (State == StateExact && (Needs & StateWQM) && in processBlock()
1454 !(Needs & StateExact)) { in processBlock()
1473 if (Needs != (StateExact | StateWQM | StateStrict)) { in processBlock()
1474 if (Needs != (StateExact | StateWQM)) in processBlock()