Abstract

International audience; Increasing data movement costs motivate the integration of polyhedral loop optimizers in the standard flow (-O3) of production compilers. While polyhedral optimizers have been shown to be effective when applied as source-to-source transformation, the single static assignment form used in modern compiler mid-ends makes such optimizers less effective. Scalar dependencies (dependencies carried over a single memory location) are the main obstacle preventing effective optimization. We present DeLICM, a set of transformations which, backed by a polyhedral value analysis, eliminate problematic scalar dependences by 1) relocating scalar memory references to unused array locations and by 2) forwarding computations that otherwise cause scalar dependences. Our experiments show that DeLICM effectively eliminates dependencies introduced by compiler-internal canonicalization passes, human programmers, optimizing code generators, or inlining – without the need for any additional memory allocation. As a result, polyhedral loop optimizations can be better integrated into compiler pass pipelines which is essential for metaprogramming optimization.


Original document

The different versions of the original document can be found in:

http://dx.doi.org/10.1145/3168815 under the license http://www.acm.org/publications/policies/copyright_policy#Background
http://dx.doi.org/10.1145/3179541.3168815 under the license http://www.acm.org/publications/policies/copyright_policy#Background
https://doi.acm.org/10.1145/3168815,
https://dl.acm.org/citation.cfm?id=3168815,
https://academic.microsoft.com/#/detail/2793376792
https://hal.inria.fr/hal-01814183/document,
https://hal.inria.fr/hal-01814183/file/delicm-sigplan.pdf


DOIS: 10.1145/3168815 10.1145/3179541.3168815

Back to Top

Document information

Published on 01/01/2018

Volume 2018, 2018
DOI: 10.1145/3168815
Licence: Other

Document Score

0

Views 0
Recommendations 0

Share this document

claim authorship

Are you one of the authors of this document?