Lines Matching full:bsi
140 static bool splitMBB(BlockSplitInfo &BSI) { in splitMBB() argument
141 assert(BSI.allInstrsInSameMBB() && in splitMBB()
144 MachineBasicBlock *ThisMBB = BSI.OrigBranch->getParent(); in splitMBB()
156 unsigned OrigBROpcode = BSI.OrigBranch->getOpcode(); in splitMBB()
163 unsigned NewBROpcode = BSI.InvertNewBranch ? InvertedOpcode : OrigBROpcode; in splitMBB()
164 MachineBasicBlock *OrigTarget = BSI.OrigBranch->getOperand(1).getMBB(); in splitMBB()
169 BSI.BranchToFallThrough ? OrigFallThrough : OrigTarget; in splitMBB()
184 if (BSI.MBPI) { in splitMBB()
185 if (BSI.BranchToFallThrough) { in splitMBB()
186 ProbToNewTarget = BSI.MBPI->getEdgeProbability(ThisMBB, OrigFallThrough) / 2; in splitMBB()
191 ProbToNewTarget = BSI.MBPI->getEdgeProbability(ThisMBB, OrigTarget) / 2; in splitMBB()
199 MachineBasicBlock::iterator InsertPoint = BSI.SplitBefore; in splitMBB()
220 BuildMI(*ThisMBB, ThisMBB->end(), BSI.SplitBefore->getDebugLoc(), in splitMBB()
222 .addReg(BSI.SplitCond->getOperand(0).getReg()) in splitMBB()
224 BuildMI(*ThisMBB, ThisMBB->end(), BSI.SplitBefore->getDebugLoc(), in splitMBB()
227 if (BSI.MIToDelete) in splitMBB()
228 BSI.MIToDelete->eraseFromParent(); in splitMBB()
232 if (BSI.NewCond) { in splitMBB()
235 FirstTerminator->getOperand(0).setReg(BSI.NewCond->getOperand(0).getReg()); in splitMBB()
237 if (BSI.InvertOrigBranch) in splitMBB()
693 BlockSplitInfo BSI { Branch, SplitBefore, SplitCond, InvertNewBranch, in splitBlockOnBinaryCROp() local
696 bool Changed = splitMBB(BSI); in splitBlockOnBinaryCROp()