|
67 | 67 | # CHECK: c %r4, 136(%r3)
|
68 | 68 | # CHECK: jge [[LABEL]]
|
69 | 69 |
|
| 70 | +from __future__ import print_function |
| 71 | + |
70 | 72 | branch_blocks = 10
|
71 | 73 | main_size = 0xffd8
|
72 | 74 |
|
73 |
| -print '@global = global i32 0' |
| 75 | +print('@global = global i32 0') |
74 | 76 |
|
75 |
| -print 'define void @f1(i8 *%base, i32 *%stop, i32 %limit) {' |
76 |
| -print 'entry:' |
77 |
| -print ' br label %before0' |
78 |
| -print '' |
| 77 | +print('define void @f1(i8 *%base, i32 *%stop, i32 %limit) {') |
| 78 | +print('entry:') |
| 79 | +print(' br label %before0') |
| 80 | +print('') |
79 | 81 |
|
80 | 82 | for i in xrange(branch_blocks):
|
81 | 83 | next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
82 |
| - print 'before%d:' % i |
83 |
| - print ' %%bstop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i) |
84 |
| - print ' %%bcur%d = load i32 , i32 *%%bstop%d' % (i, i) |
85 |
| - print ' %%btest%d = icmp eq i32 %%limit, %%bcur%d' % (i, i) |
86 |
| - print ' br i1 %%btest%d, label %%after0, label %%%s' % (i, next) |
87 |
| - print '' |
| 84 | + print('before%d:' % i) |
| 85 | + print(' %%bstop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i)) |
| 86 | + print(' %%bcur%d = load i32 , i32 *%%bstop%d' % (i, i)) |
| 87 | + print(' %%btest%d = icmp eq i32 %%limit, %%bcur%d' % (i, i)) |
| 88 | + print(' br i1 %%btest%d, label %%after0, label %%%s' % (i, next)) |
| 89 | + print('') |
88 | 90 |
|
89 |
| -print '%s:' % next |
| 91 | +print('%s:' % next) |
90 | 92 | a, b = 1, 1
|
91 | 93 | for i in xrange(0, main_size, 6):
|
92 | 94 | a, b = b, a + b
|
93 | 95 | offset = 4096 + b % 500000
|
94 | 96 | value = a % 256
|
95 |
| - print ' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset) |
96 |
| - print ' store volatile i8 %d, i8 *%%ptr%d' % (value, i) |
| 97 | + print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset)) |
| 98 | + print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i)) |
97 | 99 |
|
98 | 100 | for i in xrange(branch_blocks):
|
99 |
| - print ' %%astop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i + 25) |
100 |
| - print ' %%acur%d = load i32 , i32 *%%astop%d' % (i, i) |
101 |
| - print ' %%atest%d = icmp eq i32 %%limit, %%acur%d' % (i, i) |
102 |
| - print ' br i1 %%atest%d, label %%main, label %%after%d' % (i, i) |
103 |
| - print '' |
104 |
| - print 'after%d:' % i |
| 101 | + print(' %%astop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i + 25)) |
| 102 | + print(' %%acur%d = load i32 , i32 *%%astop%d' % (i, i)) |
| 103 | + print(' %%atest%d = icmp eq i32 %%limit, %%acur%d' % (i, i)) |
| 104 | + print(' br i1 %%atest%d, label %%main, label %%after%d' % (i, i)) |
| 105 | + print('') |
| 106 | + print('after%d:' % i) |
105 | 107 |
|
106 |
| -print ' %dummy = load volatile i32, i32 *@global' |
107 |
| -print ' ret void' |
108 |
| -print '}' |
| 108 | +print(' %dummy = load volatile i32, i32 *@global') |
| 109 | +print(' ret void') |
| 110 | +print('}') |
0 commit comments