172 lines · plain
1; RUN: llc < %s -mtriple=x86_64-apple-darwin -relocation-model=pic -frame-pointer=all2 3%struct.DecRefPicMarking_t = type { i32, i32, i32, i32, i32, ptr }4%struct.FrameStore = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr, ptr }5%struct.StorablePicture = type { i32, i32, i32, i32, i32, [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], i32, i32, i32, i32, i32, i32, i32, i32, i32, i16, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [2 x i32], i32, ptr, i32 }6 7define fastcc void @insert_picture_in_dpb(ptr nocapture %fs, ptr %p) nounwind ssp {8entry:9 %0 = getelementptr inbounds %struct.FrameStore, ptr %fs, i64 0, i32 12 ; <ptr> [#uses=1]10 %1 = icmp eq i32 undef, 0 ; <i1> [#uses=1]11 br i1 %1, label %bb.i, label %bb36.i12 13bb.i: ; preds = %entry14 br i1 undef, label %bb3.i, label %bb14.preheader.i15 16bb3.i: ; preds = %bb.i17 unreachable18 19bb14.preheader.i: ; preds = %bb.i20 br i1 undef, label %bb9.i, label %bb20.preheader.i21 22bb9.i: ; preds = %bb9.i, %bb14.preheader.i23 br i1 undef, label %bb9.i, label %bb20.preheader.i24 25bb20.preheader.i: ; preds = %bb9.i, %bb14.preheader.i26 br i1 undef, label %bb18.i, label %bb29.preheader.i27 28bb18.i: ; preds = %bb20.preheader.i29 unreachable30 31bb29.preheader.i: ; preds = %bb20.preheader.i32 br i1 undef, label %bb24.i, label %bb30.i33 34bb24.i: ; preds = %bb29.preheader.i35 unreachable36 37bb30.i: ; preds = %bb29.preheader.i38 store i32 undef, ptr undef, align 839 br label %bb67.preheader.i40 41bb36.i: ; preds = %entry42 br label %bb67.preheader.i43 44bb67.preheader.i: ; preds = %bb36.i, %bb30.i45 %2 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=2]46 %3 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=2]47 %4 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=2]48 %5 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=1]49 %6 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=1]50 %7 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=1]51 %8 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=1]52 %9 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=1]53 %10 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=1]54 %11 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=1]55 %12 = phi ptr [ null, %bb36.i ], [ undef, %bb30.i ] ; <ptr> [#uses=1]56 br i1 undef, label %bb38.i, label %bb68.i57 58bb38.i: ; preds = %bb66.i, %bb67.preheader.i59 %13 = phi ptr [ %37, %bb66.i ], [ %2, %bb67.preheader.i ] ; <ptr> [#uses=1]60 %14 = phi ptr [ %38, %bb66.i ], [ %3, %bb67.preheader.i ] ; <ptr> [#uses=1]61 %15 = phi ptr [ %39, %bb66.i ], [ %4, %bb67.preheader.i ] ; <ptr> [#uses=1]62 %16 = phi ptr [ %40, %bb66.i ], [ %5, %bb67.preheader.i ] ; <ptr> [#uses=1]63 %17 = phi ptr [ %40, %bb66.i ], [ %6, %bb67.preheader.i ] ; <ptr> [#uses=1]64 %18 = phi ptr [ %40, %bb66.i ], [ %7, %bb67.preheader.i ] ; <ptr> [#uses=1]65 %19 = phi ptr [ %40, %bb66.i ], [ %8, %bb67.preheader.i ] ; <ptr> [#uses=1]66 %20 = phi ptr [ %40, %bb66.i ], [ %9, %bb67.preheader.i ] ; <ptr> [#uses=1]67 %21 = phi ptr [ %40, %bb66.i ], [ %10, %bb67.preheader.i ] ; <ptr> [#uses=1]68 %22 = phi ptr [ %40, %bb66.i ], [ %11, %bb67.preheader.i ] ; <ptr> [#uses=1]69 %23 = phi ptr [ %40, %bb66.i ], [ %12, %bb67.preheader.i ] ; <ptr> [#uses=1]70 %indvar248.i = phi i64 [ %indvar.next249.i, %bb66.i ], [ 0, %bb67.preheader.i ] ; <i64> [#uses=3]71 %storemerge52.i = trunc i64 %indvar248.i to i32 ; <i32> [#uses=1]72 %24 = getelementptr inbounds %struct.StorablePicture, ptr %23, i64 0, i32 19 ; <ptr> [#uses=0]73 br i1 undef, label %bb.nph51.i, label %bb66.i74 75bb.nph51.i: ; preds = %bb38.i76 %25 = sdiv i32 %storemerge52.i, 8 ; <i32> [#uses=0]77 br label %bb39.i78 79bb39.i: ; preds = %bb64.i, %bb.nph51.i80 %26 = phi ptr [ %17, %bb.nph51.i ], [ null, %bb64.i ] ; <ptr> [#uses=1]81 %27 = phi ptr [ %18, %bb.nph51.i ], [ null, %bb64.i ] ; <ptr> [#uses=0]82 %28 = phi ptr [ %19, %bb.nph51.i ], [ null, %bb64.i ] ; <ptr> [#uses=0]83 %29 = phi ptr [ %20, %bb.nph51.i ], [ null, %bb64.i ] ; <ptr> [#uses=0]84 %30 = phi ptr [ %21, %bb.nph51.i ], [ null, %bb64.i ] ; <ptr> [#uses=0]85 %31 = phi ptr [ %22, %bb.nph51.i ], [ null, %bb64.i ] ; <ptr> [#uses=0]86 br i1 undef, label %bb57.i, label %bb40.i87 88bb40.i: ; preds = %bb39.i89 br i1 undef, label %bb57.i, label %bb41.i90 91bb41.i: ; preds = %bb40.i92 %storemerge10.i = select i1 undef, i32 2, i32 4 ; <i32> [#uses=1]93 %32 = zext i32 %storemerge10.i to i64 ; <i64> [#uses=1]94 br i1 undef, label %bb45.i, label %bb47.i95 96bb45.i: ; preds = %bb41.i97 %33 = getelementptr inbounds %struct.StorablePicture, ptr %26, i64 0, i32 5, i64 undef, i64 %32, i64 undef ; <ptr> [#uses=1]98 %34 = load i64, ptr %33, align 8 ; <i64> [#uses=1]99 br label %bb47.i100 101bb47.i: ; preds = %bb45.i, %bb41.i102 %storemerge11.i = phi i64 [ %34, %bb45.i ], [ 0, %bb41.i ] ; <i64> [#uses=0]103 %scevgep246.i = getelementptr i64, ptr undef, i64 undef ; <ptr> [#uses=0]104 br label %bb64.i105 106bb57.i: ; preds = %bb40.i, %bb39.i107 br i1 undef, label %bb58.i, label %bb60.i108 109bb58.i: ; preds = %bb57.i110 br label %bb60.i111 112bb60.i: ; preds = %bb58.i, %bb57.i113 %35 = load ptr, ptr undef, align 8 ; <ptr> [#uses=1]114 %scevgep256.i = getelementptr ptr, ptr %35, i64 %indvar248.i ; <ptr> [#uses=1]115 %36 = load ptr, ptr %scevgep256.i, align 8 ; <ptr> [#uses=1]116 %scevgep243.i = getelementptr i64, ptr %36, i64 undef ; <ptr> [#uses=1]117 store i64 -1, ptr %scevgep243.i, align 8118 br label %bb64.i119 120bb64.i: ; preds = %bb60.i, %bb47.i121 br i1 undef, label %bb39.i, label %bb66.i122 123bb66.i: ; preds = %bb64.i, %bb38.i124 %37 = phi ptr [ %13, %bb38.i ], [ null, %bb64.i ] ; <ptr> [#uses=2]125 %38 = phi ptr [ %14, %bb38.i ], [ null, %bb64.i ] ; <ptr> [#uses=2]126 %39 = phi ptr [ %15, %bb38.i ], [ null, %bb64.i ] ; <ptr> [#uses=2]127 %40 = phi ptr [ %16, %bb38.i ], [ null, %bb64.i ] ; <ptr> [#uses=8]128 %indvar.next249.i = add i64 %indvar248.i, 1 ; <i64> [#uses=1]129 br i1 undef, label %bb38.i, label %bb68.i130 131bb68.i: ; preds = %bb66.i, %bb67.preheader.i132 %41 = phi ptr [ %2, %bb67.preheader.i ], [ %37, %bb66.i ] ; <ptr> [#uses=0]133 %42 = phi ptr [ %3, %bb67.preheader.i ], [ %38, %bb66.i ] ; <ptr> [#uses=1]134 %43 = phi ptr [ %4, %bb67.preheader.i ], [ %39, %bb66.i ] ; <ptr> [#uses=1]135 br i1 undef, label %bb.nph48.i, label %bb108.i136 137bb.nph48.i: ; preds = %bb68.i138 br label %bb80.i139 140bb80.i: ; preds = %bb104.i, %bb.nph48.i141 %44 = phi ptr [ %42, %bb.nph48.i ], [ null, %bb104.i ] ; <ptr> [#uses=1]142 %45 = phi ptr [ %43, %bb.nph48.i ], [ null, %bb104.i ] ; <ptr> [#uses=1]143 br i1 undef, label %bb.nph39.i, label %bb104.i144 145bb.nph39.i: ; preds = %bb80.i146 br label %bb81.i147 148bb81.i: ; preds = %bb102.i, %bb.nph39.i149 %46 = phi ptr [ %44, %bb.nph39.i ], [ %48, %bb102.i ] ; <ptr> [#uses=0]150 %47 = phi ptr [ %45, %bb.nph39.i ], [ %48, %bb102.i ] ; <ptr> [#uses=0]151 br i1 undef, label %bb83.i, label %bb82.i152 153bb82.i: ; preds = %bb81.i154 br i1 undef, label %bb83.i, label %bb101.i155 156bb83.i: ; preds = %bb82.i, %bb81.i157 br label %bb102.i158 159bb101.i: ; preds = %bb82.i160 br label %bb102.i161 162bb102.i: ; preds = %bb101.i, %bb83.i163 %48 = load ptr, ptr %0, align 8 ; <ptr> [#uses=2]164 br i1 undef, label %bb81.i, label %bb104.i165 166bb104.i: ; preds = %bb102.i, %bb80.i167 br label %bb80.i168 169bb108.i: ; preds = %bb68.i170 unreachable171}172