• DocumentCode
    1548968
  • Title

    Program decision logic optimization using predication and control speculation

  • Author

    Hwu, Wen-Mei W. ; August, David I. ; Sias, John W.

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Illinois Univ., Urbana, IL, USA
  • Volume
    89
  • Issue
    11
  • fYear
    2001
  • fDate
    11/1/2001 12:00:00 AM
  • Firstpage
    1660
  • Lastpage
    1675
  • Abstract
    The mainstream arrival of predication, a means other than branching of selecting instructions for execution, has required compiler architects to reformulate fundamental analyses and transformations. Traditionally, the compiler has generated branches straightforwardly to implement control flow designed by the programmer and has then performed sophisticated "global" optimizations. to move and optimize code around them. In this model, the inherent tie between the control state of the program and the location of the single instruction pointer serialized run-time evaluation of control and limited the extent to which the compiler could optimize the control structure of the program (without extensive code replication). Predication provides a means of control independent of branches and instruction fetch location, freeing both compiler and architecture from these restrictions; effective compilation of predicated code, however requires sophisticated understanding of the program\´s control structure. This paper explores a representational technique which, through direct code analysis, maps the program\´s control component into a canonical database, a reduced ordered binary decision diagram (ROBDD), which fully enables the compiler to utilize and manipulate predication. This abstraction is then applied to optimize the program\´s control component, transforming it into a form more amenable to instruction level parallel (ILP) execution
  • Keywords
    binary decision diagrams; optimising compilers; parallel architectures; canonical database; compiler; control speculation; instruction level parallel architecture; predication; program decision logic optimization; reduced ordered binary decision diagram; Boolean functions; Data structures; Databases; Design optimization; Independent component analysis; Logic; Optimizing compilers; Program processors; Programming profession; Runtime;
  • fLanguage
    English
  • Journal_Title
    Proceedings of the IEEE
  • Publisher
    ieee
  • ISSN
    0018-9219
  • Type

    jour

  • DOI
    10.1109/5.964444
  • Filename
    964444