mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
Pythran compat - range vs. xrange
Use range instead of xrange whenever possible. The extra list creation in Python2 is generally not a performance bottleneck. Differential Revision: https://reviews.llvm.org/D56253 llvm-svn: 350309
This commit is contained in:
parent
9489afe68c
commit
f594682627
@ -79,7 +79,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bstop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i))
|
print(' %%bstop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i))
|
||||||
@ -90,14 +90,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%astop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i + 25))
|
print(' %%astop%d = getelementptr i32, i32 *%%stop, i64 %d' % (i, i + 25))
|
||||||
print(' %%acur%d = load i32 , i32 *%%astop%d' % (i, i))
|
print(' %%acur%d = load i32 , i32 *%%astop%d' % (i, i))
|
||||||
print(' %%atest%d = icmp eq i32 %%limit, %%acur%d' % (i, i))
|
print(' %%atest%d = icmp eq i32 %%limit, %%acur%d' % (i, i))
|
||||||
|
@ -66,7 +66,7 @@ print(' br label %b0')
|
|||||||
print('')
|
print('')
|
||||||
|
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(blocks):
|
for i in range(blocks):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
value = a % 256
|
value = a % 256
|
||||||
next = 'b%d' % (i + 1) if i + 1 < blocks else 'end'
|
next = 'b%d' % (i + 1) if i + 1 < blocks else 'end'
|
||||||
|
@ -79,7 +79,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
|
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
|
||||||
@ -91,14 +91,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
|
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
|
||||||
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
|
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
|
||||||
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))
|
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))
|
||||||
|
@ -83,7 +83,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
|
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
|
||||||
@ -95,14 +95,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
|
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
|
||||||
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
|
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
|
||||||
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))
|
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))
|
||||||
|
@ -83,7 +83,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bcur%d = load i8 , i8 *%%stop' % i)
|
print(' %%bcur%d = load i8 , i8 *%%stop' % i)
|
||||||
@ -94,14 +94,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%acur%d = load i8 , i8 *%%stop' % i)
|
print(' %%acur%d = load i8 , i8 *%%stop' % i)
|
||||||
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))
|
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))
|
||||||
print(' %%atest%d = icmp slt i32 %%aext%d, %d' % (i, i, i + 100))
|
print(' %%atest%d = icmp slt i32 %%aext%d, %d' % (i, i, i + 100))
|
||||||
|
@ -83,7 +83,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bcur%d = load i8 , i8 *%%stop' % i)
|
print(' %%bcur%d = load i8 , i8 *%%stop' % i)
|
||||||
@ -94,14 +94,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%acur%d = load i8 , i8 *%%stop' % i)
|
print(' %%acur%d = load i8 , i8 *%%stop' % i)
|
||||||
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))
|
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))
|
||||||
print(' %%atest%d = icmp slt i64 %%aext%d, %d' % (i, i, i + 100))
|
print(' %%atest%d = icmp slt i64 %%aext%d, %d' % (i, i, i + 100))
|
||||||
|
@ -40,7 +40,7 @@ main_size = 0xffd8
|
|||||||
print('define void @f1(i8 *%base, i32 *%counts) {')
|
print('define void @f1(i8 *%base, i32 *%counts) {')
|
||||||
print('entry:')
|
print('entry:')
|
||||||
|
|
||||||
for i in xrange(branch_blocks - 1, -1, -1):
|
for i in range(branch_blocks - 1, -1, -1):
|
||||||
print(' %%countptr%d = getelementptr i32, i32 *%%counts, i64 %d' % (i, i))
|
print(' %%countptr%d = getelementptr i32, i32 *%%counts, i64 %d' % (i, i))
|
||||||
print(' %%initcount%d = load i32 , i32 *%%countptr%d' % (i, i))
|
print(' %%initcount%d = load i32 , i32 *%%countptr%d' % (i, i))
|
||||||
print(' br label %%loop%d' % i)
|
print(' br label %%loop%d' % i)
|
||||||
@ -52,14 +52,14 @@ for i in xrange(branch_blocks - 1, -1, -1):
|
|||||||
' [ %%nextcount%d, %%%s ]' % (i, i, block1, i, block2)))
|
' [ %%nextcount%d, %%%s ]' % (i, i, block1, i, block2)))
|
||||||
|
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%nextcount%d = add i32 %%count%d, -1' % (i, i))
|
print(' %%nextcount%d = add i32 %%count%d, -1' % (i, i))
|
||||||
print(' %%test%d = icmp ne i32 %%nextcount%d, 0' % (i, i))
|
print(' %%test%d = icmp ne i32 %%nextcount%d, 0' % (i, i))
|
||||||
print(' br i1 %%test%d, label %%loop%d, label %%after%d' % (i, i, i))
|
print(' br i1 %%test%d, label %%loop%d, label %%after%d' % (i, i, i))
|
||||||
|
@ -41,7 +41,7 @@ main_size = 0xffd8
|
|||||||
print('define void @f1(i8 *%base, i64 *%counts) {')
|
print('define void @f1(i8 *%base, i64 *%counts) {')
|
||||||
print('entry:')
|
print('entry:')
|
||||||
|
|
||||||
for i in xrange(branch_blocks - 1, -1, -1):
|
for i in range(branch_blocks - 1, -1, -1):
|
||||||
print(' %%countptr%d = getelementptr i64, i64 *%%counts, i64 %d' % (i, i))
|
print(' %%countptr%d = getelementptr i64, i64 *%%counts, i64 %d' % (i, i))
|
||||||
print(' %%initcount%d = load i64 , i64 *%%countptr%d' % (i, i))
|
print(' %%initcount%d = load i64 , i64 *%%countptr%d' % (i, i))
|
||||||
print(' br label %%loop%d' % i)
|
print(' br label %%loop%d' % i)
|
||||||
@ -53,14 +53,14 @@ for i in xrange(branch_blocks - 1, -1, -1):
|
|||||||
' [ %%nextcount%d, %%%s ]' % (i, i, block1, i, block2)))
|
' [ %%nextcount%d, %%%s ]' % (i, i, block1, i, block2)))
|
||||||
|
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%nextcount%d = add i64 %%count%d, -1' % (i, i))
|
print(' %%nextcount%d = add i64 %%count%d, -1' % (i, i))
|
||||||
print(' %%test%d = icmp ne i64 %%nextcount%d, 0' % (i, i))
|
print(' %%test%d = icmp ne i64 %%nextcount%d, 0' % (i, i))
|
||||||
print(' br i1 %%test%d, label %%loop%d, label %%after%d' % (i, i, i))
|
print(' br i1 %%test%d, label %%loop%d, label %%after%d' % (i, i, i))
|
||||||
|
@ -79,7 +79,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
|
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
|
||||||
@ -91,14 +91,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
|
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
|
||||||
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
|
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
|
||||||
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))
|
print(' %%aext%d = sext i8 %%acur%d to i32' % (i, i))
|
||||||
|
@ -83,7 +83,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
|
print(' %%bstop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i))
|
||||||
@ -95,14 +95,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
|
print(' %%astop%d = getelementptr i8, i8 *%%stop, i64 %d' % (i, i + 25))
|
||||||
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
|
print(' %%acur%d = load i8 , i8 *%%astop%d' % (i, i))
|
||||||
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))
|
print(' %%aext%d = sext i8 %%acur%d to i64' % (i, i))
|
||||||
|
@ -99,7 +99,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bcur%da = load i32 , i32 *%%stopa' % i)
|
print(' %%bcur%da = load i32 , i32 *%%stopa' % i)
|
||||||
@ -111,14 +111,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%acur%da = load i32 , i32 *%%stopa' % i)
|
print(' %%acur%da = load i32 , i32 *%%stopa' % i)
|
||||||
print(' %%acur%db = load i32 , i32 *%%stopb' % i)
|
print(' %%acur%db = load i32 , i32 *%%stopb' % i)
|
||||||
print(' %%asub%d = sub i32 %%acur%da, %%acur%db' % (i, i, i))
|
print(' %%asub%d = sub i32 %%acur%da, %%acur%db' % (i, i, i))
|
||||||
|
@ -99,7 +99,7 @@ print('entry:')
|
|||||||
print(' br label %before0')
|
print(' br label %before0')
|
||||||
print('')
|
print('')
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
next = 'before%d' % (i + 1) if i + 1 < branch_blocks else 'main'
|
||||||
print('before%d:' % i)
|
print('before%d:' % i)
|
||||||
print(' %%bcur%da = load i64 , i64 *%%stopa' % i)
|
print(' %%bcur%da = load i64 , i64 *%%stopa' % i)
|
||||||
@ -111,14 +111,14 @@ for i in xrange(branch_blocks):
|
|||||||
|
|
||||||
print('%s:' % next)
|
print('%s:' % next)
|
||||||
a, b = 1, 1
|
a, b = 1, 1
|
||||||
for i in xrange(0, main_size, 6):
|
for i in range(0, main_size, 6):
|
||||||
a, b = b, a + b
|
a, b = b, a + b
|
||||||
offset = 4096 + b % 500000
|
offset = 4096 + b % 500000
|
||||||
value = a % 256
|
value = a % 256
|
||||||
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
print(' %%ptr%d = getelementptr i8, i8 *%%base, i64 %d' % (i, offset))
|
||||||
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
print(' store volatile i8 %d, i8 *%%ptr%d' % (value, i))
|
||||||
|
|
||||||
for i in xrange(branch_blocks):
|
for i in range(branch_blocks):
|
||||||
print(' %%acur%da = load i64 , i64 *%%stopa' % i)
|
print(' %%acur%da = load i64 , i64 *%%stopa' % i)
|
||||||
print(' %%acur%db = load i64 , i64 *%%stopb' % i)
|
print(' %%acur%db = load i64 , i64 *%%stopb' % i)
|
||||||
print(' %%asub%d = sub i64 %%acur%da, %%acur%db' % (i, i, i))
|
print(' %%asub%d = sub i64 %%acur%da, %%acur%db' % (i, i, i))
|
||||||
|
@ -22,8 +22,8 @@ def main():
|
|||||||
print("Rungs must be a multiple of 2")
|
print("Rungs must be a multiple of 2")
|
||||||
return
|
return
|
||||||
print("int ladder(int *foo, int *bar, int x) {")
|
print("int ladder(int *foo, int *bar, int x) {")
|
||||||
rung1 = xrange(0, args.rungs, 2)
|
rung1 = range(0, args.rungs, 2)
|
||||||
rung2 = xrange(1, args.rungs, 2)
|
rung2 = range(1, args.rungs, 2)
|
||||||
for i in rung1:
|
for i in rung1:
|
||||||
print("rung1%d:" % i)
|
print("rung1%d:" % i)
|
||||||
print("*foo = x++;")
|
print("*foo = x++;")
|
||||||
|
@ -107,7 +107,7 @@ def main():
|
|||||||
else random.choice(range(shuffle_range))
|
else random.choice(range(shuffle_range))
|
||||||
for _ in itertools.repeat(None, width)]
|
for _ in itertools.repeat(None, width)]
|
||||||
for _ in itertools.repeat(None, args.max_shuffle_height - i)]
|
for _ in itertools.repeat(None, args.max_shuffle_height - i)]
|
||||||
for i in xrange(args.max_shuffle_height)]
|
for i in range(args.max_shuffle_height)]
|
||||||
|
|
||||||
if args.verbose:
|
if args.verbose:
|
||||||
# Print out the shuffle sequence in a compact form.
|
# Print out the shuffle sequence in a compact form.
|
||||||
@ -121,8 +121,8 @@ def main():
|
|||||||
|
|
||||||
# Symbolically evaluate the shuffle tree.
|
# Symbolically evaluate the shuffle tree.
|
||||||
inputs = [[int(j % element_modulus)
|
inputs = [[int(j % element_modulus)
|
||||||
for j in xrange(i * width + 1, (i + 1) * width + 1)]
|
for j in range(i * width + 1, (i + 1) * width + 1)]
|
||||||
for i in xrange(args.max_shuffle_height + 1)]
|
for i in range(args.max_shuffle_height + 1)]
|
||||||
results = inputs
|
results = inputs
|
||||||
for shuffles in shuffle_tree:
|
for shuffles in shuffle_tree:
|
||||||
results = [[((results[i] if j < width else results[i + 1])[j % width]
|
results = [[((results[i] if j < width else results[i + 1])[j % width]
|
||||||
@ -157,7 +157,7 @@ define internal fastcc <%(N)d x %(T)s> @test(%(arguments)s) noinline nounwind {
|
|||||||
entry:""" % dict(subst,
|
entry:""" % dict(subst,
|
||||||
arguments=', '.join(
|
arguments=', '.join(
|
||||||
['<%(N)d x %(T)s> %%s.0.%(i)d' % dict(subst, i=i)
|
['<%(N)d x %(T)s> %%s.0.%(i)d' % dict(subst, i=i)
|
||||||
for i in xrange(args.max_shuffle_height + 1)])))
|
for i in range(args.max_shuffle_height + 1)])))
|
||||||
|
|
||||||
for i, shuffles in enumerate(shuffle_tree):
|
for i, shuffles in enumerate(shuffle_tree):
|
||||||
for j, s in enumerate(shuffles):
|
for j, s in enumerate(shuffles):
|
||||||
@ -191,7 +191,7 @@ define internal fastcc <%(N)d x %(T)s> @test_wrapper(%(arguments)s) optnone noin
|
|||||||
}
|
}
|
||||||
""" % dict(subst,
|
""" % dict(subst,
|
||||||
arguments=', '.join(['<%(N)d x %(T)s> %%s.%(i)d' % dict(subst, i=i)
|
arguments=', '.join(['<%(N)d x %(T)s> %%s.%(i)d' % dict(subst, i=i)
|
||||||
for i in xrange(args.max_shuffle_height + 1)])))
|
for i in range(args.max_shuffle_height + 1)])))
|
||||||
|
|
||||||
# Finally, generate a main function which will trap if any lanes are mapped
|
# Finally, generate a main function which will trap if any lanes are mapped
|
||||||
# incorrectly (in an observable way).
|
# incorrectly (in an observable way).
|
||||||
|
Loading…
Reference in New Issue
Block a user