Home | History | Annotate | Download | only in Hexagon
      1 ; RUN: llc -march=hexagon < %s
      2 ; REQUIRES: asserts
      3 
      4 target triple = "hexagon"
      5 
      6 declare void @foo() #0
      7 
      8 define hidden fastcc void @fred(i32 %a, i64 %b, i64 %c) unnamed_addr #1 {
      9 entry:
     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 
     16 if.then44:                                        ; preds = %entry
     17   br i1 undef, label %overflow, label %lor.lhs.false
     18 
     19 lor.lhs.false:                                    ; preds = %if.then44
     20   br i1 undef, label %overflow, label %if.end52
     21 
     22 if.end52:                                         ; preds = %lor.lhs.false
     23   br i1 undef, label %if.then55, label %if.end96
     24 
     25 if.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 
     34 if.then72:                                        ; preds = %if.then55
     35   unreachable
     36 
     37 if.end73:                                         ; preds = %if.then55
     38   unreachable
     39 
     40 if.end96:                                         ; preds = %if.end52, %entry
     41   br i1 undef, label %if.end102, label %if.then98
     42 
     43 if.then98:                                        ; preds = %if.end96
     44   br label %if.end102
     45 
     46 if.end102:                                        ; preds = %if.then98, %if.end96
     47   unreachable
     48 
     49 overflow:                                         ; preds = %lor.lhs.false, %if.then44
     50   ret void
     51 }
     52 
     53 attributes #0 = { noinline norecurse nounwind }
     54 attributes #1 = { noinline nounwind }
     55 
     56