• DocumentCode
    3649910
  • Title

    Interprocedural array remapping

  • Author

    M. Cierniak; Wei Li

  • Author_Institution
    Dept. of Comput. Sci., Rochester Univ., NY, USA
  • fYear
    1997
  • Firstpage
    146
  • Lastpage
    155
  • Abstract
    Programming languages like Fortran or C define exactly the layout of array elements in memory. Programmers often use that definition to access the same memory via variables of different types. For many real programs this practice makes changing the layout of an array impossible without violating the semantics of the program since the same memory block may be accessed via variables of different types-such accesses may now receive wrong array elements. On the other hand, changing array layout is often necessary to obtain good parallel performance or even to improve sequential performance by providing better cache locality. The paper demonstrates that the problem of changing array layouts in the presence of multiple variables of different types accessing the same memory can be solved with the algorithms for 1) detecting overlapping arrays, 2) using procedure cloning to reduce overlapping, 3) array-type coercion, and 4) code structure recovery.
  • Keywords
    "Computer languages","Computer science","Cloning","Parallel machines","Optimizing compilers","Program processors","Manuals","Performance analysis"
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques., 1997. Proceedings., 1997 International Conference on
  • Print_ISBN
    0-8186-8090-3
  • Type

    conf

  • DOI
    10.1109/PACT.1997.644011
  • Filename
    644011