reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
; RUN: llc -march=hexagon < %s
; REQUIRES: asserts

target triple = "hexagon"

declare void @foo() #0

define hidden fastcc void @fred(i32 %a, i64 %b, i64 %c) unnamed_addr #1 {
entry:
  %cmp17 = icmp ne i64 %c, 0
  %conv19 = zext i1 %cmp17 to i64
  %or = or i64 %conv19, %b
  store i64 %or, i64* undef, align 8
  br i1 undef, label %if.then44, label %if.end96

if.then44:                                        ; preds = %entry
  br i1 undef, label %overflow, label %lor.lhs.false

lor.lhs.false:                                    ; preds = %if.then44
  br i1 undef, label %overflow, label %if.end52

if.end52:                                         ; preds = %lor.lhs.false
  br i1 undef, label %if.then55, label %if.end96

if.then55:                                        ; preds = %if.end52
  %cmp60 = icmp slt i32 %a, 0
  %or.cond = or i1 %cmp60, false
  %cmp63 = icmp ule i64 %or, undef
  %.cmp63 = or i1 %cmp63, %or.cond
  call void @foo()
  %or.cond299 = and i1 %.cmp63, undef
  br i1 %or.cond299, label %if.then72, label %if.end73

if.then72:                                        ; preds = %if.then55
  unreachable

if.end73:                                         ; preds = %if.then55
  unreachable

if.end96:                                         ; preds = %if.end52, %entry
  br i1 undef, label %if.end102, label %if.then98

if.then98:                                        ; preds = %if.end96
  br label %if.end102

if.end102:                                        ; preds = %if.then98, %if.end96
  unreachable

overflow:                                         ; preds = %lor.lhs.false, %if.then44
  ret void
}

attributes #0 = { noinline norecurse nounwind }
attributes #1 = { noinline nounwind }