A compiler framework for recovery code generation in general speculative optimizations

被引:0
|
作者
Lin, J [1 ]
Hsu, WC [1 ]
Yew, PC [1 ]
Ju, RDC [1 ]
Ngai, TF [1 ]
机构
[1] Univ Minnesota, Dept Comp Sci & Engn, Minneapolis, MN 55455 USA
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
A general framework that integrates both control and data speculation using alias profiling and/or compiler heuristic rules has shown to improve SPEC2000 performance on Itanium systems. However, speculative optimizations require check instructions and recovery code to ensure correct execution when speculation fails at runtime. How to generate check instructions and their associated recovery code efficiently and effectively is an issue yet to be well studied. Also, it is very important that the recovery code generated in the earlier phases integrate gracefully in the later optimization phases. At the very least, it should not hinder later optimizations, thus, ensuring overall performance improvement. This paper proposes a framework that uses an if-block structure to facilitate check instructions and recovery code generation for general speculative optimizations. It allows speculative instructions and their recovery code generated in the early compiler optimization phases to be integrated effectively with the subsequent optimization phases. It also allows multi-level speculation for multi-level pointers and multi-level expression trees to be handled with no additional complexity. The proposed recovery code generation framework has been implemented in the Open Research Compiler (ORC).
引用
收藏
页码:17 / 28
页数:12
相关论文
共 50 条
  • [21] Differential Testing of a Verification Framework for Compiler Optimizations (Case Study)
    Utting, Mark
    Webb, Brae J.
    Hayes, Ian J.
    [J]. 2023 IEEE/ACM 11TH INTERNATIONAL CONFERENCE ON FORMAL METHODS IN SOFTWARE ENGINEERING, FORMALISE, 2023, : 66 - 75
  • [22] Code Generation in the Columbia Esterel Compiler
    Edwards, Stephen A.
    Zeng, Jia
    [J]. EURASIP JOURNAL ON EMBEDDED SYSTEMS, 2007, (01)
  • [23] OPTIMIZATION OF ASSEMBLY CODE GENERATION IN A COMPILER
    HURA, GS
    [J]. MICROELECTRONICS AND RELIABILITY, 1982, 22 (05): : 1035 - 1036
  • [24] Compilable Neural Code Generation with Compiler Feedback
    Wang, Xin
    Wang, Yasheng
    Wan, Yao
    Mi, Fei
    Li, Yitong
    Zhou, Pingyi
    Liu, Jin
    Wu, Hao
    Jiang, Xin
    Liu, Qun
    [J]. FINDINGS OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS (ACL 2022), 2022, : 9 - 19
  • [25] OPTIMIZATION AND CODE GENERATION IN A COMPILER FOR SEVERAL MACHINES
    BOYLE, D
    MUNDY, P
    SPENCE, TM
    [J]. IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1980, 24 (06) : 677 - 683
  • [26] NEW METHOD FOR COMPILER CODE GENERATION.
    Glanville, R.Steven
    Graham, Susan L.
    [J]. 1978, : 231 - 240
  • [27] THE EQUATIONAL SPECIFICATION OF EFFICIENT COMPILER CODE GENERATION
    HATCHER, PJ
    [J]. COMPUTER LANGUAGES, 1991, 16 (01): : 81 - 95
  • [28] Code generation in a machine-independent compiler
    Cattell, RGG
    Newcomer, JM
    Leverett, BW
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (04) : 1 - +
  • [29] INSIDE A COMPILER - NOTES ON OPTIMIZATION AND CODE GENERATION
    CHRISTIAN, K
    [J]. BYTE, 1984, 9 (02): : 349 - &
  • [30] Dominance-Based Duplication Simulation (DBDS) Code Duplication to Enable Compiler Optimizations
    Leopoldseder, David
    Stadler, Lukas
    Wurthinger, Thomas
    Eisl, Josef
    Simon, Doug
    Moessenboeck, Hanspeter
    [J]. PROCEEDINGS OF THE 2018 INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO'18), 2018, : 126 - 137