1; RUN: opt < %s -basicaa -slp-vectorizer -dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7 2 3target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" 4target triple = "x86_64-apple-macosx10.8.0" 5 6%struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334 = type { %struct._CLzmaProps.0.27.54.81.102.123.144.165.180.195.228.258.333, i16*, i8*, i8*, i32, i32, i64, i64, i32, i32, i32, [4 x i32], i32, i32, i32, i32, i32, [20 x i8] } 7%struct._CLzmaProps.0.27.54.81.102.123.144.165.180.195.228.258.333 = type { i32, i32, i32, i32 } 8 9define fastcc void @LzmaDec_DecodeReal2(%struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334* %p) { 10entry: 11 %range20.i = getelementptr inbounds %struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334, %struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334* %p, i64 0, i32 4 12 %code21.i = getelementptr inbounds %struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334, %struct.CLzmaDec.1.28.55.82.103.124.145.166.181.196.229.259.334* %p, i64 0, i32 5 13 br label %do.body66.i 14 15do.body66.i: ; preds = %do.cond.i, %entry 16 %range.2.i = phi i32 [ %range.4.i, %do.cond.i ], [ undef, %entry ] 17 %code.2.i = phi i32 [ %code.4.i, %do.cond.i ], [ undef, %entry ] 18 %.range.2.i = select i1 undef, i32 undef, i32 %range.2.i 19 %.code.2.i = select i1 undef, i32 undef, i32 %code.2.i 20 br i1 undef, label %do.cond.i, label %if.else.i 21 22if.else.i: ; preds = %do.body66.i 23 %sub91.i = sub i32 %.range.2.i, undef 24 %sub92.i = sub i32 %.code.2.i, undef 25 br label %do.cond.i 26 27do.cond.i: ; preds = %if.else.i, %do.body66.i 28 %range.4.i = phi i32 [ %sub91.i, %if.else.i ], [ undef, %do.body66.i ] 29 %code.4.i = phi i32 [ %sub92.i, %if.else.i ], [ %.code.2.i, %do.body66.i ] 30 br i1 undef, label %do.body66.i, label %do.end1006.i 31 32do.end1006.i: ; preds = %do.cond.i 33 %.range.4.i = select i1 undef, i32 undef, i32 %range.4.i 34 %.code.4.i = select i1 undef, i32 undef, i32 %code.4.i 35 store i32 %.range.4.i, i32* %range20.i, align 4 36 store i32 %.code.4.i, i32* %code21.i, align 4 37 ret void 38} 39