/external/swiftshader/third_party/subzero/src/ |
IcePhiLoweringImpl.h | 1 //===------ subzero/src/IcePhiLoweringImpl.h - Phi lowering -----*- C++ -*-===// 27 /// Turn an i64 Phi instruction into a pair of i32 Phi instructions, to preserve 35 auto *Phi = llvm::dyn_cast<InstPhi>(&I); 36 if (Phi->isDeleted()) 38 Variable *Dest = Phi->getDest(); 43 auto *PhiLo = InstPhi::create(Func, Phi->getSrcSize(), DestLo); 44 auto *PhiHi = InstPhi::create(Func, Phi->getSrcSize(), DestHi); 45 for (SizeT I = 0; I < Phi->getSrcSize(); ++I) { 46 Operand *Src = Phi->getSrc(I) [all...] |
IceCfgNode.cpp | 29 // Adds an instruction to either the Phi list or the regular instruction list. 43 if (auto *Phi = llvm::dyn_cast<InstPhi>(Instr)) { 45 Func->setError("Phi instruction added to the middle of a block"); 48 Phis.push_back(Phi); 61 auto &Phi = llvm::cast<InstPhi>(Inst); 62 for (SizeT i = 0; i < Phi.getSrcSize(); ++i) { 63 if (Phi.getLabel(i) == Old) { 64 Phi.setLabel(i, New); 107 // Ensure each Phi instruction in the node is consistent with respect to control 108 // flow. For each predecessor, there must be a phi argument with that label [all...] |
/external/llvm/lib/Target/AMDGPU/ |
SIAnnotateControlFlow.cpp | 80 bool isElse(PHINode *Phi); 82 void eraseIfUnused(PHINode *Phi); 189 /// \brief Can the condition represented by this PHI node treated like 191 bool SIAnnotateControlFlow::isElse(PHINode *Phi) { 192 BasicBlock *IDom = DT->getNode(Phi->getParent())->getIDom()->getBlock(); 193 for (unsigned i = 0, e = Phi->getNumIncomingValues(); i != e; ++i) { 194 if (Phi->getIncomingBlock(i) == IDom) { 196 if (Phi->getIncomingValue(i) != BoolTrue) 200 if (Phi->getIncomingValue(i) != BoolFalse) 208 // \brief Erase "Phi" if it is not used any mor [all...] |
/external/llvm/lib/Transforms/Utils/ |
LoopUtils.cpp | 77 RecurrenceDescriptor::lookThroughAnd(PHINode *Phi, Type *&RT, 80 if (!Phi->hasOneUse()) 81 return Phi; 84 Instruction *I, *J = cast<Instruction>(Phi->use_begin()->getUser()); 92 RT = IntegerType::get(Phi->getContext(), Bits); 93 Visited.insert(Phi); 98 return Phi; 162 bool RecurrenceDescriptor::AddReductionVar(PHINode *Phi, RecurrenceKind Kind, 165 if (Phi->getNumIncomingValues() != 2) 169 if (Phi->getParent() != TheLoop->getHeader() [all...] |
/external/clang/lib/Analysis/ |
ThreadSafetyTIL.cpp | 61 if (Phi* Ph = dyn_cast<Phi>(E)) { 73 if (Phi* Ph = dyn_cast<Phi>(E)) { 81 // Phi nodes to find the canonical definition. 90 if (const Phi *Ph = dyn_cast<Phi>(E)) { 91 if (Ph->status() == Phi::PH_SingleVal) { 103 // Phi nodes to find the canonical definition. 104 // The non-const version will simplify incomplete Phi nodes [all...] |
/external/v8/src/compiler/ |
diamond.h | 52 Node* Phi(MachineRepresentation rep, Node* tv, Node* fv) { 53 return graph->NewNode(common->Phi(rep, 2), tv, fv, merge);
|
select-lowering.cc | 31 // Create a diamond and a phi. 36 NodeProperties::ChangeOp(node, common()->Phi(p.representation(), 2));
|
/prebuilts/clang/host/darwin-x86/clang-3957855/prebuilt_include/llvm/include/llvm/Analysis/ |
MemorySSAUpdater.h | 12 // deletion, and moves. It performs phi insertion where necessary, and 101 /// used to replace an existing memory instruction. It will *not* create PHI 118 /// used to replace an existing memory instruction. It will *not* create PHI 146 MemoryAccess *recursePhi(MemoryAccess *Phi); 148 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
|
/prebuilts/clang/host/darwin-x86/clang-3960126/prebuilt_include/llvm/include/llvm/Analysis/ |
MemorySSAUpdater.h | 12 // deletion, and moves. It performs phi insertion where necessary, and 101 /// used to replace an existing memory instruction. It will *not* create PHI 118 /// used to replace an existing memory instruction. It will *not* create PHI 146 MemoryAccess *recursePhi(MemoryAccess *Phi); 148 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
|
/prebuilts/clang/host/darwin-x86/clang-3977809/prebuilt_include/llvm/include/llvm/Analysis/ |
MemorySSAUpdater.h | 12 // deletion, and moves. It performs phi insertion where necessary, and 101 /// used to replace an existing memory instruction. It will *not* create PHI 118 /// used to replace an existing memory instruction. It will *not* create PHI 146 MemoryAccess *recursePhi(MemoryAccess *Phi); 148 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
|
/prebuilts/clang/host/darwin-x86/clang-4053586/prebuilt_include/llvm/include/llvm/Analysis/ |
MemorySSAUpdater.h | 12 // deletion, and moves. It performs phi insertion where necessary, and 101 /// used to replace an existing memory instruction. It will *not* create PHI 118 /// used to replace an existing memory instruction. It will *not* create PHI 146 MemoryAccess *recursePhi(MemoryAccess *Phi); 148 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
|
/prebuilts/clang/host/linux-x86/clang-3957855/prebuilt_include/llvm/include/llvm/Analysis/ |
MemorySSAUpdater.h | 12 // deletion, and moves. It performs phi insertion where necessary, and 101 /// used to replace an existing memory instruction. It will *not* create PHI 118 /// used to replace an existing memory instruction. It will *not* create PHI 146 MemoryAccess *recursePhi(MemoryAccess *Phi); 148 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
|
/prebuilts/clang/host/linux-x86/clang-3960126/prebuilt_include/llvm/include/llvm/Analysis/ |
MemorySSAUpdater.h | 12 // deletion, and moves. It performs phi insertion where necessary, and 101 /// used to replace an existing memory instruction. It will *not* create PHI 118 /// used to replace an existing memory instruction. It will *not* create PHI 146 MemoryAccess *recursePhi(MemoryAccess *Phi); 148 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
|
/prebuilts/clang/host/linux-x86/clang-3977809/prebuilt_include/llvm/include/llvm/Analysis/ |
MemorySSAUpdater.h | 12 // deletion, and moves. It performs phi insertion where necessary, and 101 /// used to replace an existing memory instruction. It will *not* create PHI 118 /// used to replace an existing memory instruction. It will *not* create PHI 146 MemoryAccess *recursePhi(MemoryAccess *Phi); 148 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
|
/prebuilts/clang/host/linux-x86/clang-4053586/prebuilt_include/llvm/include/llvm/Analysis/ |
MemorySSAUpdater.h | 12 // deletion, and moves. It performs phi insertion where necessary, and 101 /// used to replace an existing memory instruction. It will *not* create PHI 118 /// used to replace an existing memory instruction. It will *not* create PHI 146 MemoryAccess *recursePhi(MemoryAccess *Phi); 148 MemoryAccess *tryRemoveTrivialPhi(MemoryPhi *Phi, RangeType &Operands);
|
/external/llvm/lib/Transforms/Scalar/ |
PartiallyInlineLibCalls.cpp | 48 // dst = phi(v0, v1) 52 // Create phi and replace all uses. 55 PHINode *Phi = Builder.CreatePHI(Call->getType(), 2); 56 Call->replaceAllUsesWith(Phi); 75 // Add phi operands. 76 Phi->addIncoming(Call, &CurrBB); 77 Phi->addIncoming(LibCall, LibCallBB);
|
/external/llvm/include/llvm/Transforms/Utils/ |
LoopUtils.h | 168 /// Returns true if Phi is a reduction of type Kind and adds it to the 170 static bool AddReductionVar(PHINode *Phi, RecurrenceKind Kind, Loop *TheLoop, 174 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor is 176 static bool isReductionPHI(PHINode *Phi, Loop *TheLoop, 179 /// Returns true if Phi is a first-order recurrence. A first-order recurrence 183 static bool isFirstOrderRecurrence(PHINode *Phi, Loop *TheLoop, 198 /// Returns first unsafe algebra instruction in the PHI node's use-chain. 210 /// Determines if Phi may have been type-promoted. If Phi has a single user 211 /// that ANDs the Phi with a type mask, return the user. RT is updated t [all...] |
/external/r8/src/main/java/com/android/tools/r8/ir/code/ |
Phi.java | 19 public class Phi extends Value { 24 // Trivial phis are eliminated during IR construction. When a trivial phi is eliminated 25 // we need to update all references to it. A phi can be referenced from phis, instructions 27 // contain this phi. 32 // context (if tests) and the single 0 can be used as null. A phi can therefore 34 // triggered the creation of the phi. We therefore have to delay the output type 35 // computation of the phi until all operands are known. 38 public Phi(int number, BasicBlock block, MoveType type, DebugLocalInfo local) { 50 public Phi asPhi() { 59 // Phi operands are only filled in once to complete the phi. Some phis are incomplete for [all...] |
/external/r8/src/main/java/com/android/tools/r8/ir/optimize/ |
DeadCodeRemover.java | 12 import com.android.tools.r8.ir.code.Phi; 72 List<Phi> toRemove = new ArrayList<>(); 73 for (Phi phi : block.getPhis()) { 74 if (phi.isDead(options)) { 75 toRemove.add(phi); 76 for (Value operand : phi.getOperands()) { 77 operand.removePhiUser(phi); 83 List<Phi> newPhis = new ArrayList<>(block.getPhis().size() - toRemove.size()); 85 List<Phi> phis = block.getPhis() 88 Phi phi = phis.get(i); local [all...] |
/prebuilts/clang/host/darwin-x86/clang-3957855/prebuilt_include/llvm/include/llvm/Transforms/Utils/ |
LoopUtils.h | 171 /// Returns true if Phi is a reduction of type Kind and adds it to the 173 static bool AddReductionVar(PHINode *Phi, RecurrenceKind Kind, Loop *TheLoop, 177 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor is 179 static bool isReductionPHI(PHINode *Phi, Loop *TheLoop, 182 /// Returns true if Phi is a first-order recurrence. A first-order recurrence 186 static bool isFirstOrderRecurrence(PHINode *Phi, Loop *TheLoop, 201 /// Returns first unsafe algebra instruction in the PHI node's use-chain. 213 /// Determines if Phi may have been type-promoted. If Phi has a single user 214 /// that ANDs the Phi with a type mask, return the user. RT is updated t [all...] |
/prebuilts/clang/host/darwin-x86/clang-3960126/prebuilt_include/llvm/include/llvm/Transforms/Utils/ |
LoopUtils.h | 171 /// Returns true if Phi is a reduction of type Kind and adds it to the 173 static bool AddReductionVar(PHINode *Phi, RecurrenceKind Kind, Loop *TheLoop, 177 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor is 179 static bool isReductionPHI(PHINode *Phi, Loop *TheLoop, 182 /// Returns true if Phi is a first-order recurrence. A first-order recurrence 186 static bool isFirstOrderRecurrence(PHINode *Phi, Loop *TheLoop, 201 /// Returns first unsafe algebra instruction in the PHI node's use-chain. 213 /// Determines if Phi may have been type-promoted. If Phi has a single user 214 /// that ANDs the Phi with a type mask, return the user. RT is updated t [all...] |
/prebuilts/clang/host/darwin-x86/clang-3977809/prebuilt_include/llvm/include/llvm/Transforms/Utils/ |
LoopUtils.h | 171 /// Returns true if Phi is a reduction of type Kind and adds it to the 173 static bool AddReductionVar(PHINode *Phi, RecurrenceKind Kind, Loop *TheLoop, 177 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor is 179 static bool isReductionPHI(PHINode *Phi, Loop *TheLoop, 182 /// Returns true if Phi is a first-order recurrence. A first-order recurrence 186 static bool isFirstOrderRecurrence(PHINode *Phi, Loop *TheLoop, 201 /// Returns first unsafe algebra instruction in the PHI node's use-chain. 213 /// Determines if Phi may have been type-promoted. If Phi has a single user 214 /// that ANDs the Phi with a type mask, return the user. RT is updated t [all...] |
/prebuilts/clang/host/darwin-x86/clang-4053586/prebuilt_include/llvm/include/llvm/Transforms/Utils/ |
LoopUtils.h | 171 /// Returns true if Phi is a reduction of type Kind and adds it to the 173 static bool AddReductionVar(PHINode *Phi, RecurrenceKind Kind, Loop *TheLoop, 177 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor is 179 static bool isReductionPHI(PHINode *Phi, Loop *TheLoop, 182 /// Returns true if Phi is a first-order recurrence. A first-order recurrence 186 static bool isFirstOrderRecurrence(PHINode *Phi, Loop *TheLoop, 201 /// Returns first unsafe algebra instruction in the PHI node's use-chain. 213 /// Determines if Phi may have been type-promoted. If Phi has a single user 214 /// that ANDs the Phi with a type mask, return the user. RT is updated t [all...] |
/prebuilts/clang/host/linux-x86/clang-3957855/prebuilt_include/llvm/include/llvm/Transforms/Utils/ |
LoopUtils.h | 171 /// Returns true if Phi is a reduction of type Kind and adds it to the 173 static bool AddReductionVar(PHINode *Phi, RecurrenceKind Kind, Loop *TheLoop, 177 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor is 179 static bool isReductionPHI(PHINode *Phi, Loop *TheLoop, 182 /// Returns true if Phi is a first-order recurrence. A first-order recurrence 186 static bool isFirstOrderRecurrence(PHINode *Phi, Loop *TheLoop, 201 /// Returns first unsafe algebra instruction in the PHI node's use-chain. 213 /// Determines if Phi may have been type-promoted. If Phi has a single user 214 /// that ANDs the Phi with a type mask, return the user. RT is updated t [all...] |
/prebuilts/clang/host/linux-x86/clang-3960126/prebuilt_include/llvm/include/llvm/Transforms/Utils/ |
LoopUtils.h | 171 /// Returns true if Phi is a reduction of type Kind and adds it to the 173 static bool AddReductionVar(PHINode *Phi, RecurrenceKind Kind, Loop *TheLoop, 177 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor is 179 static bool isReductionPHI(PHINode *Phi, Loop *TheLoop, 182 /// Returns true if Phi is a first-order recurrence. A first-order recurrence 186 static bool isFirstOrderRecurrence(PHINode *Phi, Loop *TheLoop, 201 /// Returns first unsafe algebra instruction in the PHI node's use-chain. 213 /// Determines if Phi may have been type-promoted. If Phi has a single user 214 /// that ANDs the Phi with a type mask, return the user. RT is updated t [all...] |