透過您的圖書館登入
IP:3.22.169.223
  • 學位論文

利用程序複制及值範圍加速LLVM程序間常數傳遞

Boosting Interprocedural Constant Propagation in Low-Level Virtual Machine Using Procedural Cloning and Value-Range Propagation

指導教授 : 廖世偉
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


無資料

並列摘要


Procedures pose barriers for some compiler optimizations because of function call overhead and degradation in quality of information. LLVM has implemented some Interprocedural Optimizations (IPO). However, the Interprocedural constant propagation (IPCP) part does very little. It performs on static functions only and only arguments of all callsites are constants will it works. Furthermore, it uses iterative algorithm which works inefficiently. This paper survey what GCC and some other papers do in IPCP. Then, we improve IPCP pass of LLVM by implementing procedure cloning and using value range to simplify branch.

參考文獻


[2] D. Callahan, K. D. Cooper, K. Kennedy, and L. Torczon, “Interprocedural constant propagation,” SIGPLAN Not., vol. 39, no. 4, pp. 155-166, 2004.
[3] K. D. Cooper, M. W. Hall, and K. Kennedy, “A methodology for procedure cloning,” Computer Languages, vol. 19, no. 2, pp. 105-117, 4//, 1993.
[5] "SPEC: Standard Performance Evaluation Corporation," September 2000.
[1] C. Lattner, “Introduction to the LLVM Compiler System,” in Advanced Computing and Analysis Techniques in Physics Research, Erice, Sicily, Italy, 2008.
[4] B. Greskamp, “A Simple Value Range Propagation Pass for SUIF-1,” 2003.

延伸閱讀