/external/v8/src/crankshaft/ |
hydrogen-redundant-phi.cc | 12 // Gather all phis from all blocks first. 17 for (int j = 0; j < block->phis()->length(); j++) { 18 all_phis.Add(block->phis()->at(j), zone()); 22 // Iteratively reduce all phis in the list. 26 // Make sure that we *really* removed all redundant phis. 28 for (int j = 0; j < blocks->at(i)->phis()->length(); j++) { 29 DCHECK(blocks->at(i)->phis()->at(j)->GetRedundantReplacement() == NULL); 37 ProcessPhis(block->phis()); 41 void HRedundantPhiEliminationPhase::ProcessPhis(const ZoneList<HPhi*>* phis) { 44 // Iterately replace all redundant phis in the given list [all...] |
hydrogen-infer-types.cc | 15 const ZoneList<HPhi*>* phis = block->phis(); local 16 for (int j = 0; j < phis->length(); j++) { 17 phis->at(j)->UpdateInferredType(); 30 // Update phis of the loop header now after the whole loop body is 32 for (int j = 0; j < block->phis()->length(); ++j) { 33 HPhi* phi = block->phis()->at(j);
|
hydrogen-redundant-phi.h | 14 // Replace all phis consisting of a single non-loop operand plus any number of 25 void ProcessPhis(const ZoneList<HPhi*>* phis);
|
hydrogen-dce.cc | 57 for (int j = 0; j < block->phis()->length(); j++) { 58 HPhi* phi = block->phis()->at(j); 83 // Collect phis that are dead and remove them in the next pass. 84 for (int j = 0; j < block->phis()->length(); j++) { 85 HPhi* phi = block->phis()->at(j); 94 // Process phis separately to avoid simultaneously mutating the phi list.
|
hydrogen-osr.cc | 95 const ZoneList<HPhi*>* phis = osr_loop_entry_->phis(); local 96 for (int j = 0; j < phis->length(); j++) { 97 HPhi* phi = phis->at(j);
|
hydrogen-infer-representation.cc | 22 // bit-vector of length <number of phis>. 33 // (2) Do a fixed point iteration to find the set of connected phis. A 54 // Set truncation flags for groups of connected phis. This is a conservative 62 // Check if all uses of all connected phis in this group are truncating. 77 // Clear truncation flag of this group of connected phis. 86 // Clear truncation flag of this group of connected phis. 98 // This step uses kTruncatingToInt32 flags of phis. 104 // sum up the non-phi use counts of all connected phis. 119 const ZoneList<HPhi*>* phis = block->phis(); local 141 const ZoneList<HPhi*>* phis = block->phis(); local [all...] |
hydrogen-representation-changes.cc | 117 // Compute truncation flag for phis: 119 // - Initially assume that all phis allow truncation to number and iteratively 122 // - Also assume that all Integer32 phis allow ToInt32 truncation and all 123 // Smi phis allow truncation to Smi. 230 const ZoneList<HPhi*>* phis = block->phis(); local 231 for (int j = 0; j < phis->length(); j++) { 232 InsertRepresentationChangesForValue(phis->at(j));
|
hydrogen-range-analysis.cc | 52 for (int i = 0; i < block->phis()->length(); ++i) { 53 HPhi* phi = block->phis()->at(i); 219 // For phis, we must propagate the check to all of its inputs.
|
lithium-allocator.cc | 559 const ZoneList<HPhi*>* phis = successor->phis(); local 560 for (int i = 0; i < phis->length(); ++i) { 561 HPhi* phi = phis->at(i); 1019 const ZoneList<HPhi*>* phis = block->phis(); local 1278 const ZoneList<HPhi*>* phis = block->phis(); local [all...] |
/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());
|
/prebuilts/go/darwin-x86/src/cmd/compile/internal/gc/testdata/ |
phi.go | 87 // Lots of phis of the form phi(int32,int64) of type int32 happen here. 88 // Some will be stack phis. For those stack phis, make sure the spill
|
/prebuilts/go/linux-x86/src/cmd/compile/internal/gc/testdata/ |
phi.go | 87 // Lots of phis of the form phi(int32,int64) of type int32 happen here. 88 // Some will be stack phis. For those stack phis, make sure the spill
|
/external/mesa3d/src/compiler/nir/ |
nir_phi_builder.c | 53 /* Needed so we can create phis and undefs */ 63 struct exec_list phis; member in struct:nir_phi_builder_value 118 exec_list_make_empty(&val->phis); 218 exec_list_push_tail(&val->phis, &phi->instr.node); 266 while (!exec_list_is_empty(&val->phis)) { 267 struct exec_node *head = exec_list_get_head(&val->phis);
|
/external/r8/src/main/java/com/android/tools/r8/ir/optimize/ |
DeadCodeRemover.java | 85 List<Phi> phis = block.getPhis(); local 87 for (; i < phis.size() && toRemoveIndex < toRemove.size(); i++) { 88 Phi phi = phis.get(i); 95 newPhis.addAll(phis.subList(i, phis.size()));
|
/external/r8/src/main/java/com/android/tools/r8/ir/code/ |
BasicBlock.java | 87 private List<Phi> phis = new ArrayList<>(); field in class:BasicBlock 153 if (phis != null) { 157 // Collect and remove trivial phis after block removal. 332 for (Phi phi : phis) { 338 return phis; 341 public void setPhis(List<Phi> phis) { 342 this.phis = phis; 383 phis = null; 440 phis.add(phi) [all...] |
/prebuilts/go/darwin-x86/src/cmd/compile/internal/ssa/ |
stackalloc.go | 267 var phis []*Value 285 phis = phis[:0] 294 phis = append(phis, v) 313 for _, v := range phis {
|
phielim.go | 10 // these phis are redundant:
|
print.go | 101 // print phis first since all value cycles contain a phi
|
regalloc.go | 41 // Phi values are special, as always. We define two kinds of phis, those 46 // same register. Register phis are spilled similarly to regular ops: 53 // stack location. Stack phis start out life already spilled - each phi 60 // The stack allocator knows that StoreReg args of stack-allocated phis 92 // TODO: maybe we should introduce these extra phis? 709 var phis []*Value 771 // case below desires; it wants to process phis specially. 800 // We make a separate copy for phis and regular values. 808 phis = append(phis[:0], b.Values[:nphi]... [all...] |
loopreschedchecks.go | 111 // Set up counter. There are no phis etc pre-existing for it. 294 // Except for mem and counter phis, it will be the same value seen on the original 353 // Rewrite appropriate inputs of phis reached in successors 383 // addDFphis creates new trivial phis that are necessary to correctly reflect (within SSA) 385 // These new phis can only occur at the dominance frontier of h; block s is in the dominance 388 // These newly created phis are themselves new definitions that may require addition of their
|
/prebuilts/go/linux-x86/src/cmd/compile/internal/ssa/ |
stackalloc.go | 267 var phis []*Value 285 phis = phis[:0] 294 phis = append(phis, v) 313 for _, v := range phis {
|
phielim.go | 10 // these phis are redundant:
|
print.go | 101 // print phis first since all value cycles contain a phi
|
regalloc.go | 41 // Phi values are special, as always. We define two kinds of phis, those 46 // same register. Register phis are spilled similarly to regular ops: 53 // stack location. Stack phis start out life already spilled - each phi 60 // The stack allocator knows that StoreReg args of stack-allocated phis 92 // TODO: maybe we should introduce these extra phis? 709 var phis []*Value 771 // case below desires; it wants to process phis specially. 800 // We make a separate copy for phis and regular values. 808 phis = append(phis[:0], b.Values[:nphi]... [all...] |
/external/v8/src/compiler/ |
register-allocator-verifier.cc | 338 } else if (block->PredecessorCount() == 1 && block->phis().size() == 0) { 392 CHECK(origin->PredecessorCount() > 1 || origin->phis().size() > 0); 400 for (const PhiInstruction* candidate : origin->phis()) { 451 // duplicate phis. 467 // If we have 2 phis with the exact same operand list, and the first phi is
|