rellume:将x86-64提升到性能LLVM IR

时间:2021-05-16 15:16:37
【文件属性】:
文件名称:rellume:将x86-64提升到性能LLVM IR
文件大小:110KB
文件格式:ZIP
更新时间:2021-05-16 15:16:37
llvm llvm-ir x86-86 C++ Rellume —将x86-64提升到LLVM IR Rellume是针对x86-64机器码到LLVM IR的提升器,重点在于提升码的性能。 生成的LLVM IR可以重新编译并执行,例如使用LLVM的JIT编译器,理想情况下具有与原始代码相同(甚至更好)的性能。 要特别注意以优化器可以生成有效代码的方式对SSE指令和指针进行建模。 提升程序对一组指定的指令进行操作(或自动解码控制流),并创建具有相同语义的LLVM-IR函数。 这些函数在包含虚拟x86-64 CPU状态的通用结构上运行,但是可以包装为任意调用约定。 用例 二进制重写: 性能改进:专用于运行时数据,例如已知参数或内存位置。 这是在的LLVM后端中。 规范:在需要高质量机器代码的热代码路径中插入跟踪和拦截代码。 二进制分析:可以将现有的用于分析LLVM IR代码的工具重新用于二进制代码。 例子 参见 刊物 亚历克西斯·恩
【文件预览】:
rellume-master
----.gitignore(28B)
----data()
--------rellume()
----src()
--------callconv.cc(12KB)
--------function.h(2KB)
--------facet.cc(3KB)
--------lifter-base.cc(5KB)
--------arch.h(1KB)
--------instr.h(8KB)
--------x86-64()
--------regfile.h(4KB)
--------lifter-base.h(5KB)
--------config.h(4KB)
--------basicblock.h(3KB)
--------meson.build(893B)
--------function.cc(8KB)
--------transforms.h(1KB)
--------rellume.cc(7KB)
--------pch()
--------basicblock.cc(4KB)
--------regfile.cc(15KB)
--------callconv.h(2KB)
--------facet.inc(2KB)
--------facet.h(2KB)
--------rv64()
--------lldecoder.cc(5KB)
--------transforms.cc(7KB)
--------function-info.h(2KB)
----.travis.yml(1KB)
----LICENSE(24KB)
----.gitmodules(208B)
----meson.build(2KB)
----examples()
--------meson.build(68B)
--------lifter.c(3KB)
----README.md(2KB)
----tests()
--------test_driver.cc(12KB)
--------cases_basic.txt(52KB)
--------cases_modrm.txt(154KB)
--------cases_rv64_basic.txt(5KB)
--------test_assembler.cc(7KB)
--------cases_string.txt(7KB)
--------meson.build(2KB)
--------test_parser.py(3KB)
--------cases_sse.txt(10KB)
----include()
--------rellume()
----meson_options.txt(102B)
----Rellume.sublime-project(144B)
----subprojects()
--------frvdec()
--------fadec()

网友评论