Home | History | Annotate | Download | only in Hexagon

Lines Matching refs:IndexType

32   IndexType S = start(), E = end(), AS = A.start(), AE = A.end();
47 IndexType E = (end() != IndexType::None) ? end() : start();
48 IndexType AE = (A.end() != IndexType::None) ? A.end() : A.start();
59 IndexType AS = A.start(), AE = A.end();
60 if (AS < start() || start() == IndexType::None)
62 if (end() < AE || end() == IndexType::None) {
116 IndexType AS = A.start(), AE = A.end();
117 IndexType BS = B.start(), BE = B.end();
121 if (AE == IndexType::None)
127 assert(AE != IndexType::None);
134 if (BE == IndexType::None)
162 IndexType Idx = IndexType::First;
167 assert(getIndex(&In) == IndexType::None && "Instruction already in map");
171 Last = B.empty() ? IndexType::None : unsigned(Idx)-1;
175 MachineInstr *HexagonBlockRanges::InstrIndexMap::getInstr(IndexType Idx) const {
181 HexagonBlockRanges::IndexType HexagonBlockRanges::InstrIndexMap::getIndex(
186 return IndexType::None;
190 HexagonBlockRanges::IndexType HexagonBlockRanges::InstrIndexMap::getPrevIndex(
191 IndexType Idx) const {
192 assert (Idx != IndexType::None);
193 if (Idx == IndexType::Entry)
194 return IndexType::None;
195 if (Idx == IndexType::Exit)
198 return IndexType::Entry;
203 HexagonBlockRanges::IndexType HexagonBlockRanges::InstrIndexMap::getNextIndex(
204 IndexType Idx) const {
205 assert (Idx != IndexType::None);
206 if (Idx == IndexType::Entry)
207 return IndexType::First;
208 if (Idx == IndexType::Exit || Idx == Last)
209 return IndexType::None;
285 std::map<RegisterRef,IndexType> LastDef, LastUse;
295 LastDef[R] = IndexType::Entry;
299 if (LD == IndexType::None)
300 LD = IndexType::Entry;
301 if (LU == IndexType::None)
302 LU = IndexType::Exit;
304 LastUse[R] = LastDef[R] = IndexType::None;
310 IndexType Index = IndexMap.getIndex(&In);
333 if (LastDef[S] != IndexType::None || LastUse[S] != IndexType::None)
348 LastUse[R] = IndexType::Exit;
353 if (I.second != IndexType::None)
356 if (I.second != IndexType::None)
385 DeadMap[R].add(IndexType::Entry, IndexType::Exit, false, false);
393 if (A->start() != IndexType::Entry) {
394 IndexType DE = IndexMap.getPrevIndex(A->start());
395 if (DE != IndexType::Entry)
396 DeadMap[R].add(IndexType::Entry, DE, false, false);
402 IndexType AE = (A->end() == IndexType::None) ? A->start() : A->end();
403 IndexType DS = IndexMap.getNextIndex(AE);
405 IndexType DE = IndexMap.getPrevIndex(A->start());
411 if (Z->end() != IndexType::Exit) {
412 IndexType ZE = (Z->end() == IndexType::None) ? Z->start() : Z->end();
413 IndexType DS = IndexMap.getNextIndex(ZE);
414 if (DS < IndexType::Exit)
415 DeadMap[R].add(DS, IndexType::Exit, false, false);
441 HexagonBlockRanges::IndexType Idx) {
442 if (Idx == HexagonBlockRanges::IndexType::None)
444 if (Idx == HexagonBlockRanges::IndexType::Entry)
446 if (Idx == HexagonBlockRanges::IndexType::Exit)
448 return OS << unsigned(Idx)-HexagonBlockRanges::IndexType::First+1;
470 HexagonBlockRanges::IndexType Idx = M.getIndex(&In);