HomeSort by: relevance | last modified time | path
    Searched refs:PreHeader (Results 1 - 11 of 11) sorted by relevancy

  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
LoopUnrollRuntime.cpp 73 BasicBlock *PreHeader, BasicBlock *NewPreHeader,
77 // Preheader
107 // Adding a value to the new PHI node from the original loop preheader.
112 PreHeader);
115 NewPN->addIncoming(UndefValue::get(PN.getType()), PreHeader);
187 BasicBlock *Exit, BasicBlock *PreHeader,
197 // PreHeader
226 // Add incoming PreHeader from branch around the Loop
227 PN.addIncoming(UndefValue::get(PN.getType()), PreHeader);
245 // PN = PHI [I, Latch], [undef, PreHeader]
    [all...]
LoopPeel.cpp 513 BasicBlock *PreHeader = L->getLoopPreheader();
563 // the original loop preheader (for the first iteration) or the previous
583 // that pick an incoming value from either the preheader, or the previous
586 // For the first iteration, we use the value from the preheader directly.
593 VMap[&*I] = NewPHI->getIncomingValueForBlock(PreHeader);
677 BasicBlock *PreHeader = L->getLoopPreheader();
716 // preheader into 3 parts - two blocks to anchor the peeled copy of the loop
717 // body, and a new preheader for the "real" loop.
721 // PreHeader:
760 BasicBlock *InsertTop = SplitEdge(PreHeader, Header, DT, LI)
    [all...]
LoopUnroll.cpp 173 /// PN = PHI [I, Latch], [CI, PreHeader]
179 /// PN = PHI [I2, Latch], [CI, PreHeader]
184 /// NewPN = PHI [PrologI, Prolog], [CI, PreHeader]
186 /// PN = PHI [I2, Latch], [NewPN, PreHeader]
192 BasicBlock *PreHeader = L->getLoopPreheader();
194 assert(PreHeader && Header);
196 if (isa<ConstantInt>(PN.getIncomingValueForBlock(PreHeader)))
290 LLVM_DEBUG(dbgs() << " Can't unroll; loop preheader-insertion failed.\n");
349 // Successful peeling may result in a change in the loop preheader/trip
365 BasicBlock *Preheader = L->getLoopPreheader()
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
MVETPAndVPTOptimisationsPass.cpp 79 MachineInstr *CheckForLRUseInPredecessors(MachineBasicBlock *PreHeader,
264 // Starting from PreHeader, search for invalid instructions back until the
269 MachineBasicBlock *PreHeader, MachineInstr *LoopStart) {
272 Worklist.push_back(PreHeader);
286 // Create a t2DoLoopStart at the end of the preheader.
288 BuildMI(*PreHeader, PreHeader->getFirstTerminator(),
326 auto *PreHeader = ML->getLoopPreheader();
327 if (LoopStart->getOpcode() == ARM::t2WhileLoopStartLR && PreHeader)
328 LoopStart = CheckForLRUseInPredecessors(PreHeader, LoopStart)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
LoopInfo.cpp 96 BasicBlock *Preheader = getLoopPreheader();
97 // Without a preheader, hoisting is not feasible.
98 if (!Preheader)
100 InsertPt = Preheader->getTerminator();
315 // IndVar = phi[{InitialValue, preheader}, {StepInst, latch}]
322 // IndVar = phi[{InitialValue, preheader}, {StepInst, latch}]
370 BasicBlock *Preheader = getLoopPreheader();
371 assert(Preheader && getLoopLatch() &&
372 "Expecting a loop with valid preheader and latch");
384 BasicBlock *GuardBB = Preheader->getUniquePredecessor()
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/
PPCInstrInfo.h 688 findLoopInstr(MachineBasicBlock &PreHeader,
PPCInstrInfo.cpp 5386 // preheader, so we can use BDZ in the prologs to adapt the loop trip count.
5415 MachineBasicBlock *Preheader = *LoopBB->pred_begin();
5416 if (Preheader == LoopBB)
5417 Preheader = *std::next(LoopBB->pred_begin());
5418 MachineFunction *MF = Preheader->getParent();
5422 if (MachineInstr *LoopInst = findLoopInstr(*Preheader, Visited)) {
5433 MachineBasicBlock &PreHeader,
5438 // The loop set-up instruction should be in preheader
5439 for (auto &I : PreHeader.instrs())
  /src/external/apache2/llvm/dist/llvm/lib/Frontend/OpenMP/
OMPIRBuilder.cpp 1068 BasicBlock *Preheader =
1069 BasicBlock::Create(Ctx, "omp_" + Name + ".preheader", F, PreInsertBefore);
1086 Builder.SetInsertPoint(Preheader);
1091 IndVarPHI->addIncoming(ConstantInt::get(IndVarTy, 0), Preheader);
1115 CL->Preheader = Preheader;
1144 // Split the loop at the insertion point: Branch to the preheader and move
1147 Builder.CreateBr(CL->Preheader);
1252 // valid in the condition block (i.e., defined in the preheader) and is
1286 // At the end of the preheader, prepare for calling the "init" function b
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
IndVarSimplify.cpp 1206 /// were defined in the preheader but not used inside the loop into the
1212 BasicBlock *Preheader = L->getLoopPreheader();
1213 if (!Preheader) return false;
1217 BasicBlock::iterator I(Preheader->getTerminator());
1218 while (I != Preheader->begin()) {
1220 // New instructions were inserted at the end of the preheader.
1228 // behavior: LoopSimplify guarantees that the preheader dominates the exit
1259 if (UseBB == Preheader || L->contains(UseBB)) {
1265 // If there is, the def must remain in the preheader.
1273 if (I != Preheader->begin())
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
TargetInstrInfo.h 725 /// Called when the loop's preheader has been modified to NewPreheader.
728 /// Called when the loop is being removed. Any instructions in the preheader
756 MachineBasicBlock &PreHeader,
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
SLPVectorizer.cpp 5592 // Check if it has a preheader.
5593 BasicBlock *PreHeader = L->getLoopPreheader();
5594 if (!PreHeader)
5608 I->moveBefore(PreHeader->getTerminator());

Completed in 38 milliseconds