diff --git a/llvm/test/VISC/MatrixMultiplication/metadata.py b/llvm/test/VISC/MatrixMultiplication/metadata.py new file mode 100755 index 0000000000000000000000000000000000000000..ffa52fa920046a39199c591ef6e5eea640d99a92 --- /dev/null +++ b/llvm/test/VISC/MatrixMultiplication/metadata.py @@ -0,0 +1,36 @@ +#!/usr/bin/python +import re +import shutil +import sys + +if len(sys.argv) != 3: + print 'usage: ./metadata.py inputfile outputfile' + sys.exit() + +infilename = sys.argv[1] +outfilename = sys.argv[2] + +with open(infilename, 'r') as f: + for line in f: + matchObj = re.match(r'!nvvm.annotations = !{(!\d+(,!\d+)*)}', line) + if matchObj: + kernelsMDstring = matchObj.group(1) + kernelsMD = kernelsMDstring.split(',') + +kernelIdx = 0 + +with open(infilename, 'r') as fin: + with open(outfilename, 'w') as fout: + for line in fin: + if kernelsMD and line.startswith(kernelsMD[0]): + kernelIdx += 1 + newline = re.sub(r'metadata !\d+, metadata !\d+', "metadata !\"kernel\", i32 " + str(kernelIdx), line) + kernelsMD = kernelsMD[1:] + else: + matchObj = re.search(r'metadata !{metadata !"kernel"}|metadata !{i32 \d+}', line) + if matchObj: + newline = "" + else: + newline = line + fout.write(newline) +