Lines Matching refs:HexagonEarlyIfConversion
133 class HexagonEarlyIfConversion : public MachineFunctionPass { class
136 HexagonEarlyIfConversion() : MachineFunctionPass(ID), in HexagonEarlyIfConversion() function in __anon2320980c0111::HexagonEarlyIfConversion
198 char HexagonEarlyIfConversion::ID = 0;
201 INITIALIZE_PASS(HexagonEarlyIfConversion, "hexagon-eif",
204 bool HexagonEarlyIfConversion::isPreheader(const MachineBasicBlock *B) const { in isPreheader()
213 bool HexagonEarlyIfConversion::matchFlowPattern(MachineBasicBlock *B, in matchFlowPattern()
314 bool HexagonEarlyIfConversion::hasEHLabel(const MachineBasicBlock *B) const { in hasEHLabel()
324 bool HexagonEarlyIfConversion::hasUncondBranch(const MachineBasicBlock *B) in hasUncondBranch()
336 bool HexagonEarlyIfConversion::isValidCandidate(const MachineBasicBlock *B) in isValidCandidate()
377 bool HexagonEarlyIfConversion::usesUndefVReg(const MachineInstr *MI) const { in usesUndefVReg()
394 bool HexagonEarlyIfConversion::isValid(const FlowPattern &FP) const { in isValid()
428 unsigned HexagonEarlyIfConversion::computePhiCost(MachineBasicBlock *B) const { in computePhiCost()
453 unsigned HexagonEarlyIfConversion::countPredicateDefs( in countPredicateDefs()
471 bool HexagonEarlyIfConversion::isProfitable(const FlowPattern &FP) const { in isProfitable()
551 bool HexagonEarlyIfConversion::visitBlock(MachineBasicBlock *B, in visitBlock()
597 bool HexagonEarlyIfConversion::visitLoop(MachineLoop *L) { in visitLoop()
613 bool HexagonEarlyIfConversion::isPredicableStore(const MachineInstr *MI) in isPredicableStore()
641 bool HexagonEarlyIfConversion::isSafeToSpeculate(const MachineInstr *MI) in isSafeToSpeculate()
654 unsigned HexagonEarlyIfConversion::getCondStoreOpcode(unsigned Opc, in getCondStoreOpcode()
706 void HexagonEarlyIfConversion::predicateInstr(MachineBasicBlock *ToB, in predicateInstr()
755 void HexagonEarlyIfConversion::predicateBlockNB(MachineBasicBlock *ToB, in predicateBlockNB()
773 void HexagonEarlyIfConversion::updatePhiNodes(MachineBasicBlock *WhereB, in updatePhiNodes()
823 void HexagonEarlyIfConversion::convert(const FlowPattern &FP) { in convert()
919 void HexagonEarlyIfConversion::removeBlock(MachineBasicBlock *B) { in removeBlock()
948 void HexagonEarlyIfConversion::eliminatePhis(MachineBasicBlock *B) { in eliminatePhis()
975 void HexagonEarlyIfConversion::replacePhiEdges(MachineBasicBlock *OldB, in replacePhiEdges()
990 void HexagonEarlyIfConversion::mergeBlocks(MachineBasicBlock *PredB, in mergeBlocks()
1010 void HexagonEarlyIfConversion::simplifyFlowGraph(const FlowPattern &FP) { in simplifyFlowGraph()
1034 bool HexagonEarlyIfConversion::runOnMachineFunction(MachineFunction &MF) { in runOnMachineFunction()
1062 return new HexagonEarlyIfConversion(); in createHexagonEarlyIfConversion()