HomeSort by relevance Sort by last modified time
    Searched defs:Phi (Results 1 - 25 of 59) sorted by null

1 2 3

  /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);
raw-machine-assembler.cc 494 Node* RawMachineAssembler::Phi(MachineRepresentation rep, int input_count,
500 return AddNode(common()->Phi(rep, input_count), input_count + 1, buffer);
503 void RawMachineAssembler::AppendPhiInput(Node* phi, Node* new_input) {
504 const Operator* op = phi->op();
505 const Operator* new_op = common()->ResizeMergeOrPhi(op, phi->InputCount());
506 phi->InsertInput(zone(), phi->InputCount() - 1, new_input);
507 NodeProperties::ChangeOp(phi, new_op);
  /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);
LoopIdiomRecognize.cpp     [all...]
StructurizeCFG.cpp 143 /// The condition for the optional "Else" region is expressed as a PHI node.
144 /// The incomming values of the PHI node are true for the "If" edge and false
162 /// consist of a network of PHI nodes where the true incoming values expresses
567 /// \brief Remove all PHI values coming from "From" into "To" and remember
574 PHINode &Phi = cast<PHINode>(*I++);
575 while (Phi.getBasicBlockIndex(From) != -1) {
576 Value *Deleted = Phi.removeIncomingValue(From, false);
577 Map[&Phi].push_back(std::make_pair(From, Deleted));
582 /// \brief Add a dummy PHI value as soon as we knew the new predecessor
587 PHINode &Phi = cast<PHINode>(*I++)
    [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Scalar/
PartiallyInlineLibCalls.cpp 45 // dst = phi(v0, v1)
49 // Create phi and replace all uses.
53 PHINode *Phi = Builder.CreatePHI(Ty, 2);
54 Call->replaceAllUsesWith(Phi);
76 // Add phi operands.
77 Phi->addIncoming(Call, &CurrBB);
78 Phi->addIncoming(LibCall, LibCallBB);
StructurizeCFG.cpp 154 /// The condition for the optional "Else" region is expressed as a PHI node.
155 /// The incoming values of the PHI node are true for the "If" edge and false
173 /// consist of a network of PHI nodes where the true incoming values expresses
576 /// Remove all PHI values coming from "From" into "To" and remember
580 for (PHINode &Phi : To->phis()) {
581 while (Phi.getBasicBlockIndex(From) != -1) {
582 Value *Deleted = Phi.removeIncomingValue(From, false);
583 Map[&Phi].push_back(std::make_pair(From, Deleted));
588 /// Add a dummy PHI value as soon as we knew the new predecessor
590 for (PHINode &Phi : To->phis())
    [all...]
  /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...]
IceInst.h 31 // ordering of Phi and non-Phi instructions, etc. Most of the validity checking
60 Phi,
351 /// lowering. E.g., if Phi instruction lowering happens before target lowering,
665 /// Phi instruction. For incoming edge I, the node is Labels[I] and the Phi
686 static bool classof(const Inst *Instr) { return Instr->getKind() == Phi; }
693 /// but the Phi instruction is created before InEdges[] is available, so it's
    [all...]
WasmTranslator.cpp 327 Node Phi(wasm::LocalType, uint32_t Count, Node *Vals, Node Control) {
328 LOG(out << "Phi(" << Count << ", " << Control);
345 auto *Phi = InstPhi::create(Func, Count * 200, Dest);
349 Phi->addArgument(Op, InEdges[i]);
351 setDefiningInst(Dest, Phi);
352 Control.toCfgNode()->appendInst(Phi);
934 bool IsPhiWithMerge(Node Phi, Node Merge) const {
935 LOG(out << "IsPhiWithMerge(" << Phi << ", " << Merge << ")"
937 if (Phi && Phi.isOperand())
    [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/unittests/Transforms/Vectorize/
VPlanHCFGTest.cpp 26 " %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]\n"
56 VPInstruction *Phi = dyn_cast<VPInstruction>(&*Iter++);
57 EXPECT_EQ(Instruction::PHI, Phi->getOpcode());
62 EXPECT_EQ(Phi, Idx->getOperand(1));
83 EXPECT_EQ(Phi, IndvarAdd->getOperand(0));
103 " %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]\n"
137 auto *Phi = dyn_cast<VPWidenPHIRecipe>(&*Iter++);
138 EXPECT_NE(nullptr, Phi);
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Utils/
CallPromotionUtils.cpp 23 /// Fix-up phi nodes in an invoke instruction's normal destination.
36 /// %t2 = phi i32 [ %t0, %then_bb ], [ %t1, %else_bb ]
40 /// %t3 = phi i32 [ %x, %orig_bb ], ...
42 /// "orig_bb" is no longer a predecessor of "normal_dst", so the phi nodes in
46 /// %t3 = phi i32 [ %x, %merge_bb ], ...
50 for (PHINode &Phi : Invoke->getNormalDest()->phis()) {
51 int Idx = Phi.getBasicBlockIndex(OrigBlock);
54 Phi.setIncomingBlock(Idx, MergeBlock);
58 /// Fix-up phi nodes in an invoke instruction's unwind destination.
71 /// %t3 = phi i32 [ %x, %orig_bb ], ..
    [all...]
LoopUnrollPeel.cpp 65 // Designates that a Phi is estimated to become invariant after an "infinite"
91 // This function calculates the number of iterations after which the given Phi
94 // Given %x = phi <Inputs from above the loop>, ..., [%y, %back.edge].
96 // If %y is a Phi from the loop header, I(%x) = I(%y) + 1.
98 // TODO: Actually if %y is an expression that depends only on Phi %z and some
101 // %x = phi(0, %a), <-- becomes invariant starting from 3rd iteration.
102 // %y = phi(0, 5),
105 PHINode *Phi, Loop *L, BasicBlock *BackEdge,
107 assert(Phi->getParent() == L->getHeader() &&
108 "Non-loop Phi should not be checked for turning into invariant.")
    [all...]
LoopUnrollRuntime.cpp 60 /// - Create PHI nodes at prolog end block to combine values
62 /// - Add a PHI operand to a PHI node at the loop exit block
77 // Create a PHI node for each outgoing value from the original loop
79 // The new PHI node is inserted in the prolog end basic block.
80 // The new PHI node value is added as an operand of a PHI node in either
84 // Add a new PHI node to the prolog end block and add the
88 // Adding a value to the new PHI node from the original loop preheader.
103 // Adding a value to the new PHI node from the last prolog bloc
    [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/Analysis/
MemorySSAUpdater.cpp 33 // The simple, non-marker algorithm places phi nodes at any join
34 // Here, we place markers, and only place phi nodes if they end up necessary.
39 // flow, where phi nodes may be in cycles with themselves, but unnecessary.
58 // We hit our node again, meaning we had a cycle, we must insert a phi
71 // potential phi node. This will insert phi nodes if we cycle in order to
76 // Now try to simplify the ops to avoid placing a phi.
77 // This may return null if we never created a phi yet, that's okay
78 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MSSA->getMemoryAccess(BB));
80 // See if we can avoid the phi by simplifying it
    [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
ScalarizeMaskedMemIntrin.cpp 98 // %res.phi.else = phi <16 x i32> [ %6, %cond.load ], [ undef, %0 ]
106 // %11 = insertelement <16 x i32> %res.phi.else, i32 %10, i32 1
110 // %res.phi.else3 = phi <16 x i32> [ %11, %cond.load1 ], [ %res.phi.else, %else ]
176 PHINode *Phi = nullptr;
182 // %res.phi.else3 = phi <16 x i32> [ %11, %cond.load1 ], [ %res.phi.else, %else
    [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/AMDGPU/
SIAnnotateControlFlow.cpp 88 bool isElse(PHINode *Phi);
90 void eraseIfUnused(PHINode *Phi);
182 /// Can the condition represented by this PHI node treated like
184 bool SIAnnotateControlFlow::isElse(PHINode *Phi) {
185 BasicBlock *IDom = DT->getNode(Phi->getParent())->getIDom()->getBlock();
186 for (unsigned i = 0, e = Phi->getNumIncomingValues(); i != e; ++i) {
187 if (Phi->getIncomingBlock(i) == IDom) {
189 if (Phi->getIncomingValue(i) != BoolTrue)
193 if (Phi->getIncomingValue(i) != BoolFalse)
201 // Erase "Phi" if it is not used any mor
    [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/swiftshader/third_party/llvm-7.0/llvm/lib/Target/ARM/
ARMParallelDSP.cpp 85 // 'Reduction' contains the phi-node and accumulator statement from where we
100 PHINode *Phi; // The Phi-node from where we start
107 Reduction (PHINode *P, Instruction *Acc) : Phi(P), AccIntAdd(Acc) { };
387 Instruction *Acc = Reduction.Phi;
400 if (Acc != Reduction.Phi) {
421 for (PHINode &Phi : Header->phis()) {
422 const auto *Ty = Phi.getType();
427 RecurrenceDescriptor::AddReductionVar(&Phi,
433 Instruction *Acc = dyn_cast<Instruction>(Phi.getIncomingValueForBlock(Latch))
    [all...]
  /external/tensorflow/tensorflow/compiler/xla/service/
hlo_dataflow_analysis.cc 182 bool HloDataflowAnalysis::Phi(
186 VLOG(4) << "Phi(" << instruction->name() << ")";
201 // Positions with phi values should never have more than one value in the
224 // Remove the existing phi value (if it exists). The phi can be its own
248 // Only a single value reaches this point. There should be no phi, and
257 // Remove the existing phi.
265 // Multiple distinct values reach this point. A phi value is
383 return Phi(conditional, inputs);
534 return Phi(parameter, inputs)
    [all...]
  /external/llvm/lib/Transforms/Utils/
MemorySSA.cpp 209 // Rename the phi nodes in our successor block
213 auto *Phi = cast<MemoryPhi>(&Accesses->front());
214 Phi->addIncoming(IncomingVal, BB);
223 /// in phi nodes in our successors.
249 /// \brief Compute dominator levels, used by the phi insertion algorithm above.
256 /// \brief This handles unreachable block accesses by deleting phi nodes in
263 // Make sure phi nodes in our reachable successors end up with a
271 // Rename the phi nodes in our successor block
275 auto *Phi = cast<MemoryPhi>(&Accesses->front());
276 Phi->addIncoming(LiveOnEntryDef.get(), BB)
    [all...]
  /external/swiftshader/third_party/LLVM/lib/Analysis/
ScalarEvolutionExpander.cpp     [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/unittests/Analysis/
MemorySSA.cpp 153 // the phi is trivial
163 // We don't touch existing loads, so we need to create a new one to get a phi
176 // Now the load should be a phi of the entry store and the left store
192 // and make sure the phi below it got updated, despite being blocks away
361 // Before, the load will point to a phi of the EntryStore and SideStore.
369 // After it's a phi of the new side store access.
404 // Before, the load will point to a phi of the EntryStore and SideStore.
412 // After, it's a phi of the side store.
448 // Before, the load will point to a phi of the EntryStore and SideStore.
457 // After, it's a phi of the entry store
    [all...]
ScalarEvolutionTest.cpp 135 // PHI node.
239 " %iv0 = phi i8* [ %iv0.inc, %loop ], [ %iv0.init, %loop.ph ] "
240 " %iv1 = phi i32 [ %iv1.inc, %loop ], [ 0, %loop.ph ] "
373 PHINode *Phi = cast<PHINode>(&*II++);
374 Phi->addIncoming(Acc[i], LoopBB);
375 Phi->addIncoming(UndefValue::get(Ty), EntryBB);
493 " %iv0 = phi i32 [ %iv0.inc, %loop ], [ 0, %loop.ph ] "
494 " %iv1 = phi i32 [ %iv1.inc, %loop ], [ -2147483648, %loop.ph ] "
637 // %0 = phi i64 [ 100, %entry ], [ %dec, %for.inc ]
646 // %1 = phi i64 [ 100, %for.cond ], [ %dec5, %for.inc2
    [all...]

Completed in 5218 milliseconds

1 2 3