/external/llvm/lib/CodeGen/ |
H A D | MachineSSAUpdater.cpp | 51 /// updates. ProtoValue is the value used to name PHI nodes. 110 /// InsertNewDef - Insert an empty PHI or IMPLICIT_DEF instruction which define 139 /// a block. Because of this, we need to insert a new PHI node in SomeBB to 181 // If an identical PHI is already in BB, just reuse it. 186 // Otherwise, we do need a PHI: insert one now. 188 MachineInstrBuilder InsertedPHI = InsertNewDef(TargetOpcode::PHI, BB, 191 // Fill in all the predecessors of the PHI. 195 // See if the PHI node can be merged to a single value. This can happen in 196 // loop cases when we get a PHI of itself and one other value. 205 DEBUG(dbgs() << " Inserted PHI 252 MachineInstr *PHI; member in class:llvm::SSAUpdaterTraits::PHI_iterator 269 PHI_begin(PhiT *PHI) argument 270 PHI_end(PhiT *PHI) argument 300 MachineInstr *PHI = InsertNewDef(TargetOpcode::PHI, BB, Loc, local 308 AddPHIOperand(MachineInstr *PHI, unsigned Val, MachineBasicBlock *Pred) argument 330 MachineInstr *PHI = ValueIsPHI(Val, Updater); local 338 GetPHIValue(MachineInstr *PHI) argument [all...] |
H A D | EarlyIfConversion.cpp | 111 MachineInstr *PHI; member in struct:__anon12199::SSAIfConv::PHIInfo 117 : PHI(phi), TReg(0), FReg(0), CondCycles(0), TCycles(0), FCycles(0) {} 147 /// Replace PHI instructions in Tail with selects. 150 /// Insert selects and rewrite PHI operands to use them. 412 // Find PHI operands corresponding to TPred and FPred. 413 for (unsigned i = 1; i != PI.PHI->getNumOperands(); i += 2) { 414 if (PI.PHI->getOperand(i+1).getMBB() == TPred) 415 PI.TReg = PI.PHI->getOperand(i).getReg(); 416 if (PI.PHI->getOperand(i+1).getMBB() == FPred) 417 PI.FReg = PI.PHI [all...] |
H A D | MachineTraceMetrics.cpp | 651 // Get the input data dependencies of a PHI instruction, using Pred as the 661 assert(UseMI->isPHI() && UseMI->getNumOperands() % 2 && "Bad PHI"); 1047 for (const auto &PHI : *Succ) { 1048 if (!PHI.isPHI()) 1051 getPHIDeps(&PHI, Deps, MBB, MTM.MRI); 1053 // Loop header PHI heights are all 0. 1054 unsigned Height = TBI.Succ ? Cycles.lookup(&PHI).Height : 0; 1055 DEBUG(dbgs() << "pred\t" << Height << '\t' << PHI); 1056 if (pushDepHeight(Deps.front(), &PHI, Height, 1078 // Don't process PHI dep [all...] |
/external/llvm/include/llvm/Target/ |
H A D | TargetOpcodes.h | 26 PHI = 0, enumerator in enum:llvm::TargetOpcode::__anon12092
|
/external/llvm/lib/Transforms/Utils/ |
H A D | SSAUpdater.cpp | 65 static bool IsEquivalentPHI(PHINode *PHI, argument 67 unsigned PHINumValues = PHI->getNumIncomingValues(); 73 if (ValueMapping[PHI->getIncomingBlock(i)] != 74 PHI->getIncomingValue(i)) { 98 // is relatively slow. If we already have PHI nodes in this block, walk one 136 // Otherwise, we do need a PHI: check to see if we already have one available 153 // Fill in all the predecessors of the PHI. 157 // See if the PHI node can be merged to a single value. This can happen in 158 // loop cases when we get a PHI of itself and one other value. 165 // Set the DebugLoc of the inserted PHI, i 221 PHINode *PHI; member in class:llvm::SSAUpdaterTraits::PHI_iterator 237 PHI_begin(PhiT *PHI) argument 238 PHI_end(PhiT *PHI) argument 267 PHINode *PHI = PHINode::Create(Updater->ProtoType, NumPreds, local 274 AddPHIOperand(PHINode *PHI, Value *Val, BasicBlock *Pred) argument 293 PHINode *PHI = ValueIsPHI(Val, Updater); local 301 GetPHIValue(PHINode *PHI) argument [all...] |
H A D | FlattenCFG.cpp | 125 PHINode *PHI = dyn_cast<PHINode>(BB->begin()); local 126 if (PHI) 127 return false; // For simplicity, avoid cases containing PHI nodes. 262 // PS2 should not contain PHI node. 263 PHI = dyn_cast<PHINode>(PS2->begin()); 264 if (PHI)
|
H A D | SimplifyCFG.cpp | 108 // switch for that PHI. 164 // successor, and if that successor has a PHI node, and if *that* PHI node has 185 /// store all PHI nodes in common successors. 193 // We fold the unconditional branch if we can easily update all PHI nodes in 222 /// Update PHI nodes in Succ to indicate that there will now be entries in it 223 /// from the 'NewPred' block. The values that will be flowing into the PHI nodes 687 // Remove PHI node entries for the dead edge. 760 // Remove PHI node entries for dead edges. 999 // sure we update the number of entries in the PHI node 2403 PHINode *PHI = nullptr; local 3781 PHINode *PHI = FindPHIForConditionForwarding(CaseValue, CaseDest, local 3964 InitializeUniqueCases(SwitchInst *SI, PHINode *&PHI, BasicBlock *&CommonDest, SwitchCaseResultVectorTy &UniqueResults, Constant *&DefaultResult, const DataLayout &DL) argument 4048 RemoveSwitchAfterSelectConversion(SwitchInst *SI, PHINode *PHI, Value *SelectValue, IRBuilder<> &Builder) argument 4075 PHINode *PHI = nullptr; local 4526 PHINode *PHI = I.first; local 4560 PHINode *PHI = I.first; local 4660 PHINode *PHI = PHIs[I]; local [all...] |
H A D | InlineFunction.cpp | 73 PHINode *InnerEHValuesPHI; ///< PHI for EH values from landingpad insts. 80 // If there are PHI nodes in the unwind destination block, we need to keep 87 PHINode *PHI = cast<PHINode>(I); local 88 UnwindDestPHIValues.push_back(PHI->getIncomingValueForBlock(InvokeBB)); 112 /// Add incoming-PHI values to the unwind destination block for the given 153 // Create a PHI for the exception values. 185 /// it rewrites them to be invokes that jump to InvokeDest and fills in the PHI 276 // Update any PHI nodes in the exceptional block to indicate that there 285 // Now that everything is happy, we have one final detail. The PHI nodes in 288 // PHI nod 312 PHINode *PHI = dyn_cast<PHINode>(&I); local 1608 PHINode *PHI = nullptr; local [all...] |
/external/chromium-trace/catapult/experimental/heatmap/ |
H A D | color.js | 4 var PHI = (1 + Math.sqrt(5)) / 2; 26 return sinebow(n * PHI);
|
/external/llvm/include/llvm/Transforms/Utils/ |
H A D | SSAUpdaterImpl.h | 281 /// dominating definitions for non-PHI blocks. 291 // If this block already needs a PHI, there is nothing to do here. 299 // Need a PHI here. 314 /// FindAvailableVal - If this block requires a PHI, first check if an 315 /// existing PHI matches the PHI placement and reaching definitions computed 316 /// earlier, and if not, create a new PHI. Visit all the block's 318 /// the incoming values for a new PHI. 326 // Check if there needs to be a PHI in BB. 330 // Look for an existing PHI 335 ValT PHI = Traits::CreateEmptyPHI(Info->BB, Info->NumPreds, Updater); local 355 PhiT *PHI = Traits::ValueIsNewPHI(Info->AvailableVal, Updater); local 397 CheckIfPHIMatches(PhiT *PHI) argument [all...] |
/external/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyRegStackify.cpp | 96 if (Def->getOpcode() == TargetOpcode::PHI) 140 if (Insert->getOpcode() == TargetOpcode::PHI) 183 if (Def->getOpcode() == TargetOpcode::PHI)
|
H A D | WebAssemblyStoreResults.cpp | 98 if (Where->getOpcode() == TargetOpcode::PHI) { 107 // For a non-PHI, check that MI dominates the instruction in the
|
/external/llvm/lib/Transforms/Scalar/ |
H A D | LoopInterchange.cpp | 533 // Since we currently do not handle LCSSA PHI's any failure in loop 535 // TODO: This should be removed once we handle LCSSA PHI nodes. 545 DEBUG(dbgs() << "PHI Nodes in loop nest exit is not handled for now " 614 // Load corresponding to reduction PHI's are safe while concluding if 631 PHINode *PHI = dyn_cast<PHINode>(L->getOperand(0)); 632 if (!PHI) 707 PHINode *PHI = cast<PHINode>(I); 708 if (InductionDescriptor::isInductionPHI(PHI, SE, ID)) 709 Inductions.push_back(PHI); 710 else if (RecurrenceDescriptor::isReductionPHI(PHI, [all...] |
H A D | LoopLoadElimination.cpp | 381 PHINode *PHI = PHINode::Create(Initial->getType(), 2, "store_forwarded", local 383 PHI->addIncoming(Initial, PH); 384 PHI->addIncoming(Cand.Store->getOperand(0), L->getLoopLatch()); 386 Cand.Load->replaceAllUsesWith(PHI);
|
H A D | Scalarizer.cpp | 566 bool Scalarizer::visitPHINode(PHINode &PHI) { argument 567 VectorType *VT = dyn_cast<VectorType>(PHI.getType()); 572 IRBuilder<> Builder(&PHI); 576 unsigned NumOps = PHI.getNumOperands(); 579 PHI.getName() + ".i" + Twine(I)); 582 Scatterer Op = scatter(&PHI, PHI.getIncomingValue(I)); 583 BasicBlock *IncomingBlock = PHI.getIncomingBlock(I); 587 gather(&PHI, Res);
|
H A D | ConstantHoisting.cpp | 231 assert(Entry != Inst->getParent() && "PHI or landing pad in entry block!"); 440 /// instruction Mat. If the instruction is a PHI node then special 446 if (auto PHI = dyn_cast<PHINode>(Inst)) { 447 // Check if any previous operand of the PHI node has the same incoming basic 453 BasicBlock *IncomingBB = PHI->getIncomingBlock(Idx); 455 if (PHI->getIncomingBlock(i) == IncomingBB) { 456 Value *IncomingVal = PHI->getIncomingValue(i);
|
H A D | LoopUnrollPass.cpp | 568 auto *PHI = dyn_cast<PHINode>(&I); local 569 if (!PHI) 572 // The loop header PHI nodes must have exactly two input: one from the 575 PHI->getNumIncomingValues() == 2 && 578 Value *V = PHI->getIncomingValueForBlock( 584 SimplifiedInputValues.push_back({PHI, C});
|
/external/llvm/lib/Transforms/ObjCARC/ |
H A D | ObjCARCContract.cpp | 26 // TODO: ObjCARCContract could insert PHI nodes when uses aren't 573 if (PHINode *PHI = dyn_cast<PHINode>(U.getUser())) { 574 // For PHI nodes, insert the bitcast in the predecessor block. 576 BasicBlock *BB = PHI->getIncomingBlock(ValNo); 580 // While we're here, rewrite all edges for this PHI, rather 583 for (unsigned i = 0, e = PHI->getNumIncomingValues(); i != e; ++i) 584 if (PHI->getIncomingBlock(i) == BB) { 587 &PHI->getOperandUse( 590 PHI->setIncomingValue(i, Replacement);
|
/external/llvm/lib/Analysis/ |
H A D | MemoryBuiltins.cpp | 747 SizeOffsetEvalType ObjectSizeOffsetEvaluator::visitPHINode(PHINode &PHI) { argument 749 PHINode *SizePHI = Builder.CreatePHI(IntTy, PHI.getNumIncomingValues()); 750 PHINode *OffsetPHI = Builder.CreatePHI(IntTy, PHI.getNumIncomingValues()); 753 CacheMap[&PHI] = std::make_pair(SizePHI, OffsetPHI); 755 // compute offset/size for each PHI incoming pointer 756 for (unsigned i = 0, e = PHI.getNumIncomingValues(); i != e; ++i) { 757 Builder.SetInsertPoint(&*PHI.getIncomingBlock(i)->getFirstInsertionPt()); 758 SizeOffsetEvalType EdgeData = compute_(PHI.getIncomingValue(i)); 767 SizePHI->addIncoming(EdgeData.first, PHI.getIncomingBlock(i)); 768 OffsetPHI->addIncoming(EdgeData.second, PHI [all...] |
H A D | IVUsers.cpp | 162 // Do not infinitely recurse on PHI nodes. 170 if (PHINode *PHI = dyn_cast<PHINode>(User)) { 173 UseBB = PHI->getIncomingBlock(ValNo); 178 // Descend recursively, but not into PHI nodes outside the current loop. 276 // them by stride. Start by finding all of the PHI nodes in the header for
|
/external/llvm/lib/Target/AMDGPU/ |
H A D | SIFixSGPRCopies.cpp | 25 /// %vreg4 <vsrc> = PHI %vreg1 <vsrc>, <BB#0>, %vreg3 <vrsc>, <BB#1> 40 /// %vreg4 <sgpr> = PHI %vreg0 <sgpr>, <BB#0>, %vreg3 <vsrc>, <BB#1> 43 /// Now that the result of the PHI instruction is an SGPR, the register 55 /// %vreg4 <sgpr> = PHI %vreg0 <sgpr>, <BB#0>, %vreg3 <sgpr>, <BB#1> 60 /// In order to avoid this problem, this pass searches for PHI instructions 62 /// <vgpr> if the user of the PHI's definition register is a vector instruction. 63 /// If the PHI's definition class is constrained to <vgpr> then the coalescer 274 case AMDGPU::PHI: { 275 DEBUG(dbgs() << "Fixing PHI: " << MI); 280 // If a PHI nod [all...] |
/external/llvm/examples/OCaml-Kaleidoscope/Chapter5/ |
H A D | codegen.ml | 116 (* Start the PHI node with an entry for start. *) 119 (* Within the loop, the variable is defined equal to the PHI node. If it 159 (* Add a new entry to the PHI node for the backedge. *)
|
/external/llvm/examples/OCaml-Kaleidoscope/Chapter6/ |
H A D | codegen.ml | 134 (* Start the PHI node with an entry for start. *) 137 (* Within the loop, the variable is defined equal to the PHI node. If it 177 (* Add a new entry to the PHI node for the backedge. *)
|
/external/llvm/lib/CodeGen/SelectionDAG/ |
H A D | SelectionDAGISel.cpp | 135 STATISTIC(NumFastIselFailPHI,"Fast isel fails on PHI"); 386 /// SplitCriticalSideEffectEdges - Look for critical edges with a PHI value that 400 // For each block with a PHI node, check to see if any of the input values 403 // PHI. 410 // Since this block has a PHI Node, we assume it has multiple input 868 // update PHI nodes later on. 1102 case Instruction::PHI: NumFastIselFailPHI++; return; 1463 // PHI nodes in successors. 1465 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[i].first); 1466 assert(PHI [all...] |
/external/llvm/unittests/Transforms/Utils/ |
H A D | IntegerDivision.cpp | 80 EXPECT_TRUE(Quotient && Quotient->getOpcode() == Instruction::PHI); 201 EXPECT_TRUE(Quotient && Quotient->getOpcode() == Instruction::PHI);
|