Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(333)

Side by Side Diff: pydir/run-pnacl-sz.py

Issue 1176133004: implement the null function for the Mips32 subzero compiler (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fixing patch per review comments Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/usr/bin/env python2 1 #!/usr/bin/env python2
2 2
3 import argparse 3 import argparse
4 import itertools 4 import itertools
5 import os 5 import os
6 import re 6 import re
7 import subprocess 7 import subprocess
8 import sys 8 import sys
9 import tempfile 9 import tempfile
10 10
11 from utils import shellcmd 11 from utils import shellcmd
12 12
13 13
14 def TargetAssemblerFlags(target): 14 def TargetAssemblerFlags(target):
15 # TODO(stichnot): -triple=i686-nacl should be used for a 15 # TODO(stichnot): -triple=i686-nacl should be used for a
16 # sandboxing test. This means there should be an args.sandbox 16 # sandboxing test. This means there should be an args.sandbox
17 # argument that also gets passed through to pnacl-sz. 17 # argument that also gets passed through to pnacl-sz.
18 # TODO(reed kotler). Need to find out exactly we need to
19 # add here for Mips32.
18 flags = { 'x8632': ['-triple=i686'], 20 flags = { 'x8632': ['-triple=i686'],
19 'arm32': ['-triple=armv7a', '-mcpu=cortex-a9', '-mattr=+neon'] } 21 'arm32': ['-triple=armv7a', '-mcpu=cortex-a9', '-mattr=+neon'],
22 'mips32': ['-triple=mipsel-none-nacl' ] }
20 return flags[target] 23 return flags[target]
21 24
22 25
23 def TargetDisassemblerFlags(target): 26 def TargetDisassemblerFlags(target):
24 flags = { 'x8632': ['-Mintel'], 27 flags = { 'x8632': ['-Mintel'],
25 'arm32': [] } 28 'arm32': [],
29 'mips32':[] }
26 return flags[target] 30 return flags[target]
27 31
28 32
29 def main(): 33 def main():
30 """Run the pnacl-sz compiler on an llvm file. 34 """Run the pnacl-sz compiler on an llvm file.
31 35
32 Takes an llvm input file, freezes it into a pexe file, converts 36 Takes an llvm input file, freezes it into a pexe file, converts
33 it to a Subzero program, and finally compiles it. 37 it to a Subzero program, and finally compiles it.
34 """ 38 """
35 argparser = argparse.ArgumentParser( 39 argparser = argparse.ArgumentParser(
(...skipping 30 matching lines...) Expand all
66 argparser.add_argument('--disassemble', required=False, 70 argparser.add_argument('--disassemble', required=False,
67 action='store_true', 71 action='store_true',
68 help='Disassemble the assembled output') 72 help='Disassemble the assembled output')
69 argparser.add_argument('--dis-flags', required=False, 73 argparser.add_argument('--dis-flags', required=False,
70 action='append', default=[], 74 action='append', default=[],
71 help='Add a disassembler flag') 75 help='Add a disassembler flag')
72 argparser.add_argument('--filetype', default='iasm', dest='filetype', 76 argparser.add_argument('--filetype', default='iasm', dest='filetype',
73 choices=['obj', 'asm', 'iasm'], 77 choices=['obj', 'asm', 'iasm'],
74 help='Output file type. Default %(default)s.') 78 help='Output file type. Default %(default)s.')
75 argparser.add_argument('--target', default='x8632', dest='target', 79 argparser.add_argument('--target', default='x8632', dest='target',
76 choices=['x8632','arm32'], 80 choices=['x8632','arm32','mips32'],
77 help='Target architecture. Default %(default)s.') 81 help='Target architecture. Default %(default)s.')
78 argparser.add_argument('--echo-cmd', required=False, 82 argparser.add_argument('--echo-cmd', required=False,
79 action='store_true', 83 action='store_true',
80 help='Trace command that generates ICE instructions') 84 help='Trace command that generates ICE instructions')
81 argparser.add_argument('--tbc', required=False, action='store_true', 85 argparser.add_argument('--tbc', required=False, action='store_true',
82 help='Input is textual bitcode (not .ll)') 86 help='Input is textual bitcode (not .ll)')
83 argparser.add_argument('--expect-fail', required=False, action='store_true', 87 argparser.add_argument('--expect-fail', required=False, action='store_true',
84 help='Negate success of run by using LLVM not') 88 help='Negate success of run by using LLVM not')
85 argparser.add_argument('--args', '-a', nargs=argparse.REMAINDER, 89 argparser.add_argument('--args', '-a', nargs=argparse.REMAINDER,
86 default=[], 90 default=[],
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 [asm_temp.name]) 159 [asm_temp.name])
156 160
157 stdout_result = shellcmd(cmd, echo=args.echo_cmd) 161 stdout_result = shellcmd(cmd, echo=args.echo_cmd)
158 if not args.echo_cmd: 162 if not args.echo_cmd:
159 sys.stdout.write(stdout_result) 163 sys.stdout.write(stdout_result)
160 if asm_temp: 164 if asm_temp:
161 os.remove(asm_temp.name) 165 os.remove(asm_temp.name)
162 166
163 if __name__ == '__main__': 167 if __name__ == '__main__':
164 main() 168 main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698