forked from M-Labs/artiq
1
0
Fork 0

compiler.testbench.perf_embedding: more fine grained reporting.

This commit is contained in:
whitequark 2016-07-11 17:55:18 +00:00
parent b5901db265
commit eceafad7e3
1 changed files with 15 additions and 2 deletions

View File

@ -38,6 +38,10 @@ def main():
stitcher = embed() stitcher = embed()
module = Module(stitcher) module = Module(stitcher)
target = OR1KTarget()
llvm_ir = target.compile(module)
elf_obj = target.assemble(llvm_ir)
elf_shlib = target.link([elf_obj], init_fn=module.entry_point())
benchmark(lambda: embed(), benchmark(lambda: embed(),
"ARTIQ embedding") "ARTIQ embedding")
@ -45,8 +49,17 @@ def main():
benchmark(lambda: Module(stitcher), benchmark(lambda: Module(stitcher),
"ARTIQ transforms and validators") "ARTIQ transforms and validators")
benchmark(lambda: OR1KTarget().compile_and_link([module]), benchmark(lambda: target.compile(module),
"LLVM optimization and linking") "LLVM optimizations")
benchmark(lambda: target.assemble(llvm_ir),
"LLVM machine code emission")
benchmark(lambda: target.link([elf_obj], init_fn=module.entry_point()),
"Linking")
benchmark(lambda: target.strip(elf_shlib),
"Stripping debug information")
if __name__ == "__main__": if __name__ == "__main__":
main() main()