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