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()
103 unsigned CFStack::getSubEntrySize(CFStack::StackItem Item) { in getSubEntrySize()
107 case CFStack::FIRST_NON_WQM_PUSH: in getSubEntrySize()
120 case CFStack::FIRST_NON_WQM_PUSH_W_FULL_ENTRY: in getSubEntrySize()
125 case CFStack::SUB_ENTRY: in getSubEntrySize()
130 void CFStack::updateMaxStackSize() { in updateMaxStackSize()
135 void CFStack::pushBranch(unsigned Opcode, bool isWQM) { in pushBranch()
136 CFStack::StackItem Item = CFStack::ENTRY; in pushBranch()
142 !branchStackContains(CFStack::FIRST_NON_WQM_PUSH)) in pushBranch()
143 Item = CFStack::FIRST_NON_WQM_PUSH; // May not be required on Evergreen/NI in pushBranch()
149 !branchStackContains(CFStack::FIRST_NON_WQM_PUSH_W_FULL_ENTRY)) in pushBranch()
150 Item = CFStack::FIRST_NON_WQM_PUSH_W_FULL_ENTRY; in pushBranch()
152 Item = CFStack::SUB_ENTRY; in pushBranch()
154 Item = CFStack::ENTRY; in pushBranch()
158 if (Item == CFStack::ENTRY) in pushBranch()
165 void CFStack::pushLoop() { in pushLoop()
166 LoopStack.push_back(CFStack::ENTRY); in pushLoop()
171 void CFStack::popBranch() { in popBranch()
172 CFStack::StackItem Top = BranchStack.back(); in popBranch()
173 if (Top == CFStack::ENTRY) in popBranch()
180 void CFStack::popLoop() { in popLoop()
481 CFStack CFStack(ST, MF.getFunction().getCallingConv()); in runOnMachineFunction() local
514 CFStack.requiresWorkAroundForInst(MI->getOpcode()); in runOnMachineFunction()
525 CFStack.pushBranch(R600::CF_PUSH_EG); in runOnMachineFunction()
527 CFStack.pushBranch(R600::CF_ALU_PUSH_BEFORE); in runOnMachineFunction()
536 CFStack.pushLoop(); in runOnMachineFunction()
549 CFStack.popLoop(); in runOnMachineFunction()
587 CFStack.popBranch(); in runOnMachineFunction()
663 MFI->CFStackSize = CFStack.MaxStackSize; in runOnMachineFunction()