; ModuleID = '/tmp/tmpj4LoEu/src.cpp.o.bc' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128" target triple = "i386-pc-linux-gnu" @_ZZ4mainE5addrs = private unnamed_addr constant [2 x i8*] [i8* blockaddress(@main, %14), i8* blockaddress(@main, %19)], align 4 @.str = private unnamed_addr constant [8 x i8] c"bad %d\0A\00", align 1 @.str1 = private unnamed_addr constant [9 x i8] c"good %d\0A\00", align 1 define i32 @main(i32 %argc, i8** nocapture %argv) nounwind { %1 = add i32 %argc, 12 %2 = mul i32 %1, %argc %3 = icmp sgt i32 %2, 0 br i1 %3, label %.lr.ph, label %8 .lr.ph: ; preds = %.lr.ph, %0 %which.010 = phi i32 [ %6, %.lr.ph ], [ 0, %0 ] %x.09 = phi i32 [ %7, %.lr.ph ], [ 0, %0 ] %4 = mul nsw i32 %x.09, %x.09 %5 = add nsw i32 %which.010, %4 %6 = srem i32 %5, 7 %7 = add nsw i32 %x.09, 1 %exitcond = icmp eq i32 %7, %2 br i1 %exitcond, label %._crit_edge, label %.lr.ph ._crit_edge: ; preds = %.lr.ph %phitmp = srem i32 %6, 2 %phitmp11 = add i32 %phitmp, 1 br label %8 ;