Lines Matching refs:CFStack

28 struct CFStack {  struct
43 CFStack(const R600Subtarget *st, CallingConv::ID cc) : ST(st), in CFStack() argument
48 bool branchStackContains(CFStack::StackItem);
50 unsigned getSubEntrySize(CFStack::StackItem Item);
58 unsigned CFStack::getLoopDepth() { in getLoopDepth()
62 bool CFStack::branchStackContains(CFStack::StackItem Item) { in branchStackContains()
66 bool CFStack::requiresWorkAroundForInst(unsigned Opcode) { in requiresWorkAroundForInst()
104 unsigned CFStack::getSubEntrySize(CFStack::StackItem Item) { in getSubEntrySize()
108 case CFStack::FIRST_NON_WQM_PUSH: in getSubEntrySize()
122 case CFStack::FIRST_NON_WQM_PUSH_W_FULL_ENTRY: in getSubEntrySize()
127 case CFStack::SUB_ENTRY: in getSubEntrySize()
132 void CFStack::updateMaxStackSize() { in updateMaxStackSize()
137 void CFStack::pushBranch(unsigned Opcode, bool isWQM) { in pushBranch()
138 CFStack::StackItem Item = CFStack::ENTRY; in pushBranch()
144 !branchStackContains(CFStack::FIRST_NON_WQM_PUSH)) in pushBranch()
145 Item = CFStack::FIRST_NON_WQM_PUSH; // May not be required on Evergreen/NI in pushBranch()
151 !branchStackContains(CFStack::FIRST_NON_WQM_PUSH_W_FULL_ENTRY)) in pushBranch()
152 Item = CFStack::FIRST_NON_WQM_PUSH_W_FULL_ENTRY; in pushBranch()
154 Item = CFStack::SUB_ENTRY; in pushBranch()
156 Item = CFStack::ENTRY; in pushBranch()
160 if (Item == CFStack::ENTRY) in pushBranch()
167 void CFStack::pushLoop() { in pushLoop()
168 LoopStack.push_back(CFStack::ENTRY); in pushLoop()
173 void CFStack::popBranch() { in popBranch()
174 CFStack::StackItem Top = BranchStack.back(); in popBranch()
175 if (Top == CFStack::ENTRY) in popBranch()
182 void CFStack::popLoop() { in popLoop()
483 CFStack CFStack(ST, MF.getFunction().getCallingConv()); in runOnMachineFunction() local
516 CFStack.requiresWorkAroundForInst(MI->getOpcode()); in runOnMachineFunction()
527 CFStack.pushBranch(R600::CF_PUSH_EG); in runOnMachineFunction()
529 CFStack.pushBranch(R600::CF_ALU_PUSH_BEFORE); in runOnMachineFunction()
538 CFStack.pushLoop(); in runOnMachineFunction()
551 CFStack.popLoop(); in runOnMachineFunction()
589 CFStack.popBranch(); in runOnMachineFunction()
665 MFI->CFStackSize = CFStack.MaxStackSize; in runOnMachineFunction()