/external/llvm/test/CodeGen/XCore/ |
indirectbr.ll | 14 %gotovar.4.0 = phi i8* [ %gotovar.4.0.pre, %bb3 ], [ %0, %entry ] ; <i8*> [#uses=1] 27 %res.0 = phi i32 [ 385, %L5 ], [ 35, %bb2 ] ; <i32> [#uses=1] 31 %res.1 = phi i32 [ %res.0, %L4 ], [ 5, %bb2 ] ; <i32> [#uses=1] 35 %res.2 = phi i32 [ %res.1, %L3 ], [ 1, %bb2 ] ; <i32> [#uses=1] 40 %res.3 = phi i32 [ %phitmp, %L2 ], [ 2, %bb2 ] ; <i32> [#uses=1]
|
/external/llvm/test/Transforms/InstCombine/ |
vec_phi_extract.ll | 5 ;CHECK: %1 = phi i32 14 %2 = phi <16 x i32> [ %1, %entry ], [ %inc, %loop ] 34 ; CHECK: phi i32 35 %input_2.addr.0 = phi <3 x i32> [ %input_2, %entry ], [ %div45, %for.body ] 36 %input_1.addr.1 = phi <3 x i32> [ undef, %entry ], [ %dec43, %for.body ]
|
phi-merge-gep.ll | 3 ; RUN: grep "= phi" %t | count 13 81 %i.0 = phi i64 [ 0, %entry ], [ %58, %bb ] ; <i64> [#uses=2] 82 %C2i.0 = phi float* [ %23, %entry ], [ %57, %bb ] ; <float*> [#uses=2] 83 %C2r.0 = phi float* [ %20, %entry ], [ %56, %bb ] ; <float*> [#uses=2] 84 %C1i.0 = phi float* [ %17, %entry ], [ %55, %bb ] ; <float*> [#uses=2] 85 %C1r.0 = phi float* [ %15, %entry ], [ %54, %bb ] ; <float*> [#uses=2] 86 %C0i.0 = phi float* [ %13, %entry ], [ %53, %bb ] ; <float*> [#uses=2] 87 %C0r.0 = phi float* [ %12, %entry ], [ %52, %bb ] ; <float*> [#uses=2] 88 %A2i.0 = phi float* [ %11, %entry ], [ %51, %bb ] ; <float*> [#uses=2] 89 %A2r.0 = phi float* [ %8, %entry ], [ %50, %bb ] ; <float*> [#uses=2 [all...] |
/external/llvm/test/Transforms/LoopUnroll/ |
pr11361.ll | 14 %l_1264.04 = phi i32 [ 0, %entry ], [ %add.i, %for.inc15 ] 15 %l_1330.0.03 = phi i80 [ undef, %entry ], [ %ins.lcssa, %for.inc15 ] 19 %l_1330.0.12 = phi i80 [ %l_1330.0.03, %for.cond8.preheader ], [ %ins, %for.body9 ] 20 %storemerge1 = phi i32 [ 7, %for.cond8.preheader ], [ %sub, %for.body9 ] 33 %ins.lcssa = phi i80 [ %ins, %for.body9 ]
|
/external/llvm/test/Transforms/SLPVectorizer/X86/ |
cycle_dup.ll | 17 ;CHECK: phi <4 x i32> 20 ;CHECK: phi <4 x i32> 39 %i.029 = phi i32 [ %inc, %for.body ], [ 0, %entry ] 40 %a.028 = phi i32 [ %mul7, %for.body ], [ %3, %entry ] 41 %b.027 = phi i32 [ %mul6, %for.body ], [ %2, %entry ] 42 %g.026 = phi i32 [ %mul5, %for.body ], [ %1, %entry ] 43 %r.025 = phi i32 [ %mul, %for.body ], [ %0, %entry ] 53 %a.0.lcssa = phi i32 [ %3, %entry ], [ %mul7, %for.body ] 54 %b.0.lcssa = phi i32 [ %2, %entry ], [ %mul6, %for.body ] 55 %g.0.lcssa = phi i32 [ %1, %entry ], [ %mul5, %for.body [all...] |
phi.ll | 23 ;CHECK: phi <2 x double> 39 %A0.0 = phi double [ %0, %if.else ], [ 3.000000e+00, %entry ] 40 %A1.0 = phi double [ %1, %if.else ], [ 5.000000e+00, %entry ] 66 ;CHECK: phi <2 x double> 78 %i.019 = phi i32 [ 0, %entry ], [ %inc, %for.body ] 79 %G.018 = phi double [ %1, %entry ], [ %add5, %for.body ] 80 %R.017 = phi double [ %0, %entry ], [ %add4, %for.body ] 117 ;CHECK: phi <4 x float> 120 ;CHECK-NOT: phi <5 x float> 138 %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body [all...] |
/external/llvm/test/Analysis/ScalarEvolution/ |
2012-05-29-MulAddRec.ll | 13 ; CHECK: %inc1 = phi i8 [ 0, %entry ], [ %0, %for.body ] 27 %mul.lcssa = phi i8 [ %mul, %for.body ] 33 %indvars.iv = phi i8 [ %indvars.iv.next, %for.cond.loopexit ], [ 10, %entry ] 34 %mul3 = phi i8 [ undef, %entry ], [ %mul.lcssa, %for.cond.loopexit ] 35 %inc1 = phi i8 [ 0, %entry ], [ %0, %for.cond.loopexit ] 39 %inc26 = phi i8 [ %inc1, %for.cond ], [ %inc, %for.body ] 40 %mul45 = phi i8 [ %mul3, %for.cond ], [ %mul, %for.body ]
|
/external/llvm/test/CodeGen/X86/ |
machine-cp.ll | 17 %a.addr.03 = phi i32 [ %b.addr.02, %while.body ], [ %a, %entry ] 18 %b.addr.02 = phi i32 [ %rem, %while.body ], [ %b, %entry ] 24 %a.addr.0.lcssa = phi i32 [ %a, %entry ], [ %b.addr.02, %while.body ] 28 ; Two movdqa (from phi-elimination) in the entry BB cancels out. 50 %a.addr.03 = phi i64 [ %b.addr.02, %while.body ], [ %a, %entry ] 51 %b.addr.02 = phi i64 [ %rem, %while.body ], [ %b, %entry ] 57 %a.addr.0.lcssa = phi i64 [ %a, %entry ], [ %b.addr.02, %while.body ]
|
/external/llvm/test/Transforms/LoopVectorize/ |
2012-10-20-infloop.ll | 9 %0 = phi i32 [ 1, %entry ], [ 0, %for.body ] 20 %indvars.iv47 = phi i64 [ 0, %entry ], [ %indvars.iv.next48, %for.body ] 21 %0 = phi i32 [ 1, %entry ], [ 0, %for.body ] 50 %indvars.iv123 = phi i64 [ 3, %cond.false28 ], [ %indvars.iv.next124, %for.inc50 ] 51 %step.0121 = phi i32 [ 1, %cond.false28 ], [ %step.1, %for.inc50 ] 59 %k.1 = phi i32 [ undef, %for.body40 ], [ %inc47, %if.then46 ] 60 %step.1 = phi i32 [ %step.0121, %for.body40 ], [ %inc47, %if.then46 ]
|
value-ptr-bug.ll | 20 %inc = phi i32 [ %sub267, %entry ], [ %add, %loop] 29 %sub267.lcssa = phi i32 [ %add, %loop ] 30 %add.ptr266.lcssa = phi i32* [ %add.ptr266, %loop ] 31 %add.ptr265.lcssa = phi i32* [ %add.ptr265, %loop ] 37 %row_width.5 = phi i32 [ %sub267.lcssa, %block1 ], [ %dec, %do.body272 ] 38 %sp.4 = phi i8* [ %tmp30, %block1 ], [ %incdec.ptr273, %do.body272 ] 39 %dp.addr.4 = phi i8* [ %tmp29, %block1 ], [ %incdec.ptr274, %do.body272 ]
|
reduction.ll | 7 ;CHECK: phi <4 x i32> 21 %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %0 ] 22 %sum.02 = phi i32 [ %9, %.lr.ph ], [ 0, %0 ] 37 %sum.0.lcssa = phi i32 [ 0, %0 ], [ %9, %.lr.ph ] 42 ;CHECK: phi <4 x i32> 56 %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %0 ] 57 %prod.02 = phi i32 [ %9, %.lr.ph ], [ 1, %0 ] 72 %prod.0.lcssa = phi i32 [ 1, %0 ], [ %9, %.lr.ph ] 77 ;CHECK: phi <4 x i32> 91 %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ 0, %0 [all...] |
/external/llvm/test/CodeGen/AArch64/ |
arm64-early-ifcvt.ll | 13 %max.0 = phi i32 [ 0, %entry ], [ %max.1, %do.cond ] 14 %min.0 = phi i32 [ 0, %entry ], [ %min.1, %do.cond ] 15 %n.addr.0 = phi i32 [ %n, %entry ], [ %dec, %do.cond ] 16 %p.addr.0 = phi i32* [ %p, %entry ], [ %incdec.ptr, %do.cond ] 28 %max.1 = phi i32 [ %0, %do.body ], [ %max.0, %if.else ] 29 %min.1 = phi i32 [ %min.0, %do.body ], [ %.min.0, %if.else ] 54 %cond = phi i32 [ %y, %eq_bb ], [ %inc, %entry ] 72 %cond = phi i64 [ %y, %eq_bb ], [ %inc, %entry ] 90 %cond = phi i32 [ %inc, %eq_bb ], [ %y, %entry ] 108 %cond = phi i64 [ %inc, %eq_bb ], [ %y, %entry [all...] |
/external/llvm/lib/Analysis/ |
PHITransAddr.cpp | 1 //===- PHITransAddr.cpp - PHI Translation for Addresses -------------------===// 38 // cerr << "MEMDEP: Could not PHI translate: " << *Pointer; 73 // address. Sanity check that it is phi translatable. 75 errs() << "Instruction in PHITransAddr is not phi-translatable:\n"; 112 /// IsPotentiallyPHITranslatable - If this needs PHI translation, return true 117 // then we don't need to phi translate it. 148 // If this is a non-instruction value, it can't require PHI translation. 152 // Determine whether 'Inst' is an input to our PHI translatable expression. 163 // If 'Inst' is defined in this block and is an input that needs to be phi 169 // If this is a PHI, go ahead and translate it [all...] |
/dalvik/dx/src/com/android/dx/ssa/ |
PhiInsn.java | 32 * A Phi instruction (magical post-control-flow-merge) instruction 38 * result register. The original result register of the phi insn 54 * Constructs a new phi insn with no operands. 56 * @param resultReg the result reg for this phi insn 65 * Makes a phi insn with a void result type. 67 * @param resultReg the result register for this phi insn. 82 throw new UnsupportedOperationException("can't clone phi"); 86 * Updates the TypeBearers of all the sources (phi operands) to be 88 * This is used during phi-type resolution.<p> 107 * Changes the result type. Used during phi type resolutio [all...] |
PhiTypeResolver.java | 29 * Resolves the result types of phi instructions. When phi instructions 34 * The resolve is done as an iterative merge of each phi's operand types. 35 * Phi operands may be themselves be the result of unresolved phis, 50 * Resolves all phi types in the method 63 * Runs the phi-type resolver. 120 * Resolves the result of a phi insn based on its operands. The "void" 122 * registers defined by as-of-yet-unresolved phi operations. 160 // Just skip void (unresolved phi results) for now 183 throw new RuntimeException ("Couldn't map types in phi insn:" + sb) [all...] |
/external/dexmaker/src/dx/java/com/android/dx/ssa/ |
PhiInsn.java | 28 * A Phi instruction (magical post-control-flow-merge) instruction 34 * result register. The original result register of the phi insn 50 * Constructs a new phi insn with no operands. 52 * @param resultReg the result reg for this phi insn 61 * Makes a phi insn with a void result type. 63 * @param resultReg the result register for this phi insn. 78 throw new UnsupportedOperationException("can't clone phi"); 82 * Updates the TypeBearers of all the sources (phi operands) to be 84 * This is used during phi-type resolution.<p> 103 * Changes the result type. Used during phi type resolutio [all...] |
PhiTypeResolver.java | 30 * Resolves the result types of phi instructions. When phi instructions 35 * The resolve is done as an iterative merge of each phi's operand types. 36 * Phi operands may be themselves be the result of unresolved phis, 51 * Resolves all phi types in the method 64 * Runs the phi-type resolver. 121 * Resolves the result of a phi insn based on its operands. The "void" 123 * registers defined by as-of-yet-unresolved phi operations. 161 // Just skip void (unresolved phi results) for now 184 throw new RuntimeException ("Couldn't map types in phi insn:" + sb) [all...] |
/external/llvm/test/CodeGen/ARM/ |
2009-07-29-VFP3Registers.ll | 31 %.pn201 = phi double [ undef, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1] 32 %.pn111 = phi double [ undef, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1] 33 %.pn452 = phi double [ undef, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1] 34 %.pn85 = phi double [ undef, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1] 35 %.pn238 = phi double [ 0.000000e+00, %bb59 ], [ 0.000000e+00, %bb60 ] ; <double> [#uses=1] 36 %.pn39 = phi double [ undef, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1] 37 %.pn230 = phi double [ undef, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1] 38 %.pn228 = phi double [ 0.000000e+00, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1] 39 %.pn224 = phi double [ undef, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1] 40 %.pn222 = phi double [ 0.000000e+00, %bb59 ], [ undef, %bb60 ] ; <double> [#uses=1 [all...] |
code-placement.ll | 2 ; PHI elimination shouldn't break backedge. 19 %list_addr.05 = phi %struct.list_head* [ %2, %bb ], [ %list, %entry ] 20 %next.04 = phi %struct.list_head* [ %list_addr.05, %bb ], [ null, %entry ] 28 %next.0.lcssa = phi %struct.list_head* [ null, %entry ], [ %list_addr.05, %bb ] 45 %indvar = phi i32 [ %indvar.next, %bb1 ], [ 0, %bb2.preheader ] ; <i32> [#uses=2] 46 %sum.08 = phi i32 [ %2, %bb1 ], [ %sum.110, %bb2.preheader ] ; <i32> [#uses=1] 59 %sum.0.lcssa = phi i32 [ %sum.110, %bb2.preheader ], [ %2, %bb1 ] ; <i32> [#uses=2] 70 %pass.011 = phi i32 [ 0, %bb.nph15 ], [ %3, %bb3 ] ; <i32> [#uses=1] 71 %sum.110 = phi i32 [ 0, %bb.nph15 ], [ %sum.0.lcssa, %bb3 ] ; <i32> [#uses=2] 77 %sum.1.lcssa = phi i32 [ 0, %entry ], [ %sum.0.lcssa, %bb3 ] ; <i32> [#uses=1 [all...] |
/art/compiler/optimizing/ |
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...] |
/external/llvm/lib/Transforms/Utils/ |
SSAUpdater.cpp | 64 static bool IsEquivalentPHI(PHINode *PHI, 66 unsigned PHINumValues = PHI->getNumIncomingValues(); 70 // Scan the phi to see if it matches. 72 if (ValueMapping[PHI->getIncomingBlock(i)] != 73 PHI->getIncomingValue(i)) { 97 // is relatively slow. If we already have PHI nodes in this block, walk one 135 // Otherwise, we do need a PHI: check to see if we already have one available 152 // Fill in all the predecessors of the PHI. 156 // See if the PHI node can be merged to a single value. This can happen in 157 // loop cases when we get a PHI of itself and one other value [all...] |
/external/llvm/test/Instrumentation/BoundsChecking/ |
phi.ll | 16 %c.addr.02 = phi i8* [ %incdec.ptr, %while.body ], [ %c, %entry ] 35 ; CHECK: phi 36 ; CHECK-NEXT: phi 37 ; CHECK-NOT: phi 38 %c.addr.02.i = phi i8* [ %incdec.ptr.i, %while.body.i ], [ %addr, %while.body.i.preheader ] 69 %c.addr.02 = phi i8 addrspace(1)* [ %incdec.ptr, %while.body ], [ %c, %entry ] 88 ; CHECK: phi 89 ; CHECK-NEXT: phi 90 ; CHECK-NOT: phi 91 %c.addr.02.i = phi i8 addrspace(1)* [ %incdec.ptr.i, %while.body.i ], [ %addr, %while.body.i.preheader [all...] |
/external/llvm/test/Transforms/IndVarSimplify/ |
crash.ll | 11 %2 = phi double [ 9.000000e+00, %0 ], [ %4, %1 ] ; <double> [#uses=1] 28 %i.1 = phi i32 [ undef, %entry ], [ %i.0, %bb29 ] ; <i32> [#uses=2] 29 %r.1 = phi i32 [ undef, %entry ], [ %r.0, %bb29 ] ; <i32> [#uses=2] 36 %i.2 = phi i32 [ %i.1, %bb13 ], [ %i.0, %bb30 ], [ %i.1, %bb12 ] ; <i32> [#uses=1] 37 %r.0 = phi i32 [ %r.1, %bb13 ], [ %2, %bb30 ], [ %r.1, %bb12 ] ; <i32> [#uses=3] 45 %i.0 = phi i32 [ %i.2, %bb24 ], [ %0, %bb27 ] ; <i32> [#uses=4] 99 %tmp = phi i64 [ %tmp5, %bb7 ], [ undef, %bb ] 108 %.off0 = phi i32 [ undef, %bb6 ], [ %extract.t1, %bb4 ] 122 %b.0 = phi i32 [ undef, %entry ], [ %conv, %for.end ] 126 %c.0 = phi i32 [ %b.0, %for.cond1 ], [ 0, %for.cond [all...] |
exit_value_tests.ll | 13 %A1 = phi i32 [ 0, %0 ], [ %A2, %Loop ] ; <i32> [#uses=3] 14 %B1 = phi i32 [ 0, %0 ], [ %B2, %Loop ] ; <i32> [#uses=1] 29 %X = phi i32 [ 0, %0 ], [ %X2, %Loop ] ; <i32> [#uses=4] 44 %X = phi i32 [ 0, %0 ], [ %X2, %Loop ] ; <i32> [#uses=3] 45 %Y = phi i32 [ 15, %0 ], [ %Y2, %Loop ] ; <i32> [#uses=1] 60 %A1 = phi i32 [ 0, %0 ], [ %A2, %Loop ] ; <i32> [#uses=3] 61 %B1 = phi i32 [ 0, %0 ], [ %B2, %Loop ] ; <i32> [#uses=1] 76 %i0 = phi i32 [ 0, %entry ], [ %i1, %no_exit ] ; <i32> [#uses=3] 91 %A1 = phi i32 [ 0, %0 ], [ %A2, %Loop ] ; <i32> [#uses=2] 106 %i = phi i32 [ 4, %entry ], [ %i.next, %loop ] ; <i32> [#uses=3 [all...] |
/external/llvm/test/Transforms/LoopIdiom/ |
scev-invalidation.ll | 11 %backslashes.0 = phi i32 [ undef, %entry ], [ %backslashes.2, %for.inc ] 12 %p.0 = phi i8* [ undef, %entry ], [ %incdec.ptr3, %for.inc ] 13 %q.0 = phi i8* [ undef, %entry ], [ %q.2, %for.inc ] 37 %q.112 = phi i8* [ %q.0, %while.body.lr.ph ], [ %incdec.ptr, %while.body ] 38 %backslashes.111 = phi i32 [ %backslashes.0, %while.body.lr.ph ], [ %dec, %while.body ] 51 %q.1.lcssa = phi i8* [ %scevgep13, %while.cond.for.inc.loopexit_crit_edge ], [ %q.0, %while.cond.preheader ] 55 %backslashes.2 = phi i32 [ %backslashes.0, %for.cond ], [ 0, %for.inc.loopexit ] 56 %q.2 = phi i8* [ %q.0, %for.cond ], [ %q.1.lcssa, %for.inc.loopexit ] 61 %q.39 = phi i8* [ %q.0, %for.body6.lr.ph ], [ %incdec.ptr7, %for.body6 ] 62 %backslashes.38 = phi i32 [ %backslashes.0, %for.body6.lr.ph ], [ %dec9, %for.body6 [all...] |