• DocumentCode
    3273899
  • Title

    Implicit hints: Embedding hint bits in programs without ISA changes

  • Author

    Vandierendonck, Hans ; De Bosschere, Koen

  • Author_Institution
    Dept. of Electron. & Inf. Syst., Ghent Univ., Ghent, Belgium
  • fYear
    2010
  • fDate
    3-6 Oct. 2010
  • Firstpage
    364
  • Lastpage
    369
  • Abstract
    There is a large gap in knowledge about a program between the compiler, which can afford expensive analysis, and the processor, which by nature is constrained in the types of analysis it can perform. To increase processor performance, ISAs have been extended with hint bits to communicate some of the compiler´s knowledge to the processor. In this paper, we propose and analyze a technique for adding or removing hints to a processor without changing the ISA, i.e. without breaking binary compatibility. Our technique exploits the freedom of allocating values to registers. We divide the registers in disjoint sets and assign one hint value to each set of registers. We implement our technique in the GCC compiler. Evaluation on two very different instruction sets, the Alpha ISA and the x86-64 ISA, shows that these hints can be encoded with high accuracy, although the accuracy varies strongly between instruction sets. We demonstrate that it is possible to encode multiple hints in register names and that the quality of register allocation is not degraded.
  • Keywords
    program compilers; Alpha ISA; GCC compiler; ISA changes; binary compatibility; hint bits; implicit hints; processor performance; programs; register allocation; x86-64 ISA; Accuracy; Decoding; Encoding; Instruction sets; Radiation detectors; Registers; Resource management;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Design (ICCD), 2010 IEEE International Conference on
  • Conference_Location
    Amsterdam
  • ISSN
    1063-6404
  • Print_ISBN
    978-1-4244-8936-7
  • Type

    conf

  • DOI
    10.1109/ICCD.2010.5647699
  • Filename
    5647699