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 条
  • [1] Effective code generation for processor architectures with explicit parallelism
    V'yukova, NI
    Galatenko, VA
    Samborskii, SV
    Shumakov, SM
    PROGRAMMING AND COMPUTER SOFTWARE, 2002, 28 (05) : 261 - 279
  • [2] Effective Code Generation for Processor Architectures with Explicit Parallelism
    N. I. V'yukova
    V. A. Galatenko
    S. V. Samborskii
    S. M. Shumakov
    Programming and Computer Software, 2002, 28 : 261 - 279
  • [3] Automatic code generation and tuning for stencil kernels on modern shared memory architectures
    Christen, Matthias
    Schenk, Olaf
    Burkhart, Helmar
    COMPUTER SCIENCE-RESEARCH AND DEVELOPMENT, 2011, 26 (3-4): : 205 - 210
  • [4] Software Optimizations of NTRUEncrypt for Modern Processor Architectures
    Gueron, Shay
    Schlieker, Fabian
    INFORMATION TECHNOLOGY: NEW GENERATIONS, 2016, 448 : 189 - 199
  • [5] Automatic Code Generation for High-performance Discontinuous Galerkin Methods on Modern Architectures
    Kempf, Dominic
    Hess, Rene
    Muthing, Steffen
    Bastian, Peter
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2021, 47 (01):
  • [6] Space and execution efficient formats for modern processor architectures
    Simecek, I.
    Langr, D.
    2015 17TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC), 2016, : 98 - 105
  • [7] On parallel generation of set partitions in associative: Processor architectures
    Kokosinski, Z
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, PROCEEDINGS, 1999, : 1257 - 1262
  • [8] Main-Memory Hash Joins on Modern Processor Architectures
    Balkesen, Cagri
    Teubner, Jens
    Alonso, Gustavo
    Oezsu, M. Tamer
    IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2015, 27 (07) : 1754 - 1766
  • [9] Optimal integrated code generation for VLIW architectures
    Kessler, Christoph
    Bednarski, Andrzej
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2006, 18 (11): : 1353 - 1390
  • [10] Code Generation for Embedded Heterogeneous Architectures on Android
    Membarth, Richard
    Reiche, Oliver
    Hannig, Frank
    Teich, Juergen
    2014 DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION (DATE), 2014,