- Renamed stdlib-sse.ll to builtins-sse.ll (etc.) in an attempt to better indicate the fact that the stuff in those files has a role beyond implementing stuff for the standard library. - Moved declarations of the various __pseudo_* functions from being done with LLVM API calls in builtins.cpp to just straight up declarations in LLVM assembly language in builtins.m4. (Much less code to do it this way, and more clear what's going on.)
35 lines
749 B
Python
Executable File
35 lines
749 B
Python
Executable File
#!/usr/bin/python
|
|
|
|
import sys
|
|
import string
|
|
import re
|
|
import subprocess
|
|
|
|
length=0
|
|
|
|
src=str(sys.argv[1])
|
|
|
|
target = re.sub(".*builtins-", "", src)
|
|
target = re.sub("\.ll$", "", target)
|
|
target = re.sub("\.c$", "", target)
|
|
target = re.sub("-", "_", target)
|
|
|
|
try:
|
|
as_out=subprocess.Popen([ "llvm-as", "-", "-o", "-"], stdout=subprocess.PIPE)
|
|
except IOError:
|
|
print >> sys.stderr, "Couldn't open " + src
|
|
sys.exit(1)
|
|
|
|
print "unsigned char builtins_bitcode_" + target + "[] = {"
|
|
for line in as_out.stdout.readlines():
|
|
length = length + len(line)
|
|
for c in line:
|
|
print ord(c)
|
|
print ", "
|
|
print " 0 };\n\n"
|
|
print "int builtins_bitcode_" + target + "_length = " + str(length) + ";\n"
|
|
|
|
as_out.wait()
|
|
|
|
sys.exit(as_out.returncode)
|