/external/llvm/test/CodeGen/X86/ |
D | 2009-04-27-CoalescerAssert.ll | 104 store i32 %.SV194.phi, i32* %.SV196.phi, align 4 105 …%26 = getelementptr %struct.Macroblock* %.load17.SV.phi, i64 %.load36.SV.phi, i32 29 ; <i32*> [#u… 107 store i32 %27, i32* %.load67.SV.phi, align 4 119 store i32 %.SV198.phi, i32* %.SV200.phi, align 4 120 …%31 = getelementptr %struct.Macroblock* %.load16.SV.phi, i64 %.load35.SV.phi, i32 26 ; <i32*> [#u… 122 store i32 %32, i32* %.load66.SV.phi, align 4 132 %38 = load i32* %.SV76.phi, align 4 ; <i32> [#uses=1] 145 %43 = add i32 %.SV78.phi, 1 ; <i32> [#uses=1] 150 store i32 %.SV206.phi, i32* %.load81.SV.phi, align 4 151 %44 = add i32 %.load50.SV.phi, %yN ; <i32> [#uses=1] [all …]
|
D | 2009-10-25-RewriterBug.ll | 45 …%2 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePicture… 46 …%3 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePicture… 47 …%4 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePicture… 48 …%5 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePicture… 49 …%6 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePicture… 50 …%7 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePicture… 51 …%8 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePicture… 52 …%9 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePicture… 53 …%10 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePictur… 54 …%11 = phi %struct.StorablePicture* [ null, %bb36.i ], [ undef, %bb30.i ] ; <%struct.StorablePictur… [all …]
|
D | 2010-02-23-SingleDefPhiJoin.ll | 4 ; This test case creates a phi join register with a single definition. The other 7 ; If LiveIntervalAnalysis fails to recognize this as a phi join, the coalescer 72 …%ooffset.2.lcssa.phi.SV.phi203 = phi i32 [ 0, %meshBB122 ], [ %ooffset.2.lcssa.phi.SV.phi233, %mes… 94 ret i32 %ooffset.2.lcssa.phi.SV.phi250 100 …%ooffset.2.lcssa.phi.SV.phi233 = phi i32 [ undef, %bb3 ], [ %ooffset.2.lcssa.phi.SV.phi209, %bb1.i… 107 …%ooffset.2.lcssa.phi.SV.phi239 = phi i32 [ %ooffset.2.lcssa.phi.SV.phi209, %bb1.i.fragment ], [ %o… 120 …%ooffset.2.lcssa.phi.SV.phi250 = phi i32 [ 0, %bb13.fragment ], [ %ooffset.2.lcssa.phi.SV.phi239, … 124 …%ooffset.2.lcssa.phi.SV.phi209 = phi i32 [ undef, %bb2.fragment15 ], [ %ooffset.2.lcssa.phi.SV.phi… 137 %meshStackVariable115.phi = phi i32 [ 19, %bb7 ], [ 8, %bb.nph ] ; <i32> [#uses=0]
|
/external/llvm/test/Transforms/SimplifyCFG/ |
D | SpeculativeExec.ll | 1 ; RUN: opt < %s -simplifycfg -phi-node-folding-threshold=2 -S | FileCheck %s 26 %tmp4 = phi i32 [ %b, %entry ], [ %a, %bb1 ], [ %tmp3, %bb2 ] 42 %c = phi i8 [%b, %bb_true], [%a, %bb_false] 64 %x1 = phi i8* [ %a, %entry ], [ %b, %if ], [ inttoptr (i64 1 to i8*), %then ] 65 %x2 = phi i8* [ %a, %entry ], [ %b, %if ], [ inttoptr (i64 2 to i8*), %then ] 66 %x3 = phi i8* [ %a, %entry ], [ %b, %if ], [ inttoptr (i64 3 to i8*), %then ] 67 %x4 = phi i8* [ %a, %entry ], [ %b, %if ], [ inttoptr (i64 4 to i8*), %then ] 68 %x5 = phi i8* [ %a, %entry ], [ %b, %if ], [ inttoptr (i64 5 to i8*), %then ] 69 %x6 = phi i8* [ %a, %entry ], [ %b, %if ], [ inttoptr (i64 6 to i8*), %then ] 70 %x7 = phi i8* [ %a, %entry ], [ %b, %if ], [ inttoptr (i64 7 to i8*), %then ] [all …]
|
D | PhiEliminate3.ll | 4 ; RUN: opt < %s -simplifycfg -S -phi-node-folding-threshold=1 | grep N: 5 ; RUN: opt < %s -simplifycfg -S -phi-node-folding-threshold=2 | not grep N: 6 ; RUN: opt < %s -simplifycfg -S -phi-node-folding-threshold=2 | grep M: 7 ; RUN: opt < %s -simplifycfg -S -phi-node-folding-threshold=7 | not grep M: 24 ; This phi should be foldable if threshold >= 2 25 %Wp = phi i32 [ %iajak, %P ], [ %ixjxk, %Q ] 29 ; This phi should be foldable if threshold >= 7 30 %W = phi i32 [ %Wp2, %N ], [ 2, %entry ]
|
D | 2008-05-16-PHIBlockMerge.ll | 16 ; This phi has a conflicting value (0) with below phi (2), so blocks 18 %a = phi i32 [ 1, %entry ], [ 0, %Common ] ; <i32> [#uses=1] 22 %b = phi i32 [ %a, %BB.nomerge ], [ 2, %Common ] ; <i32> [#uses=0] 43 ; This phi has confliction values for Common and (through BB) Common, 45 %b = phi i32 [ 1, %BB.nomerge ], [ 2, %Common ] ; <i32> [#uses=0] 66 ; This phi has identical values for Common and (through BB) Common, 68 %b = phi i32 [ 1, %BB.tomerge ], [ 1, %Common ], [ 2, %Pre-Exit ] 77 ; This adds a backedge, so the %b phi node gets a third branch and is 92 ; This phi has a matching value (0) with below phi (0), so blocks 94 %a = phi i32 [ 1, %entry ], [ 0, %Common ] ; <i32> [#uses=1] [all …]
|
/external/llvm/unittests/Transforms/Utils/ |
D | Local.cpp | 29 PHINode *phi = builder.CreatePHI(Type::getInt32Ty(C), 2); in TEST() local 35 phi->addIncoming(phi, bb0); in TEST() 36 phi->addIncoming(phi, bb1); in TEST() 39 EXPECT_TRUE(RecursivelyDeleteDeadPHINode(phi)); in TEST() 46 phi = builder.CreatePHI(Type::getInt32Ty(C), 0); in TEST() 48 EXPECT_TRUE(RecursivelyDeleteDeadPHINode(phi)); in TEST() 51 phi = builder.CreatePHI(Type::getInt32Ty(C), 0); in TEST() 52 builder.CreateAdd(phi, phi); in TEST() 54 EXPECT_TRUE(RecursivelyDeleteDeadPHINode(phi)); in TEST()
|
/external/llvm/test/Analysis/ScalarEvolution/ |
D | 2008-08-04-LongAddRec.ll | 31 %x2.0 = phi i16 [ 0, %entry ], [ %15, %bb ] ; <i16> [#uses=1] 32 %x3.0 = phi i16 [ 0, %entry ], [ %14, %bb ] ; <i16> [#uses=1] 33 %x4.0 = phi i16 [ 0, %entry ], [ %13, %bb ] ; <i16> [#uses=1] 34 %x5.0 = phi i16 [ 0, %entry ], [ %12, %bb ] ; <i16> [#uses=1] 35 %x6.0 = phi i16 [ 0, %entry ], [ %11, %bb ] ; <i16> [#uses=1] 36 %x7.0 = phi i16 [ 0, %entry ], [ %10, %bb ] ; <i16> [#uses=1] 37 %x8.0 = phi i16 [ 0, %entry ], [ %9, %bb ] ; <i16> [#uses=1] 38 %x9.0 = phi i16 [ 0, %entry ], [ %8, %bb ] ; <i16> [#uses=1] 39 %x10.0 = phi i16 [ 0, %entry ], [ %7, %bb ] ; <i16> [#uses=1] 40 %x11.0 = phi i16 [ 0, %entry ], [ %6, %bb ] ; <i16> [#uses=1] [all …]
|
/external/llvm/test/Transforms/IndVarSimplify/ |
D | no-iv-rewrite.ll | 19 ; CHECK: phi 20 ; CHECK: phi 21 ; CHECK-NOT: phi 28 %i.02 = phi i32 [ 0, %ph ], [ %iinc, %loop ] 29 %s.01 = phi i32 [ 0, %ph ], [ %sinc, %loop ] 39 %s.lcssa = phi i32 [ %sinc, %loop ] 43 %s.0.lcssa = phi i32 [ %s.lcssa, %exit ], [ 0, %entry ] 58 ; CHECK: phi 59 ; CHECK: phi 60 ; CHECK-NOT: phi [all …]
|
D | iv-sext.ll | 20 ; CHECK: phi i64 21 ; CHECK-NOT: phi i64 23 …%distERBhi.121 = phi float [ %distERBhi.2.lcssa, %bb8 ], [ 0.000000e+00, %bb.nph22 ] ; <float> [#… 24 …%distERBlo.120 = phi float [ %distERBlo.0.lcssa, %bb8 ], [ 0.000000e+00, %bb.nph22 ] ; <float> [#… 25 %hiPart.119 = phi i32 [ %hiPart.0.lcssa, %bb8 ], [ 0, %bb.nph22 ] ; <i32> [#uses=3] 26 %loPart.118 = phi i32 [ %loPart.0.lcssa, %bb8 ], [ 0, %bb.nph22 ] ; <i32> [#uses=2] 27 %peakCount.117 = phi float [ %peakCount.2.lcssa, %bb8 ], [ %tmp, %bb.nph22 ] ; <float> [#uses=2] 28 %part.016 = phi i32 [ %tmp46, %bb8 ], [ 0, %bb.nph22 ] ; <i32> [#uses=5] 47 %distERBlo.0.ph = phi float [ %distERBlo.120, %bb ], [ %tmp9, %bb1 ] ; <float> [#uses=3] 48 %distERBhi.0.ph = phi float [ %distERBhi.121, %bb ], [ %tmp14, %bb1 ] ; <float> [#uses=3] [all …]
|
D | lftr-reuse.ll | 20 ; CHECK: phi i8* 21 ; CHECK-NOT: phi 26 %p.02 = phi i8* [ %base, %entry ], [ %incdec.ptr, %for.body ] 53 %i = phi i32 [ 0, %entry ], [ %i.inc, %outer.inc ] 66 %j = phi i32 [ 0, %inner.ph ], [ %j.inc, %inner ] 83 ; Force SCEVExpander to look for an existing well-formed phi. 91 ; CHECK: phi i64 92 ; CHECK: phi i64 93 ; CHECK-NOT: phi 101 %rowidx = phi i32 [ 0, %entry ], [ %row.inc, %loop ] [all …]
|
/external/llvm/test/CodeGen/Hexagon/ |
D | hwloop-cleanup.ll | 20 %sum.03 = phi i32 [ %add, %for.body ], [ 0, %for.body.preheader ] 21 %arrayidx.phi = phi i32* [ %arrayidx.inc, %for.body ], [ %b, %for.body.preheader ] 22 %i.02 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ] 23 %0 = load i32* %arrayidx.phi, align 4 27 %arrayidx.inc = getelementptr i32* %arrayidx.phi, i32 1 34 %sum.0.lcssa = phi i32 [ 0, %entry ], [ %add, %for.end.loopexit ] 50 %sum.02 = phi i32 [ 0, %entry ], [ %add, %for.body ] 51 %arrayidx.phi = phi i32* [ %b, %entry ], [ %arrayidx.inc, %for.body ] 52 %i.01 = phi i32 [ 0, %entry ], [ %inc, %for.body ] 53 %0 = load i32* %arrayidx.phi, align 4 [all …]
|
D | postinc-store.ll | 11 %lsr.iv = phi i32 [ %lsr.iv.next, %for.body ], [ 10, %entry ] 12 %arrayidx.phi = phi i32* [ %a, %entry ], [ %arrayidx.inc, %for.body ] 13 %arrayidx1.phi = phi i16* [ %b, %entry ], [ %arrayidx1.inc, %for.body ] 14 %0 = load i32* %arrayidx.phi, align 4 15 %1 = load i16* %arrayidx1.phi, align 2 19 store i32 %add3, i32* %arrayidx.phi, align 4 21 %arrayidx.inc = getelementptr i32* %arrayidx.phi, i32 1 22 %arrayidx1.inc = getelementptr i16* %arrayidx1.phi, i32 1
|
D | postinc-load.ll | 11 %lsr.iv = phi i32 [ %lsr.iv.next, %for.body ], [ 10, %entry ] 12 %arrayidx.phi = phi i32* [ %a, %entry ], [ %arrayidx.inc, %for.body ] 13 %arrayidx1.phi = phi i16* [ %b, %entry ], [ %arrayidx1.inc, %for.body ] 14 %sum.03 = phi i32 [ 0, %entry ], [ %add2, %for.body ] 15 %0 = load i32* %arrayidx.phi, align 4 16 %1 = load i16* %arrayidx1.phi, align 2 20 %arrayidx.inc = getelementptr i32* %arrayidx.phi, i32 1 21 %arrayidx1.inc = getelementptr i16* %arrayidx1.phi, i32 1
|
/external/llvm/test/Transforms/InstCombine/ |
D | phi.ll | 13 %B = phi i32 [ %A, %BB0 ] 32 %B = phi i32 [ %A, %BB0 ], [ %A, %BB1 ] 45 %B = phi i32 [ %A, %BB0 ], [ %B, %Loop ] 62 %B = phi i32 [ %B, %L2 ], [ %B, %Loop ] 78 %B = phi i32 [ %A, %BB0 ], [ undef, %Loop ] 100 ;; Suck casts into phi 101 %B = phi i32 [ %X, %BB0 ], [ %Y, %BB1 ] 115 %B = phi i32 [ %A, %BB0 ], [ %C, %Loop ] 136 ;; Suck GEPs into phi 137 %B = phi i32* [ %X, %BB0 ], [ %Y, %BB1 ] [all …]
|
/external/llvm/test/Transforms/GVN/ |
D | phi-translate-partial-alias.ll | 7 ; if phi-translation is ignored. 11 ; CHECK: %l0 = load i8* %phi 13 ; CHECK: %l1 = load i8* %phi 19 %phi = phi i8* [ %begin, %entry ], [ %next, %loop ] 20 %l0 = load i8* %phi 22 %l1 = load i8* %phi 23 %next = getelementptr inbounds i8* %phi, i8 %l1
|
/external/llvm/test/Analysis/BasicAA/ |
D | dag.ll | 8 ; CHECK: MustAlias: i8* %base, i8* %phi 9 ; CHECK: MustAlias: i8* %phi, i8* %wwa 10 ; CHECK: MustAlias: i8* %phi, i8* %wwb 11 ; CHECK: MustAlias: i16* %bigbase, i8* %phi 22 %first = phi i8* [ %wwa, %wa ], [ %wwb, %wb ] 32 %phi = phi i8* [ %xxa, %xa ], [ %xxb, %xb ] 34 store i8 0, i8* %phi 39 %loaded = load i8* %phi
|
D | phi-speculation.ll | 15 %num = phi i32 [ %count, %entry ], [ %dec, %while.body ] 16 %ptr_phi = phi i32* [ %ptr, %entry ], [ %ptr_inc, %while.body ] 17 %ptr2_phi = phi i32* [ %ptr2, %entry ], [ %ptr2_inc, %while.body ] 18 %result.09 = phi i32 [ 0 , %entry ], [ %add, %while.body ] 44 %ptr_outer_phi = phi i32* [%ptr_inc_outer, %outer.while.backedge], [ %ptr, %entry] 45 %ptr_outer_phi2 = phi i32* [%ptr2_inc_outer, %outer.while.backedge], [ %ptr2, %entry] 46 %num.outer = phi i32 [ %count, %entry ], [ %dec.outer, %outer.while.backedge ] 50 %num = phi i32 [ %count, %outer.while.header ], [ %dec, %while.body ] 51 %ptr_phi = phi i32* [ %ptr_outer_phi, %outer.while.header ], [ %ptr_inc, %while.body ] 52 %ptr2_phi = phi i32* [ %ptr_outer_phi2, %outer.while.header ], [ %ptr2_inc, %while.body ] [all …]
|
/external/llvm/test/Transforms/LoopIdiom/X86/ |
D | popcnt.ll | 22 %c.05 = phi i32 [ %inc, %while.body ], [ 0, %entry ] 23 %a.addr.04 = phi i64 [ %and, %while.body ], [ %a, %entry ] 31 %c.0.lcssa = phi i32 [ 0, %entry ], [ %inc, %while.body ] 55 %c.013 = phi i32 [ %inc, %while.body ], [ 0, %entry ] 56 %mydata2.addr.012 = phi i32 [ %mul1, %while.body ], [ %mydata2, %entry ] 57 %mydata1.addr.011 = phi i32 [ %mul, %while.body ], [ %mydata1, %entry ] 58 %a.addr.010 = phi i64 [ %and, %while.body ], [ %a, %entry ] 69 %c.0.lcssa = phi i32 [ 0, %entry ], [ %inc, %while.body ] 70 %mydata2.addr.0.lcssa = phi i32 [ %mydata2, %entry ], [ %mul1, %while.body ] 71 %mydata1.addr.0.lcssa = phi i32 [ %mydata1, %entry ], [ %mul, %while.body ] [all …]
|
/external/llvm/lib/CodeGen/ |
D | UnreachableBlockElim.cpp | 181 MachineBasicBlock::iterator phi = BB->begin(); in runOnMachineFunction() local 182 while (phi != BB->end() && phi->isPHI()) { in runOnMachineFunction() 183 for (unsigned i = phi->getNumOperands() - 1; i >= 2; i-=2) in runOnMachineFunction() 184 if (!preds.count(phi->getOperand(i).getMBB())) { in runOnMachineFunction() 185 phi->RemoveOperand(i); in runOnMachineFunction() 186 phi->RemoveOperand(i-1); in runOnMachineFunction() 190 if (phi->getNumOperands() == 3) { in runOnMachineFunction() 191 unsigned Input = phi->getOperand(1).getReg(); in runOnMachineFunction() 192 unsigned Output = phi->getOperand(0).getReg(); in runOnMachineFunction() 194 MachineInstr* temp = phi; in runOnMachineFunction() [all …]
|
/external/llvm/test/Transforms/LoopStrengthReduce/ |
D | 2011-10-06-ReusePhi.ll | 3 ; Test LSR's intelligence regarding phi reuse. 15 ; CHECK: phi 16 ; CHECK: phi 17 ; CHECK: phi 18 ; CHECK: phi 19 ; CHECK-NOT: phi 36 %A.addr.05 = phi float* [ %A, %while.body.lr.ph ], [ %add.ptr, %while.body ] 37 %B.addr.04 = phi float* [ %B, %while.body.lr.ph ], [ %add.ptr3, %while.body ] 38 %N.addr.03 = phi i32 [ %N, %while.body.lr.ph ], [ %sub, %while.body ] 39 %Sum0.02 = phi float [ 0.000000e+00, %while.body.lr.ph ], [ %add, %while.body ] [all …]
|
/external/llvm/test/CodeGen/ARM/ |
D | 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 …]
|
/external/llvm/test/Transforms/LoopStrengthReduce/X86/ |
D | 2011-11-29-postincphi.ll | 3 ; PR11431: handle a phi operand that is replaced by a postinc user. 4 ; LSR first expands %t3 to %t2 in %phi 5 ; LSR then expands %t2 in %phi into two decrements, one on each loop exit. 24 %t0 = phi i64 [ 0, %bb ], [ %t3, %bb4 ] 25 %t2 = phi i64 [ 1, %bb ], [ %t5, %bb4 ] 34 %phi = phi i64 [ %t3, %bb1 ], [ %t2, %bb4 ] 35 ret i64 %phi
|
D | 2012-01-13-phielim.ll | 6 ; Check that redundant phi elimination ran 20 %indvars.iv7.i = phi i64 [ 16, %while.body.lr.ph.i ], [ %indvars.iv.next8.i, %cond.true29.i ] 21 %i.05.i = phi i64 [ 0, %while.body.lr.ph.i ], [ %indvars.iv7.i, %cond.true29.i ] 28 %indvars.iv.i = phi i64 [ 0, %while.body.i ], [ %indvars.iv.next.i, %for.body.i ] 58 ; Test phi reuse after LSR that requires SCEVExpander to hoist an 70 %indvars.iv1163 = phi i64 [ %indvars.iv.next1164, %if.then477 ], [ 1, %entry ] 71 …%k.0.in = phi i32* [ %last, %if.then477 ], [ getelementptr inbounds ([5000 x %struct.anon.7.91.199… 95 ; Test redundant phi elimination when the deleted phi's increment is 96 ; itself a phi. 115 %indvars.iv.i.SV.phi = phi i64 [ %indvars.iv.next.i, %meshBB ], [ 0, %for.body3.lr.ph.us.i ] [all …]
|
/external/llvm/test/Transforms/JumpThreading/ |
D | degenerate-phi.ll | 5 ; "%phi = phi i16" when it removes all edges leading to %unreachable. 16 %phi = phi i16 [ %add, %unreachable ], [ 0, %next ] 17 %add = add i16 0, %phi 18 %cmp = icmp slt i16 %phi, 0
|