請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/17431
完整後設資料紀錄
DC 欄位 | 值 | 語言 |
---|---|---|
dc.contributor.advisor | 廖世偉 | |
dc.contributor.author | Tzu-Chieh Wu | en |
dc.contributor.author | 吳子杰 | zh_TW |
dc.date.accessioned | 2021-06-08T00:12:32Z | - |
dc.date.copyright | 2013-08-14 | |
dc.date.issued | 2013 | |
dc.date.submitted | 2013-08-05 | |
dc.identifier.citation | [1] C. Lattner, “Introduction to the LLVM Compiler System,” in Advanced Computing and Analysis Techniques in Physics Research, Erice, Sicily, Italy, 2008.
[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. [4] B. Greskamp, “A Simple Value Range Propagation Pass for SUIF-1,” 2003. [5] 'SPEC: Standard Performance Evaluation Corporation,' September 2000. | |
dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/17431 | - |
dc.description.abstract | 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. | en |
dc.description.provenance | Made available in DSpace on 2021-06-08T00:12:32Z (GMT). No. of bitstreams: 1 ntu-102-R00922082-1.pdf: 1472073 bytes, checksum: f07a474887d03b9cacbfdc065799c88d (MD5) Previous issue date: 2013 | en |
dc.description.tableofcontents | 口試委員會審定書 #
誌謝 i 中文摘要 ii ABSTRACT iii CONTENTS iv LIST OF FIGURES vi LIST OF TABLES vii Chapter 1 Introduction 1 1.1 Interprocedural Constant Propagation 1 1.2 LLVM 2 1.2.1 LLVM[1] 2 1.2.2 LLVM Intermediate Representation (IR) 3 1.2.3 LLVM Pass 4 Chapter 2 Problem Overview 5 2.1 IPCP In LLVM 5 2.2 ICPC in GCC 6 Chapter 3 Implementation 7 3.1 Callsite Argument analysis 7 3.1.1 Clone Vector 7 3.1.2 Constant Range 8 3.2 Cloning Condition 8 3.3 Procedural Cloning 9 3.3.1 Find Clone Vector 9 3.3.2 Check for Existing Cloning Function with Same Cloning Vectors 9 3.3.3 Cloning 9 3.3.4 Modify Caller 10 3.3.5 Local Constant Folding on Clone Function 10 3.4 Simplifying Branch Using Constant Range 11 3.4.1 Simple Value Range Propagation 12 3.5 Remove Same Function 15 3.5.1 Value Map 16 Chapter 4 Experiment Result 18 Chapter 5 Conclusion 22 REFERENCE 23 | |
dc.language.iso | en | |
dc.title | 利用程序複制及值範圍加速LLVM程序間常數傳遞 | zh_TW |
dc.title | Boosting Interprocedural Constant Propagation in Low-Level Virtual Machine Using Procedural Cloning and Value-Range Propagation | en |
dc.type | Thesis | |
dc.date.schoolyear | 101-2 | |
dc.description.degree | 碩士 | |
dc.contributor.oralexamcommittee | 徐慰中,黃維中,陳官辰,陳呈瑋 | |
dc.subject.keyword | 程序間常數傳遞,低階虛擬機,程序複製, | zh_TW |
dc.subject.keyword | LLVM,Interprocedural Constant Propagation,Procedural Cloning,Value Range Propagation,Branch Simplify, | en |
dc.relation.page | 23 | |
dc.rights.note | 未授權 | |
dc.date.accepted | 2013-08-05 | |
dc.contributor.author-college | 電機資訊學院 | zh_TW |
dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
ntu-102-1.pdf 目前未授權公開取用 | 1.44 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。