Branchless Code Generation for Modern Processor Architectures

被引:0
|
作者
Angelou, Alexandros [1 ]
Dadaliaris, Antonios [1 ]
Dimitriou, Georgios [1 ]
Dossis, Michael [2 ]
机构
[1] Univ Thessaly, Dept Comp Sci & Telecommun, Volos, Greece
[2] Univ Western Macedonia, Dept Informat, Kozani, Greece
关键词
Compiler optimizations; Branchless code generation; Branch removal; Vector code;
D O I
10.1145/3503823.3503879
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Compilers apply transformations to the code they compile in order to make it run faster without changing its behavior. This process is called code optimization. Modern compilers apply many different passes of code optimization to ensure maximum runtime performance and efficiency, at the rather negligible expense of larger compilation times. This study focuses on a particular optimization, called branchless optimization, which eliminates code branches by utilizing different data transformation techniques that have the same effect. Such techniques are explored on their implementation on the LLVM IR and MIPS and partly ARM assembly, and ranked based on their runtime efficiency. Moreover, the stages of implementing the optimization transformation are explored, as well as different instruction set features that some CPU architectures provide that can be used to increase the efficiency of the optimization.
引用
收藏
页码:300 / 305
页数:6
相关论文
共 50 条
  • [21] Analysis of Tree-Structured Architectures for Code Generation
    Dahal, Samip
    Maharana, Adyasha
    Bansal, Mohit
    FINDINGS OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS, ACL-IJCNLP 2021, 2021, : 4382 - 4391
  • [22] Optimal integrated code generation for clustered VLIW architectures
    Kessler, C
    Bednarski, A
    ACM SIGPLAN NOTICES, 2002, 37 (07) : 102 - 111
  • [23] PARALLEL CODE GENERATION FOR SUPER-SCALAR ARCHITECTURES
    FERNANDES, EST
    BORNSTEIN, CF
    PEREIRA, CMD
    MICROPROCESSING AND MICROPROGRAMMING, 1992, 34 (1-5): : 223 - 226
  • [25] Code generation for reconfigurable explicit datapath architectures with LLVM
    Adriaansen, Michael
    Wijtvliet, Mark
    Jordans, Roel
    Waeijen, Luc
    Corporaal, Henk
    19TH EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN (DSD 2016), 2016, : 30 - 37
  • [26] An Evaluation of Code Generation of Dataflow Languages on Manycore Architectures
    Savas, Suleyman
    Gebrewahid, Essayas
    Ul-Abdin, Zain
    Nordstrom, Tomas
    Yang, Mingkun
    2014 IEEE 20TH INTERNATIONAL CONFERENCE ON EMBEDDED AND REAL-TIME COMPUTING SYSTEMS AND APPLICATIONS (RTCSA), 2014,
  • [27] FIRESTARTER 2: Dynamic Code Generation for Processor Stress Tests
    Schoene, Robert
    Schmidl, Markus
    Bielert, Mario
    Hackenberg, Daniel
    2021 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER 2021), 2021, : 582 - 590
  • [28] Compact Code Generation for Tightly-Coupled Processor Arrays
    Boppu, Srinivas
    Hannig, Frank
    Teich, Juergen
    JOURNAL OF SIGNAL PROCESSING SYSTEMS FOR SIGNAL IMAGE AND VIDEO TECHNOLOGY, 2014, 77 (1-2): : 5 - 29
  • [29] Automated Generation of Custom Processor Core from C Code
    Trajkovic, Jelena
    Abdi, Samar
    Nicolescu, Gabriela
    Gajski, Daniel D.
    JOURNAL OF ELECTRICAL AND COMPUTER ENGINEERING, 2012, 2012
  • [30] Compact Code Generation for Tightly-Coupled Processor Arrays
    Srinivas Boppu
    Frank Hannig
    Jürgen Teich
    Journal of Signal Processing Systems, 2014, 77 : 5 - 29