HomeSort by relevance Sort by last modified time
    Searched refs:Phi (Results 26 - 50 of 185) sorted by null

12 3 4 5 6 7 8

  /prebuilts/clang/host/linux-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/linux-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...]
  /external/r8/src/main/java/com/android/tools/r8/ir/code/
Value.java 64 private LinkedList<Phi> phiUsers = new LinkedList<>();
65 private Set<Phi> uniquePhiUsers = null;
184 public Set<Phi> uniquePhiUsers() {
242 public void addPhiUser(Phi user) {
247 public void removePhiUser(Phi user) {
298 for (Phi user : uniquePhiUsers()) {
427 public Phi asPhi() {
530 for (Phi phi : uniquePhiUsers()) {
531 if (!active.contains(phi) && !phi.isDead(active, options))
    [all...]
BasicBlock.java 87 private List<Phi> phis = new ArrayList<>();
101 private Map<Integer, Phi> incompletePhis = new HashMap<>();
154 for (Phi phi : getPhis()) {
155 phi.removeOperand(index);
158 List<Phi> trivials = new ArrayList<>();
159 for (Phi phi : getPhis()) {
160 if (phi.isTrivialPhi()) {
161 trivials.add(phi);
1159 Phi phi = new Phi(valueNumberGenerator.next(), local
    [all...]
IRCode.java 152 // Check that all phi uses are consistent.
153 for (Phi phi : block.getPhis()) {
154 assert phi.getOperands().size() == predecessorCount;
155 values.add(phi);
156 for (Value value : phi.getOperands()) {
159 Phi phiOperand = value.asPhi();
161 assert phiOperand.uniquePhiUsers().contains(phi);
184 Phi phi = value.asPhi() local
    [all...]
  /external/r8/src/test/java/com/android/tools/r8/smali/
CatchSuccessorFallthroughTest.java 13 import com.android.tools.r8.ir.code.Phi;
73 // Find the exit block and assert that the value is a phi merging the exceptional edge
79 // Check it has one phi with two operands / two predecessors.
84 // Next we find and check that the phi values come from the expected predecessor.
87 Phi phi = block.getPhis().get(0); local
88 for (Value operand : phi.getOperands()) {
  /external/llvm/lib/Transforms/Scalar/
IndVarSimplify.cpp 182 /// loop. For PHI nodes, there may be multiple uses, so compute the nearest
186 PHINode *PHI = dyn_cast<PHINode>(User);
187 if (!PHI)
191 for (unsigned i = 0, e = PHI->getNumIncomingValues(); i != e; ++i) {
192 if (PHI->getIncomingValue(i) != Def)
195 BasicBlock *InsertBB = PHI->getIncomingBlock(i);
203 assert(InsertPt && "Missing phi operand");
262 // If this is not an add of the PHI with a constantfp, or if the constant fp
466 // Collect information about PHI nodes which can be transformed in
516 // Because of LCSSA, these values will only occur in LCSSA PHI Nodes. Sca
    [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/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...]
  /frameworks/native/services/sensorservice/
Fusion.h 82 mat<mat33_t, 2, 2> Phi;
Fusion.cpp 176 Phi[0][1] = 0;
177 Phi[1][1] = 1;
447 // P(k+1) = Phi(k)*P(k)*Phi(k)' + G*Q(k)*G'
453 // Phi = | Phi00 Phi10 |
482 Phi[0][0] = I33 - wx*(k1*ilwe) + wx2*k0;
483 Phi[1][0] = wx*k0 - I33dT - wx2*(ilwe*ilwe*ilwe)*(lwedT-k1);
490 P = Phi*P*transpose(Phi) + GQGt;
  /prebuilts/go/darwin-x86/src/cmd/compile/internal/ssa/
deadcode.go 242 // Remove phi args from c's phis.
254 // a Phi with a Copy can in general cause problems because
255 // Phi and Copy don't have exactly the same semantics.
256 // Phi arguments always come from a predecessor block,
258 // 1: x = (Phi y)
261 // If we replace Phi->Copy, we get
265 // (Phi y) refers to the *previous* value of y, whereas
275 // x = (Phi z)
278 // Where opX are not Phi ops. But such a situation
  /prebuilts/go/linux-x86/src/cmd/compile/internal/ssa/
deadcode.go 242 // Remove phi args from c's phis.
254 // a Phi with a Copy can in general cause problems because
255 // Phi and Copy don't have exactly the same semantics.
256 // Phi arguments always come from a predecessor block,
258 // 1: x = (Phi y)
261 // If we replace Phi->Copy, we get
265 // (Phi y) refers to the *previous* value of y, whereas
275 // x = (Phi z)
278 // Where opX are not Phi ops. But such a situation
  /external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
IndVarSimplify.cpp 198 /// loop. For PHI nodes, there may be multiple uses, so compute the nearest
202 PHINode *PHI = dyn_cast<PHINode>(User);
203 if (!PHI)
207 for (unsigned i = 0, e = PHI->getNumIncomingValues(); i != e; ++i) {
208 if (PHI->getIncomingValue(i) != Def)
211 BasicBlock *InsertBB = PHI->getIncomingBlock(i);
219 assert(InsertPt && "Missing phi operand");
271 // If this is not an add of the PHI with a constantfp, or if the constant fp
449 // Add a new IVUsers entry for the newly-created integer PHI.
502 // Because of LCSSA, these values will only occur in LCSSA PHI Nodes. Sca
    [all...]
  /external/llvm/lib/Analysis/
ScalarEvolutionExpander.cpp     [all...]
  /prebuilts/go/darwin-x86/src/math/
const.go 12 Phi = 1.61803398874989484820458683436563811772030917980576286213544862 // http://oeis.org/A001622
  /prebuilts/go/linux-x86/src/math/
const.go 12 Phi = 1.61803398874989484820458683436563811772030917980576286213544862 // http://oeis.org/A001622
  /external/llvm/lib/Target/PowerPC/
PPCBoolRetToInt.cpp 141 const PHINode *Phi = dyn_cast<PHINode>(V);
142 return !Phi || Promotable.count(Phi);
  /external/llvm/lib/CodeGen/
MachinePipeliner.cpp 49 // represent loop carried dependences in the DAG as order edges to the Phi
121 /// an unrelated Phi.
124 cl::desc("Prune dependences between unrelated Phi nodes."),
291 /// using an anti dependence from a Phi to an instruction.
325 // Instructions that feed a Phi have a distance of 1. Computing larger
410 unsigned PhiNum, MachineInstr *Phi,
540 /// second is true if the register defines a Phi value and loop value is
541 /// scheduled before the Phi.
650 /// The number of stages for a Phi is a little different than other
652 /// because we assume the Phi is needed for at least 1 iteration
    [all...]
  /external/llvm/lib/Target/Hexagon/
HexagonHardwareLoops.cpp 151 /// R = phi ..., [ R.next, LatchBlock ]
215 /// \brief Return true if the Phi may generate a value that may underflow,
217 bool phiMayWrapOrUnderflow(MachineInstr *Phi, const MachineOperand *EndVal,
253 /// The desired flow is: phi ---> bump -+-> comparison-in-latch.
255 /// +-> back to phi
260 /// phi -+-> bump ---> back to phi
409 MachineInstr *Phi = &*I;
411 // Have a PHI instruction. Get the operand that corresponds to the
413 // where the "reg" is defined by the PHI node we are looking at
    [all...]
  /external/llvm/lib/Transforms/Vectorize/
LoopVectorize.cpp 352 /// this phi node.
353 void fixFirstOrderRecurrence(PHINode *Phi);
355 /// \brief The Loop exit block may have single value PHI nodes where the
413 /// Create a vector induction phi node based on an existing scalar one. This
    [all...]
  /external/clang/lib/Analysis/
ThreadSafetyCommon.cpp 61 // Return true if E is a variable that points to an incomplete Phi node.
63 if (const auto *Ph = dyn_cast<til::Phi>(E))
64 return Ph->status() == til::Phi::PH_Incomplete;
302 if (auto *Ph = dyn_cast<til::Phi>(E))
666 // Make a Phi node in the current block for the i^th variable in CurrentVarMap.
667 // If E != null, sets Phi[CurrentBlockInfo->ArgIndex] = E.
675 // We already have a Phi node in the current block,
676 // so just add the new variable to the Phi node.
677 til::Phi *Ph = dyn_cast<til::Phi>(CurrE)
    [all...]
  /external/llvm/lib/Transforms/InstCombine/
InstCombinePHI.cpp 26 /// If we have something like phi [add (a,b), add(a,c)] and if a/b/c and the
27 /// adds all have a single use, turn this into a phi and a single binop.
53 // Keep track of which operand needs a phi node.
58 // If both LHS and RHS would need a PHI, don't do this transformation,
130 // We don't want to replace this phi if the replacement would require
131 // more than one phi, which leads to higher register pressure. This is
157 // Don't merge two GEPs when two operands differ (introducing phi nodes)
169 // If we already needed a PHI for an earlier operand, and another operand
170 // also requires a PHI, we'd be introducing more PHIs than we're
171 // eliminating, which increases register pressure on entry to the PHI'
    [all...]
  /external/v8/tools/turbolizer/
node.js 30 return this.opcode.endsWith('Phi') ||
144 ((this.opcode == "Phi" || this.opcode == "EffectPhi") &&
  /external/swiftshader/third_party/subzero/src/
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...]

Completed in 1583 milliseconds

12 3 4 5 6 7 8