/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
D | TailDuplicator.cpp | 346 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument 362 if (isDefLiveOut(DefReg, TailBB, MRI) || RegsUsedByPhi.count(DefReg)) in processPHI() 378 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument 402 if (isDefLiveOut(Reg, TailBB, MRI) || UsedByPhi.count(Reg)) in duplicateInstruction() 550 MachineBasicBlock &TailBB) { in shouldTailDuplicate() argument 554 if (!LayoutMode && TailBB.canFallThrough()) in shouldTailDuplicate() 558 if (TailBB.isSuccessor(&TailBB)) in shouldTailDuplicate() 566 llvm::shouldOptimizeForSize(&TailBB, PSI, MBFI); in shouldTailDuplicate() 580 if (TII->analyzeBranch(TailBB, PredTBB, PredFBB, PredCond) && in shouldTailDuplicate() 581 TailBB.canFallThrough()) in shouldTailDuplicate() [all …]
|
D | IfConversion.cpp | 2050 MachineBasicBlock *TailBB = TrueBBI.TrueBB; in IfConvertDiamond() local 2053 if (!TailBB) { in IfConvertDiamond() 2055 TailBB = FalseBBI.TrueBB; in IfConvertDiamond() 2056 assert((TailBB || !TrueBBI.IsBrAnalyzable) && "Unexpected!"); in IfConvertDiamond() 2064 /* MergeAddEdges */ TailBB == nullptr)) in IfConvertDiamond() 2071 if (TailBB) { in IfConvertDiamond() 2077 BBInfo &TailBBI = BBAnalysis[TailBB->getNumber()]; in IfConvertDiamond() 2088 unsigned NumPreds = TailBB->pred_size(); in IfConvertDiamond() 2092 MachineBasicBlock::pred_iterator PI = TailBB->pred_begin(); in IfConvertDiamond() 2100 BBI.BB->addSuccessor(TailBB, BranchProbability::getOne()); in IfConvertDiamond() [all …]
|
D | MachineBlockPlacement.cpp | 2417 auto TailBB = *TailIter; in rotateLoopWithProfile() local 2431 if (TailBB != ExitWithFreq.first) in rotateLoopWithProfile() 2448 if (TailBB->isSuccessor(*Iter)) { in rotateLoopWithProfile() 2449 auto TailBBFreq = MBFI->getBlockFreq(TailBB); in rotateLoopWithProfile() 2450 if (TailBB->succ_size() == 1) in rotateLoopWithProfile() 2453 else if (TailBB->succ_size() == 2) { in rotateLoopWithProfile() 2454 auto TailToHeadProb = MBPI->getEdgeProbability(TailBB, *Iter); in rotateLoopWithProfile()
|
/external/llvm-project/llvm/lib/CodeGen/ |
D | TailDuplicator.cpp | 348 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument 364 if (isDefLiveOut(DefReg, TailBB, MRI) || RegsUsedByPhi.count(DefReg)) in processPHI() 380 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument 404 if (isDefLiveOut(Reg, TailBB, MRI) || UsedByPhi.count(Reg)) in duplicateInstruction() 552 MachineBasicBlock &TailBB) { in shouldTailDuplicate() argument 556 if (!LayoutMode && TailBB.canFallThrough()) in shouldTailDuplicate() 560 if (TailBB.isSuccessor(&TailBB)) in shouldTailDuplicate() 568 llvm::shouldOptimizeForSize(&TailBB, PSI, MBFI); in shouldTailDuplicate() 582 if (TII->analyzeBranch(TailBB, PredTBB, PredFBB, PredCond) && in shouldTailDuplicate() 583 TailBB.canFallThrough()) in shouldTailDuplicate() [all …]
|
D | IfConversion.cpp | 2050 MachineBasicBlock *TailBB = TrueBBI.TrueBB; in IfConvertDiamond() local 2053 if (!TailBB) { in IfConvertDiamond() 2055 TailBB = FalseBBI.TrueBB; in IfConvertDiamond() 2056 assert((TailBB || !TrueBBI.IsBrAnalyzable) && "Unexpected!"); in IfConvertDiamond() 2064 /* MergeAddEdges */ TailBB == nullptr)) in IfConvertDiamond() 2071 if (TailBB) { in IfConvertDiamond() 2077 BBInfo &TailBBI = BBAnalysis[TailBB->getNumber()]; in IfConvertDiamond() 2088 unsigned NumPreds = TailBB->pred_size(); in IfConvertDiamond() 2092 MachineBasicBlock::pred_iterator PI = TailBB->pred_begin(); in IfConvertDiamond() 2100 BBI.BB->addSuccessor(TailBB, BranchProbability::getOne()); in IfConvertDiamond() [all …]
|
D | MachineBlockPlacement.cpp | 2449 auto TailBB = *TailIter; in rotateLoopWithProfile() local 2463 if (TailBB != ExitWithFreq.first) in rotateLoopWithProfile() 2480 if (TailBB->isSuccessor(*Iter)) { in rotateLoopWithProfile() 2481 auto TailBBFreq = MBFI->getBlockFreq(TailBB); in rotateLoopWithProfile() 2482 if (TailBB->succ_size() == 1) in rotateLoopWithProfile() 2485 else if (TailBB->succ_size() == 2) { in rotateLoopWithProfile() 2486 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-10.0/llvm/include/llvm/CodeGen/ |
D | TailDuplicator.h | 77 static bool isSimpleBB(MachineBasicBlock *TailBB); 78 bool shouldTailDuplicate(bool IsSimple, MachineBasicBlock &TailBB); 81 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB); 100 void processPHI(MachineInstr *MI, MachineBasicBlock *TailBB, 105 void duplicateInstruction(MachineInstr *MI, MachineBasicBlock *TailBB, 113 bool duplicateSimpleBB(MachineBasicBlock *TailBB, 118 MachineBasicBlock *TailBB,
|
/external/llvm-project/llvm/include/llvm/CodeGen/ |
D | TailDuplicator.h | 78 static bool isSimpleBB(MachineBasicBlock *TailBB); 79 bool shouldTailDuplicate(bool IsSimple, MachineBasicBlock &TailBB); 82 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB); 103 void processPHI(MachineInstr *MI, MachineBasicBlock *TailBB, 108 void duplicateInstruction(MachineInstr *MI, MachineBasicBlock *TailBB, 116 bool duplicateSimpleBB(MachineBasicBlock *TailBB, 121 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/llvm-project/llvm/lib/Transforms/Scalar/ |
D | CallSiteSplitting.cpp | 308 BasicBlock *TailBB = CB.getParent(); in splitCallSite() local 330 TailBB, PredBB, &*std::next(CB.getIterator()), ValueToValueMaps[i], in splitCallSite() 339 for (PHINode &PN : TailBB->phis()) { in splitCallSite() 366 SmallVector<BasicBlock *, 2> Splits(predecessors((TailBB))); in splitCallSite() 370 DTU.applyUpdatesPermissive({{DominatorTree::Delete, Splits[i], TailBB}}); in splitCallSite() 374 DTU.deleteBB(TailBB); in splitCallSite() 378 auto *OriginalBegin = &*TailBB->begin(); in splitCallSite() 393 while (I != TailBB->rend()) { in splitCallSite() 405 NewPN->insertBefore(&*TailBB->begin()); in splitCallSite()
|
D | MergedLoadStoreMotion.cpp | 286 BasicBlock *TailBB = getDiamondTail(HeadBB); in mergeStores() local 287 BasicBlock *SinkBB = TailBB; in mergeStores() 300 if (!SplitFooterBB && TailBB->hasNPredecessorsOrMore(3)) in mergeStores() 329 if (SinkBB == TailBB && TailBB->hasNPredecessorsOrMore(3)) { in mergeStores() 332 SinkBB = SplitBlockPredecessors(TailBB, {Pred0, Pred1}, ".sink.split"); in mergeStores()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | CallSiteSplitting.cpp | 311 BasicBlock *TailBB = Instr->getParent(); in splitCallSite() local 333 TailBB, PredBB, &*std::next(Instr->getIterator()), ValueToValueMaps[i], in splitCallSite() 343 for (PHINode &PN : TailBB->phis()) { in splitCallSite() 370 SmallVector<BasicBlock *, 2> Splits(predecessors((TailBB))); in splitCallSite() 374 DTU.applyUpdatesPermissive({{DominatorTree::Delete, Splits[i], TailBB}}); in splitCallSite() 378 DTU.deleteBB(TailBB); in splitCallSite() 382 auto *OriginalBegin = &*TailBB->begin(); in splitCallSite() 397 while (I != TailBB->rend()) { in splitCallSite() 409 NewPN->insertBefore(&*TailBB->begin()); in splitCallSite()
|
D | MergedLoadStoreMotion.cpp | 286 BasicBlock *TailBB = getDiamondTail(HeadBB); in mergeStores() local 287 BasicBlock *SinkBB = TailBB; in mergeStores() 300 if (!SplitFooterBB && TailBB->hasNPredecessorsOrMore(3)) in mergeStores() 329 if (SinkBB == TailBB && TailBB->hasNPredecessorsOrMore(3)) { in mergeStores() 332 SinkBB = SplitBlockPredecessors(TailBB, {Pred0, Pred1}, ".sink.split"); in mergeStores()
|
/external/llvm-project/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
|