• DocumentCode
    190641
  • Title

    Compiler optimizations for code density of variable length instructions

  • Author

    Kultala, Heikki ; Viitanen, Timo ; Jaaskelainen, Pekka ; Helkala, Janne ; Takala, Jarmo

  • Author_Institution
    Dept. of Pervasive Comput., Tampere Univ. of Technol., Tampere, Finland
  • fYear
    2014
  • fDate
    20-22 Oct. 2014
  • Firstpage
    1
  • Lastpage
    6
  • Abstract
    Variable length encoding can considerably decrease code size in VLIW processors by decreasing the amount of bits wasted on encoding No Operation(NOP)s. A processor may have different instruction templates where different execution slots are implicitly NOPs, but all combinations of NOPs may not be supported by the instruction templates. The efficiency of the NOP encoding can be improved by the compiler trying to place NOPs in such way that the usage of implicit NOPs is maximized. Two different methods of optimizing the use of the implicit NOP slots are evaluated: prioritizing function units that have fewer implicit NOPs associated to them, and a post-pass to the instruction scheduler which utilizes the slack of the schedule by rescheduling operations with slack into different instruction words so that the available instruction templates are better utilized. The post-pass optimizer saved an average of 2.5 % and at best of 9.1 % instruction memory, without performance loss. Prioritizing function units gave best case instruction memory savings of 12.7 % but the average savings were only 1.0 % and there was in average 5.7 % slowdown for the program.
  • Keywords
    instruction sets; program compilers; scheduling; NOP encoding; VLIW processors; code density; compiler optimization; instruction templates; no operation encoding; post-pass optimization; variable length encoding; variable length instruction; variable length instruction word; Benchmark testing; Encoding; Optimized production technology; Program processors; Schedules; VLIW;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Signal Processing Systems (SiPS), 2014 IEEE Workshop on
  • Conference_Location
    Belfast
  • Type

    conf

  • DOI
    10.1109/SiPS.2014.6986074
  • Filename
    6986074