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 条
  • [41] Architectures for integrating legacy information systems with modern bar code technology
    Porter, JD
    Billo, RE
    Rucker, R
    JOURNAL OF MANUFACTURING SYSTEMS, 2004, 23 (03) : 256 - 265
  • [42] Mitigating the Dark Silicon Phenomenon on Next-Generation Network Processor Architectures
    Roy, Sourav
    2015 IEEE International Symposium on Nanoelectronic and Information Systems, 2015, : 124 - 124
  • [43] Code-based test generation for validation of functional processor descriptions
    Baray, F
    Codognet, P
    Diaz, D
    Michel, H
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2003, 2619 : 569 - 584
  • [44] Acceleration of an Adaptive Cartesian Mesh CFD Solver in the Current Generation Processor Architectures
    Harichand, M., V
    Sharma, Bharatkumar
    Sudhakaran, G.
    Ashok, V.
    2018 IEEE 25TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), 2018, : 153 - 161
  • [45] New code generation algorithm for QueueCore - An embedded processor with high ILP
    Canedo, Arquirnedes
    Abderazek, Ben A.
    Sowa, Masahiro
    EIGHTH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING, APPLICATIONS AND TECHNOLOGIES, PROCEEDINGS, 2007, : 185 - 192
  • [46] Automatic Code Generation on a MOVE Processor Using Cartesian Genetic Programming
    Walker, James Alfred
    Liu, Yang
    Tempesti, Gianluca
    Tyrrell, Andy M.
    EVOLVABLE SYSTEMS: FROM BIOLOGY TO HARDWARE, 2010, 6274 : 238 - 249
  • [47] A portable OpenCL Lattice Boltzmann code for multi- and many-core processor architectures
    Calore, Enrico
    Schifano, Sebastiano Fabio
    Tripiccione, Raffaele
    2014 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, 2014, 29 : 40 - 49
  • [48] The impact of modern FPGA architectures on neural hardware: A case study of the TOTEM neural processor
    McBader, S
    Lee, P
    Sartori, A
    2004 IEEE INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS, VOLS 1-4, PROCEEDINGS, 2004, : 3149 - 3154
  • [49] PowerVisor: A Toolset for Visualizing Energy Consumption and Heat Dissipation Processes in Modern Processor Architectures
    Baranov, Alexey
    Panfilov, Peter
    Ponomarev, Dmitry
    PARALLEL COMPUTING TECHNOLOGIES (PACT 2013), 2013, 7979 : 149 - 153
  • [50] Parallel binary reflected Gray code sequence generation on multicore architectures
    Ali, Md. Mohsin
    Rumi, Mst. Shakila Khan
    INTERNATIONAL JOURNAL OF PARALLEL EMERGENT AND DISTRIBUTED SYSTEMS, 2014, 29 (05) : 513 - 520