1 / 12

基于 LLVM 的全局代码静态分析

基于 LLVM 的全局代码静态分析. 夏嘉斌. 2010 年 6 月 23 日. 指导老师 戚正伟. 概要. 研究背景 编译工具链的兼容性改良 基于全代码静态分析的死锁规避 下一步的工作. 研究背景. HP 联合实验室的需求和合作建议. 把数据库中二阶段锁协议融入全局代码静态分析中 使用全局锁排序加强二阶段锁协议规避循环等待条件 利用 LLVM 实现全局代码静态分析的死锁规避. 王胤 HP 联合实验室. 研究背景. Low Level Virtual Machine 编译基础框架. 使用中间代码深度优化 跨平台、跨语言性 可扩展性 多次深度优化

stormy
Download Presentation

基于 LLVM 的全局代码静态分析

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 基于LLVM的全局代码静态分析 夏嘉斌 2010年6月23日 指导老师 戚正伟

  2. 概要 • 研究背景 • 编译工具链的兼容性改良 • 基于全代码静态分析的死锁规避 • 下一步的工作

  3. 研究背景 HP联合实验室的需求和合作建议 • 把数据库中二阶段锁协议融入全局代码静态分析中 • 使用全局锁排序加强二阶段锁协议规避循环等待条件 • 利用LLVM实现全局代码静态分析的死锁规避 王胤 HP联合实验室

  4. 研究背景 Low Level Virtual Machine 编译基础框架 • 使用中间代码深度优化 • 跨平台、跨语言性 • 可扩展性 • 多次深度优化 • 强大且众多的分析优化 • 内置40余种分析优化 • 诸多子项目和工具 • 商业级性能

  5. 编译工具链的兼容性改良 LLVM的编译工具链兼容性不足 • 和GCC工具链的编译行为不一致 • 编译和链接工具的衔接不流畅 • 编译开关和选项和GCC工具链的不兼容 • 工具链的容错性低 • 目标代码是中间代码而不是本地机器码 • 无法编译复杂的Makefile工程

  6. Makefile工程 Perl命令解析器 解析修改编译命令、开关 原始编译命令 LLVM系统编译工具链 编译工具链的兼容性改良

  7. 编译链工具的兼容性改良 改良后的工具链可流畅编译: • OpenLDAP • Apache • Bind • Parsec • x264 • Raytrace • Benchmarks

  8. 二阶段锁协议附加全局锁排序条件 基于全代码静态分析的死锁规避 Lock(A) Lock(A) Lock(C) Lock(B) Lock(B) Lock(C) Unlock(B) Unlock(C) Unlock(B) Unlock(A) Unlock(A) Unlock(C)

  9. 二阶段锁协议附加全局锁排序 基于全代码静态分析的死锁规避

  10. 临界区的扩张副作用 移动加锁/解锁语句后 扩大内部嵌套临界区 临界区1 临界区2 临界区3 基于全代码静态分析的死锁规避

  11. 下一步的工作 • 压缩临界区大小 • 优化排序方法 • 建立锁和共享资源的依赖关系 • 优化加锁解锁语句的移动距离 • 锁的别名分析 • 进一步使用全局别名分析处理别名问题 • 增加其他死锁规避技术的借鉴

  12. 非常感谢敬请专家和领导指导!

More Related