comparison test/CodeGen/Hexagon/BranchPredict.ll @ 121:803732b1fca8

LLVM 5.0
author kono
date Fri, 27 Oct 2017 17:07:41 +0900
parents afa8332a0e37
children c2174574ed3a
comparison
equal deleted inserted replaced
120:1172e4bd9c6f 121:803732b1fca8
7 7
8 8
9 @j = external global i32 9 @j = external global i32
10 10
11 define i32 @foo(i32 %a) nounwind { 11 define i32 @foo(i32 %a) nounwind {
12 ; CHECK: if{{ *}}(!p{{[0-3]}}.new) jump:nt 12 ; CHECK: if (!p{{[0-3]}}.new) jump:nt
13 entry: 13 entry:
14 %tobool = icmp eq i32 %a, 0 14 %tobool = icmp eq i32 %a, 0
15 br i1 %tobool, label %if.else, label %if.then, !prof !0 15 br i1 %tobool, label %if.else, label %if.then, !prof !0
16 16
17 if.then: ; preds = %entry 17 if.then: ; preds = %entry
29 } 29 }
30 30
31 declare i32 @foobar(...) 31 declare i32 @foobar(...)
32 32
33 define i32 @bar(i32 %a) nounwind { 33 define i32 @bar(i32 %a) nounwind {
34 ; CHECK: if{{ *}}(p{{[0-3]}}.new) jump:nt 34 ; CHECK: if (p{{[0-3]}}.new) jump:nt
35 entry: 35 entry:
36 %tobool = icmp eq i32 %a, 0 36 %tobool = icmp eq i32 %a, 0
37 br i1 %tobool, label %if.else, label %if.then, !prof !1 37 br i1 %tobool, label %if.else, label %if.then, !prof !1
38 38
39 if.then: ; preds = %entry 39 if.then: ; preds = %entry
49 %retval.0 = phi i32 [ %call, %if.then ], [ %call2, %if.else ] 49 %retval.0 = phi i32 [ %call, %if.then ], [ %call2, %if.else ]
50 ret i32 %retval.0 50 ret i32 %retval.0
51 } 51 }
52 52
53 define i32 @foo_bar(i32 %a, i16 signext %b) nounwind { 53 define i32 @foo_bar(i32 %a, i16 signext %b) nounwind {
54 ; CHECK: if{{ *}}(!cmp.eq(r{{[0-9]*}}.new, #0)) jump:nt 54 ; CHECK: if (!cmp.eq(r{{[0-9]*}}.new,#0)) jump:nt
55 entry: 55 entry:
56 %0 = load i32, i32* @j, align 4 56 %0 = load i32, i32* @j, align 4
57 %tobool = icmp eq i32 %0, 0 57 %tobool = icmp eq i32 %0, 0
58 br i1 %tobool, label %if.else, label %if.then, !prof !0 58 br i1 %tobool, label %if.else, label %if.then, !prof !0
59 59