-
Notifications
You must be signed in to change notification settings - Fork 0
/
dependency_breaking.c.231t.optimized
79 lines (63 loc) · 1.5 KB
/
dependency_breaking.c.231t.optimized
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
;; Function thread0 (thread0, funcdef_no=0, decl_uid=1988, cgraph_uid=1, symbol_order=2)
thread0 ()
{
long unsigned int __atomic_store_tmp.1_1;
<bb 2> [local count: 1073741824]:
MEM[(int *)&rt] = 18446743893320925142;
rt.c = -44;
__atomic_store_tmp.1_1 = (long unsigned int) &rt;
__atomic_store_8 (&gp, __atomic_store_tmp.1_1, 3); [tail call]
return;
}
;; Function thread1 (thread1, funcdef_no=1, decl_uid=1992, cgraph_uid=2, symbol_order=3)
Removing basic block 7
thread1 ()
{
struct rcutest * dependent_ptr p;
int j;
int i;
long unsigned int _1;
atomic struct rcutest * _2;
struct rcutest * p.2_3;
struct rcutest * p.3_4;
struct rcutest * p.4_5;
struct rcutest * p.5_6;
struct rcutest * p.6_7;
_Bool _8;
int _9;
_Bool _10;
int _11;
<bb 2> [local count: 1073741824]:
_1 = __atomic_load_8 (&gp, 1);
_2 = (atomic struct rcutest *) _1;
p ={v} _2;
p.2_3 ={v} p;
j_16 = p.2_3->a;
p.3_4 ={v} p;
if (p.3_4 == &rt)
goto <bb 3>; [30.00%]
else
goto <bb 4>; [70.00%]
<bb 3> [local count: 322122547]:
p.4_5 ={v} p;
i_18 = p.4_5->b;
goto <bb 6>; [100.00%]
<bb 4> [local count: 751619278]:
p.5_6 ={v} p;
if (p.5_6 != 0B)
goto <bb 5>; [70.00%]
else
goto <bb 6>; [30.00%]
<bb 5> [local count: 526133494]:
p.6_7 ={v} p;
i_17 = p.6_7->c;
<bb 6> [local count: 1073741824]:
# i_12 = PHI <i_18(3), i_17(5), -1(4)>
_8 = i_12 < 0;
_9 = (int) _8;
assert (_9);
_10 = j_16 < 0;
_11 = (int) _10;
assert (_11); [tail call]
return;
}