Lines Matching defs:useIt

1178 UseIterator GateAccessor::ReplaceIn(const UseIterator &useIt, GateRef replaceGate)
1180 UseIterator next = useIt;
1182 Gate *curGatePtr = circuit_->LoadGatePtr(*useIt);
1184 curGatePtr->ModifyIn(useIt.GetIndex(), replaceGatePtr);
1198 UseIterator GateAccessor::ReplaceHirIfSuccess(const UseIterator &useIt, GateRef state)
1200 ASSERT(GetOpCode(*useIt) == OpCode::IF_SUCCESS);
1201 auto uses = Uses(*useIt);
1207 auto next = DeleteGate(useIt);
1211 UseIterator GateAccessor::ReplaceHirIfException(const UseIterator &useIt, StateDepend replacement)
1213 ASSERT(GetOpCode(*useIt) == OpCode::IF_EXCEPTION);
1214 auto uses = Uses(*useIt);
1224 UseIterator next = useIt;
1344 UseIterator GateAccessor::DeleteGate(const UseIterator &useIt)
1346 auto next = useIt;
1348 circuit_->DeleteGate(*useIt);
1352 void GateAccessor::DecreaseIn(const UseIterator &useIt)
1354 size_t idx = useIt.GetIndex();
1355 circuit_->DecreaseIn(*useIt, idx);
1389 for (auto useIt = uses.begin(); useIt != uses.end();) {
1390 useIt = ReplaceIn(useIt, newIn);
1500 bool GateAccessor::IsStateIn(const UseIterator &useIt) const
1503 size_t stateEndIndex = stateStartIndex + GetStateCount(*useIt);
1504 size_t index = useIt.GetIndex();
1508 bool GateAccessor::IsDependIn(const UseIterator &useIt) const
1510 size_t dependStartIndex = GetStateCount(*useIt);
1511 size_t dependEndIndex = dependStartIndex + GetDependCount(*useIt);
1512 size_t index = useIt.GetIndex();
1516 bool GateAccessor::IsValueIn(const UseIterator &useIt) const
1518 size_t valueStartIndex = GetInValueStarts(*useIt);
1519 size_t valueEndIndex = valueStartIndex + GetInValueCount(*useIt);
1520 size_t index = useIt.GetIndex();
1524 bool GateAccessor::IsFrameStateIn(const UseIterator &useIt) const
1526 size_t index = useIt.GetIndex();
1527 return IsFrameStateIn(*useIt, index);
1570 for (auto useIt = uses.begin(); useIt != uses.end();) {
1571 if (IsStateIn(useIt)) {
1573 useIt = ReplaceIn(useIt, state);
1574 } else if (IsDependIn(useIt)) {
1576 useIt = ReplaceIn(useIt, depend);
1577 } else if (IsValueIn(useIt)) {
1579 useIt = ReplaceIn(useIt, value);
1632 for (auto useIt = uses.begin(); useIt != uses.end();) {
1633 if (IsStateIn(useIt)) {
1634 OpCode opcode = GetOpCode(*useIt);
1636 useIt++;
1638 useIt = ReplaceIn(useIt, newState);
1652 for (auto useIt = uses.begin(); useIt != uses.end();) {
1653 if (IsStateIn(useIt) && (*useIt != newGate)) {
1657 if (!IsState(*useIt)) {
1658 useIt++;
1661 useIt = ReplaceIn(useIt, newGate);
1663 useIt++;
1668 for (auto useIt = uses.begin(); useIt != uses.end();) {
1669 if (IsDependIn(useIt) && (*useIt != newGate)) {
1671 useIt = ReplaceIn(useIt, newGate);
1673 useIt++;
1793 for (auto useIt = uses.begin(); useIt != uses.end(); ++useIt) {
1794 if (GetOpCode(*useIt) == opcode) {
1795 return *useIt;
1904 for (auto useIt = uses.begin(); useIt != uses.end(); useIt++) {
1905 if (GetOpCode(*useIt) == OpCode::DEPEND_SELECTOR) {
1906 depend = *useIt;
1994 bool GateAccessor::IsLoopBackUse(GateRef gate, const UseIterator &useIt) const
1996 if (IsLoopBack(gate) && IsStateIn(useIt)) {
1997 return IsLoopHead(*useIt);
1999 if ((IsValueSelector(*useIt) && IsValueIn(useIt)) ||
2000 (IsDependSelector(*useIt) && IsDependIn(useIt))) {
2001 return IsLoopHead(GetState(*useIt));