1 ; RUN: llc -march=hexagon < %s | FileCheck %s 2 ; REQUIRES: asserts 3 4 ; Check that we don't crash. 5 ; CHECK: call bar 6 7 target triple = "hexagon" 8 9 @debug = external hidden unnamed_addr global i1, align 4 10 11 ; Function Attrs: nounwind 12 define void @foo() local_unnamed_addr #0 { 13 entry: 14 br label %if.end5 15 16 if.end5: ; preds = %entry 17 br i1 undef, label %if.then12, label %if.end13 18 19 if.then12: ; preds = %if.end5 20 unreachable 21 22 if.end13: ; preds = %if.end5 23 br label %for.cond 24 25 for.cond: ; preds = %if.end13 26 %or.cond288 = or i1 undef, undef 27 br i1 undef, label %if.then44, label %if.end51 28 29 if.then44: ; preds = %for.cond 30 tail call void @bar() #0 31 br label %if.end51 32 33 if.end51: ; preds = %if.then44, %for.cond 34 %.b433 = load i1, i1* @debug, align 4 35 %or.cond290 = and i1 %or.cond288, %.b433 36 br i1 %or.cond290, label %if.then55, label %if.end63 37 38 if.then55: ; preds = %if.end51 39 unreachable 40 41 if.end63: ; preds = %if.end51 42 unreachable 43 } 44 45 declare void @bar() local_unnamed_addr #0 46 47 attributes #0 = { nounwind } 48