Lines Matching defs:Stack
98 unsigned getBranchDepth(const SmallVectorImpl<EndMarkerInfo> &Stack,
100 unsigned getDelegateDepth(const SmallVectorImpl<EndMarkerInfo> &Stack,
102 unsigned getRethrowDepth(const SmallVectorImpl<EndMarkerInfo> &Stack,
2488 const SmallVectorImpl<EndMarkerInfo> &Stack, const MachineBasicBlock *MBB) {
2490 for (auto X : reverse(Stack)) {
2495 assert(Depth < Stack.size() && "Branch destination should be in scope");
2500 const SmallVectorImpl<EndMarkerInfo> &Stack, const MachineBasicBlock *MBB) {
2502 return Stack.size();
2508 return getBranchDepth(Stack, MBB);
2511 // corresponding try's end_try BB because Stack contains each marker's end BB.
2525 for (auto X : reverse(Stack)) {
2530 assert(Depth < Stack.size() && "Delegate destination should be in scope");
2535 const SmallVectorImpl<EndMarkerInfo> &Stack,
2538 for (auto X : reverse(Stack)) {
2547 assert(Depth < Stack.size() && "Rethrow destination should be in scope");
2553 SmallVector<EndMarkerInfo, 8> Stack;
2563 MO = MachineOperand::CreateImm(getDelegateDepth(Stack, MO.getMBB()));
2565 MO = MachineOperand::CreateImm(getRethrowDepth(Stack, MO.getMBB()));
2567 MO = MachineOperand::CreateImm(getBranchDepth(Stack, MO.getMBB()));
2578 assert(ScopeTops[Stack.back().first->getNumber()]->getNumber() <=
2581 Stack.pop_back();
2585 assert(ScopeTops[Stack.back().first->getNumber()]->getNumber() <=
2588 Stack.pop_back();
2593 assert(Stack.back().first == &MBB && "Loop top should be balanced");
2594 Stack.pop_back();
2600 Stack.push_back(std::make_pair(&MBB, &MI));
2604 Stack.push_back(std::make_pair(EndToBegin[&MI]->getParent(), &MI));
2609 Stack.push_back(std::make_pair(&MBB, &MI));
2619 assert(Stack.empty() && "Control flow should be balanced");