/external/llvm/unittests/Transforms/Utils/ |
Local.cpp | 29 PHINode *phi = builder.CreatePHI(Type::getInt32Ty(C), 2); local 35 phi->addIncoming(phi, bb0); 36 phi->addIncoming(phi, bb1); 38 // The PHI will be removed 39 EXPECT_TRUE(RecursivelyDeleteDeadPHINode(phi)); 46 phi = builder.CreatePHI(Type::getInt32Ty(C), 0); 48 EXPECT_TRUE(RecursivelyDeleteDeadPHINode(phi)); 51 phi = builder.CreatePHI(Type::getInt32Ty(C), 0) [all...] |
/art/compiler/optimizing/ |
ssa_phi_elimination.cc | 22 // Add to the worklist phis referenced by non-phi instructions. 26 HPhi* phi = it.Current()->AsPhi(); local 27 if (phi->HasEnvironmentUses()) { 28 // TODO: Do we want to keep that phi alive? 31 for (HUseIterator<HInstruction> it(phi->GetUses()); !it.Done(); it.Advance()) { 35 worklist_.Add(phi); 36 phi->SetLive(); 38 phi->SetDead(); 44 // Process the worklist by propagating liveness to phi inputs. 46 HPhi* phi = worklist_.Pop() local 82 HPhi* phi = worklist_.Pop(); local [all...] |
ssa_builder.cc | 36 HPhi* phi = it.Current()->AsPhi(); local 38 HInstruction* input = ValueOfLocal(block->GetPredecessors().Get(pred), phi->GetRegNumber()); 39 phi->AddInput(input); 75 HPhi* phi = new (GetGraph()->GetArena()) HPhi( local 77 block->AddPhi(phi); 78 current_locals_->Put(local, phi); 109 HPhi* phi = new (GetGraph()->GetArena()) HPhi( local 113 phi->SetRawInputAt(i, value); 115 block->AddPhi(phi); 116 value = phi; [all...] |
ssa_type_propagation.cc | 37 static bool UpdateType(HPhi* phi) { 38 Primitive::Type existing = phi->GetType(); 41 for (size_t i = 0, e = phi->InputCount(); i < e; ++i) { 42 Primitive::Type input_type = phi->InputAt(i)->GetType(); 45 phi->SetType(new_type); 59 HPhi* phi = it.Current()->AsPhi(); local 60 // Set the initial type for the phi. Use the non back edge input for reaching 62 phi->SetType(phi->InputAt(0)->GetType()); 63 AddToWorklist(phi); 67 HPhi* phi = it.Current()->AsPhi(); local 90 HPhi* phi = it.Current()->GetUser()->AsPhi(); local [all...] |
register_allocator_test.cc | 179 * phi 221 * phi 278 * phi + 308 HPhi* phi = loop_header->GetFirstPhi()->AsPhi(); local 310 LiveInterval* phi_interval = phi->GetLiveInterval(); 311 LiveInterval* loop_update = phi->InputAt(1)->GetLiveInterval();
|
ssa_liveness_analysis.cc | 96 // start and end position. Non-phi instructions have a distinct lifetime position than 97 // the block they are in. Phi instructions have the lifetime start of their block as 173 // Set phi inputs of successors of this block corresponding to this block 180 HInstruction* phi = it.Current(); local 181 HInstruction* input = phi->InputAt(phi_input_index); 182 input->GetLiveInterval()->AddPhiUse(phi, phi_input_index, block); 183 // A phi input whose last user is the phi dies at the end of the predecessor block, 184 // and not at the phi's lifetime position.
|
/external/chromium_org/v8/src/ |
hydrogen-infer-types.cc | 32 HPhi* phi = block->phis()->at(j); local 33 worklist_.Add(phi, zone()); 34 in_worklist_.Add(phi->id());
|
hydrogen-mark-deoptimize.cc | 13 HPhi* phi = phi_list->at(i); local 14 if (phi->CheckFlag(HValue::kAllowUndefinedAsNaN) && 15 !phi->CheckUsesForFlag(HValue::kAllowUndefinedAsNaN)) { 16 ProcessPhi(phi); 22 void HMarkDeoptimizeOnUndefinedPhase::ProcessPhi(HPhi* phi) { 23 DCHECK(phi->CheckFlag(HValue::kAllowUndefinedAsNaN)); 26 // Push the phi onto the worklist 27 phi->ClearFlag(HValue::kAllowUndefinedAsNaN); 28 worklist_.Add(phi, zone()); 30 // Process all phis that can reach this phi [all...] |
hydrogen-redundant-phi.cc | 5 #include "src/hydrogen-redundant-phi.h" 46 HPhi* phi = phis->at(i); local 47 if (phi->CheckFlag(HValue::kIsDead)) continue; // Already replaced. 49 HValue* replacement = phi->GetRedundantReplacement(); 51 phi->SetFlag(HValue::kIsDead); 52 for (HUseIterator it(phi->uses()); !it.Done(); it.Advance()) { 55 // Iterate again if used in another non-dead phi. 58 phi->block()->RemovePhi(phi);
|
hydrogen-dce.cc | 57 HPhi* phi = block->phis()->at(j); local 58 if (phi->CannotBeEliminated()) MarkLive(phi, &worklist); 84 HPhi* phi = block->phis()->at(j); local 85 if (!phi->CheckFlag(HValue::kIsLive)) { 86 worklist.Add(phi, zone()); 88 phi->ClearFlag(HValue::kIsLive); 93 // Process phis separately to avoid simultaneously mutating the phi list. 95 HPhi* phi = worklist.RemoveLast(); local 96 HBasicBlock* block = phi->block() [all...] |
hydrogen-infer-representation.cc | 20 // (1) Initialize bit vectors and count real uses. Each phi gets a 33 // phi is connected to another phi if its value is used either directly or 41 HPhi* phi = phi_list->at(i); local 42 for (HUseIterator it(phi->uses()); !it.Done(); it.Advance()) { 96 // Simplify constant phi inputs where possible. 102 // Use the phi reachability information from step 2 to 103 // sum up the non-phi use counts of all connected phis. 105 HPhi* phi = phi_list->at(i); local 111 if (index != i) phi->AddNonPhiUsesFrom(it_use); // Don't count twice 142 HPhi* phi = phis->at(j); local [all...] |
hydrogen-osr.cc | 95 HPhi* phi = phis->at(j); local 96 if (phi->HasMergedIndex()) { 97 osr_values_->at(phi->merged_index())->set_incoming_value(phi);
|
hydrogen-uint32-analysis.cc | 87 // There is a phi use of this value from a phi that is not yet 105 // There is a phi use of this value from a phi that is not yet 118 // Check if all operands to the given phi are marked with kUint32 flag. 119 bool HUint32AnalysisPhase::CheckPhiOperands(HPhi* phi) { 120 if (!phi->CheckFlag(HInstruction::kUint32)) { 121 // This phi is not uint32 safe. No need to check operands. 125 for (int j = 0; j < phi->OperandCount(); j++) { 126 HValue* operand = phi->OperandAt(j) 180 HPhi* phi = phis_[i]; local 195 HPhi* phi = worklist.RemoveLast(); local 204 HPhi* phi = phis_[i]; local [all...] |
hydrogen-representation-changes.cc | 12 // Insert the representation change right before its use. For phi-uses we 118 HPhi* phi = phi_list->at(i); local 119 if (phi->representation().IsInteger32()) { 120 phi->SetFlag(HValue::kTruncatingToInt32); 121 } else if (phi->representation().IsSmi()) { 122 phi->SetFlag(HValue::kTruncatingToSmi); 123 phi->SetFlag(HValue::kTruncatingToInt32); 128 HPhi* phi = phi_list->at(i); local 130 if (phi->representation().IsSmiOrInteger32() && 131 !phi->CheckUsesForFlag(HValue::kTruncatingToInt32, &value)) [all...] |
hydrogen-range-analysis.cc | 50 // Process phi instructions. 52 HPhi* phi = block->phis()->at(i); local 53 InferRange(phi); 225 HPhi* phi = HPhi::cast(value); local 226 for (int i = 0; i < phi->OperandCount(); ++i) { 227 AddToWorklist(phi->OperandAt(i));
|
/external/bouncycastle/bcprov/src/main/java/org/bouncycastle/crypto/generators/ |
RSAKeyPairGenerator.java | 30 BigInteger p, q, n, d, e, pSub1, qSub1, phi; local 120 phi = p; 122 q = phi; 127 phi = pSub1.multiply(qSub1); 132 d = e.modInverse(phi);
|
/external/chromium_org/third_party/WebKit/Source/wtf/text/ |
WTFStringTest.cpp | 107 const double phi = 1.6180339887498948482; local 108 testNumberToStringECMAScript(phi, "1.618033988749895");
|
/external/llvm/lib/CodeGen/ |
UnreachableBlockElim.cpp | 171 // Cleanup PHI nodes. 174 // Prune unneeded PHI entries. 177 MachineBasicBlock::iterator phi = BB->begin(); local 178 while (phi != BB->end() && phi->isPHI()) { 179 for (unsigned i = phi->getNumOperands() - 1; i >= 2; i-=2) 180 if (!preds.count(phi->getOperand(i).getMBB())) { 181 phi->RemoveOperand(i); 182 phi->RemoveOperand(i-1); 186 if (phi->getNumOperands() == 3) [all...] |
/external/chromium_org/v8/src/compiler/ |
graph-builder.cc | 145 // Introduce Phi nodes for values that have differing input at merge points, 146 // potentially extending an existing Phi node if possible. 156 Node* phi = builder_->NewPhi(1, values()->at(i), control); local 157 values()->at(i) = phi; 165 const Operator* phi_op = common()->Phi(kMachAnyTagged, count); 210 // Phi already exists, add input. 214 // Phi does not exist yet, introduce one. 227 // Phi already exists, add input. 228 value->set_op(common()->Phi(kMachAnyTagged, inputs)); 231 // Phi does not exist yet, introduce one [all...] |
/external/llvm/examples/OCaml-Kaleidoscope/Chapter5/ |
codegen.ml | 67 * phi. We create a new name because one is used for the phi node, and the 77 * phi. *) 84 let phi = build_phi incoming "iftmp" builder in var 98 phi 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/ |
codegen.ml | 85 * phi. We create a new name because one is used for the phi node, and the 95 * phi. *) 102 let phi = build_phi incoming "iftmp" builder in var 116 phi 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/examples/OCaml-Kaleidoscope/Chapter7/ |
codegen.ml | 115 * phi. We create a new name because one is used for the phi node, and the 125 * phi. *) 132 let phi = build_phi incoming "iftmp" builder in var 146 phi 190 (* Within the loop, the variable is defined equal to the PHI node. If it
|
/art/compiler/dex/ |
ssa_transformation.cc | 228 * TODO - evaluate whether phi will ever need to be inserted into exit 455 * The calculated result is used for phi-node pruning - where we only need to 456 * insert a phi node if the variable is live-in to the block. 495 /* Insert phi nodes to for each variable to the dominance frontiers */ 524 * Insert a phi node for dalvik_reg in the phi_blocks if the Dalvik 529 /* Variable will be clobbered before being used - no need for phi */ 533 MIR *phi = NewMIR(); local 534 phi->dalvikInsn.opcode = static_cast<Instruction::Code>(kMirOpPhi); 535 phi->dalvikInsn.vA = dalvik_reg; 536 phi->offset = phi_bb->start_offset [all...] |
/dalvik/dx/src/com/android/dx/ssa/back/ |
LivenessAnalyzer.java | 159 // If s is a phi-function with V as it's ith argument. 160 PhiInsn phi = (PhiInsn) insn; local 163 phi.predBlocksForReg(regV, ssaMeth)) { 246 * Ensures that all the phi result registers for all the phis in the 250 * a the result of a dead-end phi might be assigned the same register 251 * as the result of another phi, and the phi removal move scheduler may
|
/external/chromium_org/cc/animation/ |
transform_operation.cc | 212 double phi = atan2(px, py); local 214 candidates[0] = phi;
|