Lines Matching refs:idx

24     for (size_t idx = 0; idx < numIns; idx++) {
25 if (IsInGateNull(idx)) {
26 CheckFailed("In list contains null", idx);
38 void Gate::CheckInputOpcode(size_t idx, OpCode expected) const
40 OpCode actual = GetInGateConst(idx)->GetOpCode();
43 " actual:" + GateMetaData::Str(actual) + ")", idx);
47 void Gate::CheckInputMachineType(size_t idx, MachineType expected, bool isArch64) const
49 MachineType actual = GetInGateConst(idx)->GetMachineType();
61 MachineTypeToStr(expected) + " actual:" + MachineTypeToStr(actual) + ")", idx);
65 void Gate::CheckNotInputMachineType(size_t idx, MachineType notExpected) const
67 MachineType actual = GetInGateConst(idx)->GetMachineType();
70 MachineTypeToStr(notExpected) + " actual:" + MachineTypeToStr(actual) + ")", idx);
74 void Gate::CheckGeneralState(size_t idx) const
76 auto gatePtr = GetInGateConst(idx);
80 GateMetaData::Str(actual) + ")", idx);
84 void Gate::CheckState(size_t idx) const
86 auto gatePtr = GetInGateConst(idx);
90 GateMetaData::Str(actual) + ")", idx);
98 for (size_t idx = stateStart; idx < stateEnd; idx++) {
103 ASSERT(idx == stateStart);
104 CheckInputOpcode(idx, OpCode::IF_BRANCH);
109 ASSERT(idx == stateStart);
110 CheckInputOpcode(idx, OpCode::SWITCH_BRANCH);
117 CheckState(idx);
126 for (size_t idx = valueStart; idx < valueEnd; idx++) {
129 ASSERT(idx == valueStart);
130 CheckInputMachineType(idx, MachineType::I1, isArch64);
149 CheckInputMachineType(idx, MachineType::FLEX, isArch64);
152 ASSERT(idx == valueStart);
153 CheckInputMachineType(idx, MachineType::I1, isArch64);
156 ASSERT(idx == valueStart);
157 CheckInputMachineType(idx, MachineType::ARCH, isArch64);
160 if ((idx == valueStart + 1) || (idx == valueStart + 2)) { // 1:base, 2:offset
161 CheckInputMachineType(idx, MachineType::ARCH, isArch64);
165 if (idx == valueStart) {
166 CheckInputMachineType(idx, MachineType::ARCH, isArch64);
170 if (idx == valueStart + 1) { // 1: size offset
171 CheckInputMachineType(idx, MachineType::I64, isArch64);
177 ASSERT(idx == valueStart);
183 if (idx == valueStart) { // 1: idx 1
184 CheckInputMachineType(idx, MachineType::I64, isArch64);
188 CheckInputMachineType(idx, MachineType::F64, isArch64);
191 CheckNotInputMachineType(idx, MachineType::F64);
203 for (size_t idx = dependStart; idx < dependEnd; idx++) {
204 if (GetInGateConst(idx)->GetDependCount() == 0 &&
205 GetInGateConst(idx)->GetOpCode() != OpCode::DEPEND_ENTRY) {
207 << GetInGateConst(idx)->GetId() << GateMetaData::Str(GetInGateConst(idx)->GetOpCode());
208 CheckFailed("Depend input is side-effect free", idx);
252 size_t idx = 0;
260 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log);
263 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log);
266 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log);
269 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log);
272 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log, true);
476 void Out::SetIndex(OutIdx idx)
478 idx_ = idx;
562 for (size_t idx = 0; idx < numIns; idx++) {
564 auto in = inList[idx];
566 GetIn(idx)->SetGateNull();
568 NewIn(idx, in);
570 auto curOut = GetOut(idx);
571 curOut->SetIndex(idx);
575 void Gate::NewIn(size_t idx, Gate *in)
577 GetIn(idx)->SetGate(in);
578 auto curOut = GetOut(idx);
589 void Gate::ModifyIn(size_t idx, Gate *in)
591 DeleteIn(idx);
592 NewIn(idx, in);
595 void Gate::DeleteIn(size_t idx)
597 if (!GetOut(idx)->IsNextOutNull() && !GetOut(idx)->IsPrevOutNull()) {
598 GetOut(idx)->GetPrevOut()->SetNextOut(GetOut(idx)->GetNextOut());
599 GetOut(idx)->GetNextOut()->SetPrevOut(GetOut(idx)->GetPrevOut());
600 } else if (GetOut(idx)->IsNextOutNull() && !GetOut(idx)->IsPrevOutNull()) {
601 GetOut(idx)->GetPrevOut()->SetNextOutNull();
602 } else if (!GetOut(idx)->IsNextOutNull()) { // then GetOut(idx)->IsPrevOutNull() is true
603 GetIn(idx)->GetGate()->SetFirstOut(GetOut(idx)->GetNextOut());
604 GetOut(idx)->GetNextOut()->SetPrevOutNull();
606 GetIn(idx)->GetGate()->SetFirstOutNull();
608 GetIn(idx)->SetGateNull();
614 for (size_t idx = 0; idx < numIns; idx++) {
615 DeleteIn(idx);
619 Out *Gate::GetOut(size_t idx)
622 return &reinterpret_cast<Out *>(this)[-1 - idx];
625 const Out *Gate::GetOutConst(size_t idx) const
628 return &reinterpret_cast<const Out *>(this)[-1 - idx];
660 In *Gate::GetIn(size_t idx)
663 if (idx >= GetNumIns()) {
664 LOG_COMPILER(INFO) << std::dec << "Gate In access out-of-bound! (idx=" << idx << ")";
670 return &reinterpret_cast<In *>(this + 1)[idx];
673 const In *Gate::GetInConst(size_t idx) const
676 if (idx >= GetNumIns()) {
677 LOG_COMPILER(INFO) << std::dec << "Gate In access out-of-bound! (idx=" << idx << ")";
683 return &reinterpret_cast<const In *>(this + 1)[idx];
686 Gate *Gate::GetInGate(size_t idx)
688 return GetIn(idx)->GetGate();
691 const Gate *Gate::GetInGateConst(size_t idx) const
693 return GetInConst(idx)->GetGateConst();
696 bool Gate::IsInGateNull(size_t idx) const
698 return GetInConst(idx)->IsGateNull();
820 size_t idx = 0;
830 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, oss);
833 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, oss);
836 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, oss);
839 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, oss);
842 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, oss, true);
906 size_t idx = 0;
914 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log);
917 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log);
920 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log);
923 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log);
926 idx = PrintInGate(end, idx, start, inListPreview, highlightIdx, log, true);
948 size_t Gate::PrintInGate(size_t numIns, size_t idx, size_t size, bool inListPreview, size_t highlightIdx,
952 for (; idx < numIns; idx++) {
953 log << ((idx == size) ? "" : ", ");
954 log << ((idx == highlightIdx) ? "\033[4;31m" : "");
955 log << ((IsInGateNull(idx)
957 : (std::to_string(GetInGateConst(idx)->GetId()) +
958 (inListPreview ? std::string(":" + GateMetaData::Str(GetInGateConst(idx)->GetOpCode()))
960 log << ((idx == highlightIdx) ? "\033[0m" : "");
964 return idx;