/external/swiftshader/third_party/LLVM/lib/Target/X86/ |
H A D | X86GenDisassemblerTables.inc | 19 "PHI"
46378 0 /* PHI*/
[all...] |
/external/swiftshader/third_party/LLVM/include/llvm/Target/ |
H A D | TargetOpcodes.h | 26 PHI = 0, enumerator in enum:llvm::TargetOpcode::__anon22530
|
/external/swiftshader/third_party/LLVM/lib/CodeGen/ |
H A D | MachineSSAUpdater.cpp | 49 /// updates. ProtoValue is the value used to name PHI nodes. 108 /// InsertNewDef - Insert an empty PHI or IMPLICIT_DEF instruction which define 137 /// a block. Because of this, we need to insert a new PHI node in SomeBB to 179 // If an identical PHI is already in BB, just reuse it. 184 // Otherwise, we do need a PHI: insert one now. 186 MachineInstr *InsertedPHI = InsertNewDef(TargetOpcode::PHI, BB, 189 // Fill in all the predecessors of the PHI. 194 // See if the PHI node can be merged to a single value. This can happen in 195 // loop cases when we get a PHI of itself and one other value. 204 DEBUG(dbgs() << " Inserted PHI 250 MachineInstr *PHI; member in class:__anon22633::MachinePHIiter 284 PHI_begin(PhiT *PHI) argument 285 PHI_end(PhiT *PHI) argument 315 MachineInstr *PHI = InsertNewDef(TargetOpcode::PHI, BB, Loc, local 323 AddPHIOperand(MachineInstr *PHI, unsigned Val, MachineBasicBlock *Pred) argument 346 MachineInstr *PHI = ValueIsPHI(Val, Updater); local 354 GetPHIValue(MachineInstr *PHI) argument [all...] |
H A D | StrongPHIElimination.cpp | 1 //===- StrongPHIElimination.cpp - Eliminate PHI nodes by inserting copies -===// 10 // This pass eliminates PHI instructions by aggressively coalescing the copies 13 // registers appearing in a PHI instruction do not interfere. It then eliminates 72 /// PHI with that register as its destination has been isolated. 112 /// Get the color of a PHI. The color of a PHI is 0 if the PHI has been 117 /// Isolate a PHI. 135 // Lowers a PHI instruction, inserting copies of the source and destination 153 // Maps a basic block to a list of its defs of registers that appear as PHI 305 MachineInstr *PHI = BBI; local 460 getPHIColor(MachineInstr *PHI) argument 476 isolatePHI(MachineInstr *PHI) argument 601 MachineInstr *PHI = BBI; local 651 InsertCopiesForPHI(MachineInstr *PHI, MachineBasicBlock *MBB) argument [all...] |
/external/llvm/lib/CodeGen/ |
H A D | MachineSSAUpdater.cpp | 50 /// updates. ProtoValue is the value used to name PHI nodes. 109 /// InsertNewDef - Insert an empty PHI or IMPLICIT_DEF instruction which define 138 /// a block. Because of this, we need to insert a new PHI node in SomeBB to 180 // If an identical PHI is already in BB, just reuse it. 185 // Otherwise, we do need a PHI: insert one now. 187 MachineInstrBuilder InsertedPHI = InsertNewDef(TargetOpcode::PHI, BB, 190 // Fill in all the predecessors of the PHI. 194 // See if the PHI node can be merged to a single value. This can happen in 195 // loop cases when we get a PHI of itself and one other value. 204 DEBUG(dbgs() << " Inserted PHI 251 MachineInstr *PHI; member in class:llvm::SSAUpdaterTraits::PHI_iterator 268 PHI_begin(PhiT *PHI) argument 269 PHI_end(PhiT *PHI) argument 299 MachineInstr *PHI = InsertNewDef(TargetOpcode::PHI, BB, Loc, local 307 AddPHIOperand(MachineInstr *PHI, unsigned Val, MachineBasicBlock *Pred) argument 329 MachineInstr *PHI = ValueIsPHI(Val, Updater); local 337 GetPHIValue(MachineInstr *PHI) argument [all...] |
H A D | EarlyIfConversion.cpp | 111 MachineInstr *PHI; member in struct:__anon13893::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 | SafeStack.cpp | 274 // A DFS search through all uses of the alloca in bitcasts/PHI/GEPs/etc. 631 if (auto *PHI = dyn_cast<PHINode>(User)) 632 InsertBefore = PHI->getIncomingBlock(U)->getTerminator(); 641 if (auto *PHI = dyn_cast<PHINode>(User)) { 642 // PHI nodes may have multiple incoming edges from the same BB (why??), 644 auto *BB = PHI->getIncomingBlock(U); 645 for (unsigned I = 0; I < PHI->getNumIncomingValues(); ++I) 646 if (PHI->getIncomingBlock(I) == BB) 647 PHI->setIncomingValue(I, Replacement);
|
/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 | 120 // switch for that PHI. 182 // successor, and if that successor has a PHI node, and if *that* PHI node has 202 /// store all PHI nodes in common successors. 211 // We fold the unconditional branch if we can easily update all PHI nodes in 240 /// Update PHI nodes in Succ to indicate that there will now be entries in it 241 /// from the 'NewPred' block. The values that will be flowing into the PHI nodes 781 // Remove PHI node entries for the dead edge. 856 // Remove PHI node entries for dead edges. 1095 // sure we update the number of entries in the PHI node 2509 PHINode *PHI = nullptr; local 4118 PHINode *PHI = local 4303 InitializeUniqueCases(SwitchInst *SI, PHINode *&PHI, BasicBlock *&CommonDest, SwitchCaseResultVectorTy &UniqueResults, Constant *&DefaultResult, const DataLayout &DL) argument 4386 RemoveSwitchAfterSelectConversion(SwitchInst *SI, PHINode *PHI, Value *SelectValue, IRBuilder<> &Builder) argument 4413 PHINode *PHI = nullptr; local 4862 PHINode *PHI = I.first; local 4896 PHINode *PHI = I.first; local 4991 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. 415 /// it rewrites them to be invokes that jump to InvokeDest and fills in the PHI 543 // Update any PHI nodes in the exceptional block to indicate that there 552 // Now that everything is happy, we have one final detail. The PHI nodes in 555 // PHI nod 579 PHINode *PHI = dyn_cast<PHINode>(&I); local 2029 PHINode *PHI = nullptr; local [all...] |
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/ |
H A D | SSAUpdater.cpp | 46 /// updates with type 'Ty'. PHI nodes get a name based on 'Name'. 71 /// IsEquivalentPHI - Check if PHI has the same incoming value as specified 73 static bool IsEquivalentPHI(PHINode *PHI, argument 75 unsigned PHINumValues = PHI->getNumIncomingValues(); 81 if (ValueMapping[PHI->getIncomingBlock(i)] != 82 PHI->getIncomingValue(i)) { 112 /// a block. Because of this, we need to insert a new PHI node in SomeBB to 127 // is relatively slow. If we already have PHI nodes in this block, walk one 165 // Otherwise, we do need a PHI: check to see if we already have one available 182 // Fill in all the predecessors of the PHI 238 PHINode *PHI; member in class:__anon23095::PHIiter 270 PHI_begin(PhiT *PHI) argument 271 PHI_end(PhiT *PHI) argument 301 PHINode *PHI = PHINode::Create(Updater->ProtoType, NumPreds, local 308 AddPHIOperand(PHINode *PHI, Value *Val, BasicBlock *Pred) argument 327 PHINode *PHI = ValueIsPHI(Val, Updater); local 335 GetPHIValue(PHINode *PHI) argument [all...] |
H A D | InlineFunction.cpp | 260 PHINode *InnerEHValuesPHI; //< PHI for EH values from landingpad insts. 268 // If there are PHI nodes in the unwind destination block, we need to keep 275 PHINode *PHI = cast<PHINode>(I); local 276 UnwindDestPHIValues.push_back(PHI->getIncomingValueForBlock(InvokeBB)); 313 /// addIncomingPHIValuesFor - Add incoming-PHI values to the unwind 460 // Create a PHI for the exception values. 499 /// it rewrites them to be invokes that jump to InvokeDest and fills in the PHI 590 // Update any PHI nodes in the exceptional block to indicate that 618 // Now that everything is happy, we have one final detail. The PHI nodes in 621 // PHI nod 1231 PHINode *PHI = 0; local [all...] |
/external/swiftshader/third_party/LLVM/include/llvm/Transforms/Utils/ |
H A D | SSAUpdaterImpl.h | 271 /// dominating definitions for non-PHI blocks. 281 // If this block already needs a PHI, there is nothing to do here. 289 // Need a PHI here. 304 /// FindAvailableVal - If this block requires a PHI, first check if an 305 /// existing PHI matches the PHI placement and reaching definitions computed 306 /// earlier, and if not, create a new PHI. Visit all the block's 308 /// the incoming values for a new PHI. 316 // Check if there needs to be a PHI in BB. 320 // Look for an existing PHI 325 ValT PHI = Traits::CreateEmptyPHI(Info->BB, Info->NumPreds, Updater); local 345 PhiT *PHI = Traits::ValueIsNewPHI(Info->AvailableVal, Updater); local 387 CheckIfPHIMatches(PhiT *PHI) argument 434 RecordMatchingPHI(PhiT *PHI) argument [all...] |
/external/llvm/include/llvm/Transforms/Utils/ |
H A D | SSAUpdaterImpl.h | 282 /// dominating definitions for non-PHI blocks. 292 // If this block already needs a PHI, there is nothing to do here. 300 // Need a PHI here. 315 /// FindAvailableVal - If this block requires a PHI, first check if an 316 /// existing PHI matches the PHI placement and reaching definitions computed 317 /// earlier, and if not, create a new PHI. Visit all the block's 319 /// the incoming values for a new PHI. 327 // Check if there needs to be a PHI in BB. 331 // Look for an existing PHI 336 ValT PHI = Traits::CreateEmptyPHI(Info->BB, Info->NumPreds, Updater); local 356 PhiT *PHI = Traits::ValueIsNewPHI(Info->AvailableVal, Updater); local 398 CheckIfPHIMatches(PhiT *PHI) argument [all...] |
/external/llvm/lib/Transforms/Instrumentation/ |
H A D | IndirectCallPromotion.cpp | 357 // Find the PHI in BB that have the CallResult as the operand. 361 PHINode *PHI = dyn_cast<PHINode>(&I); local 362 if (!PHI) 364 int IX = PHI->getBasicBlockIndex(From); 367 Value *V = PHI->getIncomingValue(IX); 374 // This method fixes up PHI nodes in BB where BB is the UnwindDest of an 379 // so the PHI node's incoming BBs need to be fixed up accordingly. 385 PHINode *PHI = dyn_cast<PHINode>(&I); local 386 if (!PHI) 388 int IX = PHI 407 PHINode *PHI = dyn_cast<PHINode>(&I); local [all...] |
/external/llvm/lib/Transforms/Scalar/ |
H A D | LoopInterchange.cpp | 531 // Since we currently do not handle LCSSA PHI's any failure in loop 533 // TODO: This should be removed once we handle LCSSA PHI nodes. 543 DEBUG(dbgs() << "PHI Nodes in loop nest exit is not handled for now " 612 // Load corresponding to reduction PHI's are safe while concluding if 629 PHINode *PHI = dyn_cast<PHINode>(L->getOperand(0)); 630 if (!PHI) 705 PHINode *PHI = cast<PHINode>(I); 706 if (InductionDescriptor::isInductionPHI(PHI, SE, ID)) 707 Inductions.push_back(PHI); 708 else if (RecurrenceDescriptor::isReductionPHI(PHI, [all...] |
H A D | LoopLoadElimination.cpp | 401 PHINode *PHI = PHINode::Create(Initial->getType(), 2, "store_forwarded", local 403 PHI->addIncoming(Initial, PH); 404 PHI->addIncoming(Cand.Store->getOperand(0), L->getLoopLatch()); 406 Cand.Load->replaceAllUsesWith(PHI);
|
H A D | Scalarizer.cpp | 569 bool Scalarizer::visitPHINode(PHINode &PHI) { argument 570 VectorType *VT = dyn_cast<VectorType>(PHI.getType()); 575 IRBuilder<> Builder(&PHI); 579 unsigned NumOps = PHI.getNumOperands(); 582 PHI.getName() + ".i" + Twine(I)); 585 Scatterer Op = scatter(&PHI, PHI.getIncomingValue(I)); 586 BasicBlock *IncomingBlock = PHI.getIncomingBlock(I); 590 gather(&PHI, Res);
|
/external/llvm/lib/Target/NVPTX/ |
H A D | NVPTXInferAddressSpaces.cpp | 165 case Instruction::PHI: 182 case Instruction::PHI: { 305 case Instruction::PHI: { 307 PHINode *PHI = cast<PHINode>(I); local 308 PHINode *NewPHI = PHINode::Create(NewPtrType, PHI->getNumIncomingValues()); 309 for (unsigned Index = 0; Index < PHI->getNumIncomingValues(); ++Index) { 312 PHI->getIncomingBlock(Index));
|
/external/llvm/lib/Transforms/ObjCARC/ |
H A D | ObjCARCContract.cpp | 26 // TODO: ObjCARCContract could insert PHI nodes when uses aren't 574 if (PHINode *PHI = dyn_cast<PHINode>(U.getUser())) { 575 // For PHI nodes, insert the bitcast in the predecessor block. 577 BasicBlock *BB = PHI->getIncomingBlock(ValNo); 581 // While we're here, rewrite all edges for this PHI, rather 584 for (unsigned i = 0, e = PHI->getNumIncomingValues(); i != e; ++i) 585 if (PHI->getIncomingBlock(i) == BB) { 588 &PHI->getOperandUse( 591 PHI->setIncomingValue(i, Replacement);
|
/external/swiftshader/third_party/LLVM/lib/Analysis/ |
H A D | CaptureTracking.cpp | 118 case Instruction::PHI:
|
/external/swiftshader/third_party/LLVM/lib/CodeGen/SelectionDAG/ |
H A D | SelectionDAGISel.cpp | 221 /// SplitCriticalSideEffectEdges - Look for critical edges with a PHI value that 235 // For each block with a PHI node, check to see if any of the input values 238 // PHI. 245 // Since this block has a PHI Node, we assume it has multiple input 611 // update PHI nodes later on. 1011 // PHI nodes in successors. 1016 MachineInstr *PHI = FuncInfo->PHINodesToUpdate[i].first; local 1017 assert(PHI->isPHI() && 1018 "This is not a machine PHI node that we are updating!"); 1019 if (!FuncInfo->MBB->isSuccessor(PHI 1068 MachineInstr *PHI = FuncInfo->PHINodesToUpdate[pi].first; local 1129 MachineInstr *PHI = FuncInfo->PHINodesToUpdate[pi].first; local 1155 MachineInstr *PHI = FuncInfo->PHINodesToUpdate[i].first; local [all...] |
/external/llvm/lib/Analysis/ |
H A D | MemoryBuiltins.cpp | 799 SizeOffsetEvalType ObjectSizeOffsetEvaluator::visitPHINode(PHINode &PHI) { argument 801 PHINode *SizePHI = Builder.CreatePHI(IntTy, PHI.getNumIncomingValues()); 802 PHINode *OffsetPHI = Builder.CreatePHI(IntTy, PHI.getNumIncomingValues()); 805 CacheMap[&PHI] = std::make_pair(SizePHI, OffsetPHI); 807 // Compute offset/size for each PHI incoming pointer. 808 for (unsigned i = 0, e = PHI.getNumIncomingValues(); i != e; ++i) { 809 Builder.SetInsertPoint(&*PHI.getIncomingBlock(i)->getFirstInsertionPt()); 810 SizeOffsetEvalType EdgeData = compute_(PHI.getIncomingValue(i)); 819 SizePHI->addIncoming(EdgeData.first, PHI.getIncomingBlock(i)); 820 OffsetPHI->addIncoming(EdgeData.second, PHI [all...] |
/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 273 case AMDGPU::PHI: { 274 DEBUG(dbgs() << "Fixing PHI: " << MI); 279 // If a PHI nod [all...] |