| /external/chromium_org/v8/src/ |
| hydrogen-infer-representation.cc | 44 // bit-vector of length <number of phis>. 55 // (2) Do a fixed point iteration to find the set of connected phis. A 76 // Set truncation flags for groups of connected phis. This is a conservative 84 // Check if all uses of all connected phis in this group are truncating. 97 // Clear truncation flag of this group of connected phis. 108 // This step uses kTruncatingToInt32 flags of phis. 114 // sum up the non-phi use counts of all connected phis. 129 const ZoneList<HPhi*>* phis = block->phis(); local 130 for (int j = 0; j < phis->length(); ++j) 151 const ZoneList<HPhi*>* phis = block->phis(); local [all...] |
| hydrogen-uint32-analysis.cc | 63 // Encountered phis are optimistically treated as safe uint32 uses, 66 // phis that are not actually uint32-safe (it requires fix point iteration). 79 // Optimistically treat phis as uint32 safe. 149 // No phis were collected. Nothing to do. 152 // Worklist used to transitively clear kUint32 from phis that 153 // are used as arguments to other phis. 160 // Iterate over collected phis and unmark those that 163 // Phis that are still marked as safe are shifted down 164 // so that all safe phis form a prefix of the phis_ array. 176 // Now phis array contains only those phis that have saf [all...] |
| hydrogen-infer-types.cc | 37 const ZoneList<HPhi*>* phis = block->phis(); local 38 for (int j = 0; j < phis->length(); j++) { 39 phis->at(j)->UpdateInferredType(); 52 // Update phis of the loop header now after the whole loop body is 54 for (int j = 0; j < block->phis()->length(); ++j) { 55 HPhi* phi = block->phis()->at(j);
|
| hydrogen-redundant-phi.cc | 46 for (int j = 0; j < block->phis()->length(); j++) { 47 HPhi* phi = block->phis()->at(j); 50 // Remember phi to avoid concurrent modification of the block's phis. 67 // Make sure that we *really* removed all redundant phis. 69 for (int j = 0; j < blocks->at(i)->phis()->length(); j++) { 70 ASSERT(blocks->at(i)->phis()->at(j)->GetRedundantReplacement() == NULL);
|
| hydrogen-osr.cc | 117 const ZoneList<HPhi*>* phis = osr_loop_entry_->phis(); local 118 for (int j = 0; j < phis->length(); j++) { 119 HPhi* phi = phis->at(j);
|
| hydrogen-dce.cc | 67 for (int j = 0; j < block->phis()->length(); j++) { 68 HPhi* phi = block->phis()->at(j); 105 // Collect phis that are dead and remove them in the next pass. 106 for (int j = 0; j < block->phis()->length(); j++) { 107 HPhi* phi = block->phis()->at(j); 116 // Process phis separately to avoid simultaneously mutating the phi list.
|
| hydrogen-representation-changes.cc | 98 // Compute truncation flag for phis: Initially assume that all 99 // int32-phis allow truncation and iteratively remove the ones that 164 const ZoneList<HPhi*>* phis = block->phis(); local 165 for (int j = 0; j < phis->length(); j++) { 166 InsertRepresentationChangesForValue(phis->at(j));
|
| hydrogen-redundant-phi.h | 37 // Replace all phis consisting of a single non-loop operand plus any number of
|
| hydrogen-escape-analysis.cc | 86 // Create a new state full of phis for loop header entries. 241 // pessimistic about loop headers, add phis for all values. 249 // propagated states, potentially introducing new phis lazily or 250 // adding values to existing phis.
|
| hydrogen-mark-deoptimize.h | 37 // Compute DeoptimizeOnUndefined flag for phis. Any phi that can reach a use
|
| hydrogen-osr.h | 55 // Process the OSR values and phis after initial graph optimization.
|
| /external/chromium_org/v8/test/mjsunit/regress/ |
| regress-crbug-173907.js | 56 // All registers are blocked and phis for phi1 and phi2 are spilled because 58 // and phis themselves have only ANY-policy uses. 67 // Now swap values of phi1 and phi2 to create cycle between phis. 75 // a register beneficial policy. How? We just hide these uses behind phis.
|
| regress-crbug-173907b.js | 56 // All registers are blocked and phis for phi1 and phi2 are spilled because 58 // and phis themselves have only ANY-policy uses. 67 // Now swap values of phi1 and phi2 to create cycle between phis. 75 // a register beneficial policy. How? We just hide these uses behind phis.
|
| /external/llvm/lib/CodeGen/ |
| OptimizePHIs.cpp | 1 //===-- OptimizePHIs.cpp - Optimize machine instruction PHIs --------------===// 10 // This pass optimizes machine instruction PHIs to take advantage of 60 INITIALIZE_PASS(OptimizePHIs, "opt-phis", 61 "Optimize machine instruction PHIs", false, false) 79 /// are copies of SingleValReg, possibly via copies through other PHIs. If 81 /// non-copy value. PHIsInCycle is a set used to keep track of the PHIs that 127 /// other PHIs in a cycle.
|
| EarlyIfConversion.cpp | 77 // Head block, and phis in the Tail block are converted to select instructions. 89 /// The block containing phis after the if-then-else. 119 SmallVector<PHIInfo, 8> PHIs; 206 // There shouldn't normally be any phis in a single-predecessor block. 380 // If Tail doesn't have any phis, there must be side effects. 382 DEBUG(dbgs() << "No phis in tail.\n"); 403 // Any phis in the tail block must be convertible to selects. 404 PHIs.clear(); 409 PHIs.push_back(&*I); 410 PHIInfo &PI = PHIs.back() [all...] |
| /external/llvm/test/Analysis/BasicAA/ |
| phi-and-select.ll | 3 ; BasicAA should detect NoAliases in PHIs and Selects. 15 ; Two PHIs in the same block. 44 ; Two PHIs with disjoint sets of inputs.
|
| /dalvik/dx/src/com/android/dx/ssa/back/ |
| LivenessAnalyzer.java | 246 * Ensures that all the phi result registers for all the phis in the 248 * the dead code remover has allowed through "dead-end phis" whose 260 List<SsaInsn> phis = b.getPhiInsns(); local 262 int szPhis = phis.size(); 270 interference.add(phis.get(i).getResult().getReg(), 271 phis.get(j).getResult().getReg());
|
| /external/dexmaker/src/dx/java/com/android/dx/ssa/back/ |
| LivenessAnalyzer.java | 247 * Ensures that all the phi result registers for all the phis in the 249 * the dead code remover has allowed through "dead-end phis" whose 261 List<SsaInsn> phis = b.getPhiInsns(); local 263 int szPhis = phis.size(); 271 interference.add(phis.get(i).getResult().getReg(), 272 phis.get(j).getResult().getReg());
|
| /dalvik/dx/src/com/android/dx/ssa/ |
| PhiTypeResolver.java | 35 * Phi operands may be themselves be the result of unresolved phis, 41 * circular-only phis that may have been inserted. 46 /** indexed by register; all registers still defined by unresolved phis */ 90 * If the result type has changed, re-resolve all phis
|
| /external/dexmaker/src/dx/java/com/android/dx/ssa/ |
| PhiTypeResolver.java | 36 * Phi operands may be themselves be the result of unresolved phis, 42 * circular-only phis that may have been inserted. 47 /** indexed by register; all registers still defined by unresolved phis */ 91 * If the result type has changed, re-resolve all phis
|
| /external/llvm/docs/HistoricalNotes/ |
| 2003-06-26-Reoptimizer2.txt | 30 It does copy insertions for PHIs, which it infers from the machine 32 the PHIs. 102 along with the PHIs that are inserted. 103 PHIs are followed by the copies that implement them.
|
| /external/llvm/test/Transforms/IndVarSimplify/ |
| 2011-11-17-selfphi.ll | 2 ; PR11350: Check that SimplifyIndvar handles a cycle of useless self-phis.
|
| /external/llvm/include/llvm/Transforms/Utils/ |
| SSAUpdaterImpl.h | 52 PhiT *PHITag; // Marker for existing PHIs that match. 76 /// calculating the required placement of PHIs and then inserting new PHIs 225 /// placing PHIs within the subset CFG. 276 /// FindPHIPlacement - PHIs are needed in the iterated dominance frontiers 277 /// of the known definitions. Iteratively add PHIs in the dom frontiers 319 // and check if existing PHIs can be used. If not, create empty PHIs where 339 // arguments for any new PHIs added in the forward traversal.
|
| /external/llvm/test/CodeGen/X86/ |
| bss_pagealigned.ll | 7 define void @unxlate_dev_mem_ptr(i64 %phis, i8* %addr) nounwind {
|
| /external/llvm/lib/Transforms/InstCombine/ |
| InstCombinePHI.cpp | 71 // because it would increase the number of PHIs entering the block, 73 // bad when the PHIs are in the header of a loop. 98 // Add all operands to the new PHIs. 141 // especially bad when the PHIs are in the header of a loop. 167 // if one of the PHIs has a constant for the index. The index may be 179 // also requires a PHI, we'd be introducing more PHIs than we're 218 // Add all operands to the new PHIs. 410 // Be careful about transforming integer PHIs. We don't want to pessimize 618 /// inttoptr. We should produce new PHIs in the right type. 622 // of PHIs, along with their offset. These are the things we want to rewrite [all...] |