1; RUN: llc -march=hexagon < %s 2; REQUIRES: asserts 3 4target triple = "hexagon" 5 6declare void @foo() #0 7 8define hidden fastcc void @fred(i32 %a, i64 %b, i64 %c) unnamed_addr #1 { 9entry: 10 %cmp17 = icmp ne i64 %c, 0 11 %conv19 = zext i1 %cmp17 to i64 12 %or = or i64 %conv19, %b 13 store i64 %or, i64* undef, align 8 14 br i1 undef, label %if.then44, label %if.end96 15 16if.then44: ; preds = %entry 17 br i1 undef, label %overflow, label %lor.lhs.false 18 19lor.lhs.false: ; preds = %if.then44 20 br i1 undef, label %overflow, label %if.end52 21 22if.end52: ; preds = %lor.lhs.false 23 br i1 undef, label %if.then55, label %if.end96 24 25if.then55: ; preds = %if.end52 26 %cmp60 = icmp slt i32 %a, 0 27 %or.cond = or i1 %cmp60, false 28 %cmp63 = icmp ule i64 %or, undef 29 %.cmp63 = or i1 %cmp63, %or.cond 30 call void @foo() 31 %or.cond299 = and i1 %.cmp63, undef 32 br i1 %or.cond299, label %if.then72, label %if.end73 33 34if.then72: ; preds = %if.then55 35 unreachable 36 37if.end73: ; preds = %if.then55 38 unreachable 39 40if.end96: ; preds = %if.end52, %entry 41 br i1 undef, label %if.end102, label %if.then98 42 43if.then98: ; preds = %if.end96 44 br label %if.end102 45 46if.end102: ; preds = %if.then98, %if.end96 47 unreachable 48 49overflow: ; preds = %lor.lhs.false, %if.then44 50 ret void 51} 52 53attributes #0 = { noinline norecurse nounwind } 54attributes #1 = { noinline nounwind } 55 56