/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/ |
D | TailDuplicator.cpp | 340 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument 356 if (isDefLiveOut(DefReg, TailBB, MRI) || RegsUsedByPhi.count(DefReg)) in processPHI() 372 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument 396 if (isDefLiveOut(Reg, TailBB, MRI) || UsedByPhi.count(Reg)) in duplicateInstruction() 544 MachineBasicBlock &TailBB) { in shouldTailDuplicate() argument 548 if (!LayoutMode && TailBB.canFallThrough()) in shouldTailDuplicate() 552 if (TailBB.isSuccessor(&TailBB)) in shouldTailDuplicate() 574 if (TII->analyzeBranch(TailBB, PredTBB, PredFBB, PredCond) && in shouldTailDuplicate() 575 TailBB.canFallThrough()) in shouldTailDuplicate() 585 if (!TailBB.empty()) in shouldTailDuplicate() [all …]
|
D | IfConversion.cpp | 1914 MachineBasicBlock *TailBB = TrueBBI.TrueBB; in IfConvertDiamond() local 1917 if (!TailBB) { in IfConvertDiamond() 1919 TailBB = FalseBBI.TrueBB; in IfConvertDiamond() 1920 assert((TailBB || !TrueBBI.IsBrAnalyzable) && "Unexpected!"); in IfConvertDiamond() 1928 /* MergeAddEdges */ TailBB == nullptr)) in IfConvertDiamond() 1935 if (TailBB) { in IfConvertDiamond() 1941 BBInfo &TailBBI = BBAnalysis[TailBB->getNumber()]; in IfConvertDiamond() 1952 unsigned NumPreds = TailBB->pred_size(); in IfConvertDiamond() 1956 MachineBasicBlock::pred_iterator PI = TailBB->pred_begin(); in IfConvertDiamond() 1964 BBI.BB->addSuccessor(TailBB, BranchProbability::getOne()); in IfConvertDiamond() [all …]
|
D | MachineBlockPlacement.cpp | 2112 auto TailBB = *TailIter; in rotateLoopWithProfile() local 2126 if (TailBB != ExitWithFreq.first) in rotateLoopWithProfile() 2143 if (TailBB->isSuccessor(*Iter)) { in rotateLoopWithProfile() 2144 auto TailBBFreq = MBFI->getBlockFreq(TailBB); in rotateLoopWithProfile() 2145 if (TailBB->succ_size() == 1) in rotateLoopWithProfile() 2148 else if (TailBB->succ_size() == 2) { in rotateLoopWithProfile() 2149 auto TailToHeadProb = MBPI->getEdgeProbability(TailBB, *Iter); in rotateLoopWithProfile()
|
/external/llvm/lib/CodeGen/ |
D | TailDuplicator.cpp | 304 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument 320 if (isDefLiveOut(DefReg, TailBB, MRI) || RegsUsedByPhi.count(DefReg)) in processPHI() 336 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument 354 if (isDefLiveOut(Reg, TailBB, MRI) || UsedByPhi.count(Reg)) in duplicateInstruction() 508 MachineBasicBlock &TailBB) { in shouldTailDuplicate() argument 510 if (TailBB.canFallThrough()) in shouldTailDuplicate() 514 if (TailBB.isSuccessor(&TailBB)) in shouldTailDuplicate() 535 if (!TailBB.empty()) in shouldTailDuplicate() 536 HasIndirectbr = TailBB.back().isIndirectBranch(); in shouldTailDuplicate() 544 for (MachineInstr &MI : TailBB) { in shouldTailDuplicate() [all …]
|
D | IfConversion.cpp | 1348 MachineBasicBlock *TailBB = TrueBBI.TrueBB; in IfConvertDiamond() local 1350 if (!TailBB) { in IfConvertDiamond() 1352 TailBB = FalseBBI.TrueBB; in IfConvertDiamond() 1353 assert((TailBB || !TrueBBI.IsBrAnalyzable) && "Unexpected!"); in IfConvertDiamond() 1539 MergeBlocks(BBI, *BBI1, TailBB == nullptr); in IfConvertDiamond() 1540 MergeBlocks(BBI, *BBI2, TailBB == nullptr); in IfConvertDiamond() 1546 if (TailBB) { in IfConvertDiamond() 1547 BBInfo &TailBBI = BBAnalysis[TailBB->getNumber()]; in IfConvertDiamond() 1558 unsigned NumPreds = TailBB->pred_size(); in IfConvertDiamond() 1562 MachineBasicBlock::pred_iterator PI = TailBB->pred_begin(); in IfConvertDiamond() [all …]
|
D | MachineBlockPlacement.cpp | 1189 auto TailBB = *TailIter; in rotateLoopWithProfile() local 1203 if (TailBB != ExitWithFreq.first) in rotateLoopWithProfile() 1220 if (TailBB->isSuccessor(*Iter)) { in rotateLoopWithProfile() 1221 auto TailBBFreq = MBFI->getBlockFreq(TailBB); in rotateLoopWithProfile() 1222 if (TailBB->succ_size() == 1) in rotateLoopWithProfile() 1225 else if (TailBB->succ_size() == 2) { in rotateLoopWithProfile() 1226 auto TailToHeadProb = MBPI->getEdgeProbability(TailBB, *Iter); in rotateLoopWithProfile()
|
/external/swiftshader/third_party/LLVM/lib/CodeGen/ |
D | TailDuplication.cpp | 82 void ProcessPHI(MachineInstr *MI, MachineBasicBlock *TailBB, 89 MachineBasicBlock *TailBB, 99 bool IsSimple, MachineBasicBlock &TailBB); 100 bool isSimpleBB(MachineBasicBlock *TailBB); 102 bool duplicateSimpleBB(MachineBasicBlock *TailBB, 106 bool TailDuplicate(MachineBasicBlock *TailBB, 376 MachineBasicBlock *TailBB, in ProcessPHI() argument 393 if (isDefLiveOut(DefReg, TailBB, MRI) || RegsUsedByPhi.count(DefReg)) in ProcessPHI() 409 MachineBasicBlock *TailBB, in DuplicateInstruction() argument 427 if (isDefLiveOut(Reg, TailBB, MRI) || UsedByPhi.count(Reg)) in DuplicateInstruction() [all …]
|
D | IfConversion.cpp | 1205 MachineBasicBlock *TailBB = TrueBBI.TrueBB; in IfConvertDiamond() local 1207 if (!TailBB) { in IfConvertDiamond() 1209 TailBB = FalseBBI.TrueBB; in IfConvertDiamond() 1210 assert((TailBB || !TrueBBI.IsBrAnalyzable) && "Unexpected!"); in IfConvertDiamond() 1314 MergeBlocks(BBI, *BBI1, TailBB == 0); in IfConvertDiamond() 1315 MergeBlocks(BBI, *BBI2, TailBB == 0); in IfConvertDiamond() 1321 if (TailBB) { in IfConvertDiamond() 1322 BBInfo TailBBI = BBAnalysis[TailBB->getNumber()]; in IfConvertDiamond() 1326 unsigned NumPreds = TailBB->pred_size(); in IfConvertDiamond() 1330 MachineBasicBlock::pred_iterator PI = TailBB->pred_begin(); in IfConvertDiamond() [all …]
|
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/ |
D | TailDuplicator.h | 72 static bool isSimpleBB(MachineBasicBlock *TailBB); 73 bool shouldTailDuplicate(bool IsSimple, MachineBasicBlock &TailBB); 76 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB); 95 void processPHI(MachineInstr *MI, MachineBasicBlock *TailBB, 100 void duplicateInstruction(MachineInstr *MI, MachineBasicBlock *TailBB, 108 bool duplicateSimpleBB(MachineBasicBlock *TailBB, 113 MachineBasicBlock *TailBB,
|
/external/llvm/include/llvm/CodeGen/ |
D | TailDuplicator.h | 51 static bool isSimpleBB(MachineBasicBlock *TailBB); 53 MachineBasicBlock &TailBB); 62 void processPHI(MachineInstr *MI, MachineBasicBlock *TailBB, 67 void duplicateInstruction(MachineInstr *MI, MachineBasicBlock *TailBB, 75 bool duplicateSimpleBB(MachineBasicBlock *TailBB, 80 MachineBasicBlock *TailBB,
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Scalar/ |
D | CallSiteSplitting.cpp | 307 BasicBlock *TailBB = Instr->getParent(); in splitCallSite() local 327 TailBB, PredBB, &*std::next(Instr->getIterator()), ValueToValueMaps[i], in splitCallSite() 337 for (PHINode &PN : TailBB->phis()) { in splitCallSite() 364 SmallVector<BasicBlock *, 2> Splits(predecessors((TailBB))); in splitCallSite() 370 TailBB->eraseFromParent(); in splitCallSite() 374 auto *OriginalBegin = &*TailBB->begin(); in splitCallSite() 389 while (I != TailBB->rend()) { in splitCallSite() 400 NewPN->insertBefore(&*TailBB->begin()); in splitCallSite()
|
/external/swiftshader/third_party/llvm-7.0/llvm/test/Transforms/CallSiteSplitting/ |
D | callsite-instructions-before-call.ll | 141 ; In this test case, we need to insert a new PHI node in TailBB to combine
|