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
|
#!/usr/bin/env python
#
# Script to generate intrinsic IDs (found in core.py) from
# <llvm>/include/llvm/Intrinsics.gen. Call with path to the
# latter.
import sys
def gen(f):
intr = []
maxw = 0
flag = False
for line in open(f):
if line.startswith('#ifdef GET_INTRINSIC_ENUM_VALUES'):
flag = True
elif flag:
if line.startswith('#endif'):
break
else:
item = line.split()[0].replace(',', '')
if len(item) > maxw:
maxw = len(item)
intr.append(item)
maxw = len('INTR_') + maxw
idx = 1
for i in intr:
s = 'INTR_' + i.upper()
print '%s = %d' % (s.ljust(maxw), idx)
idx += 1
gen(sys.argv[1])
|