Abstract | ||
---|---|---|
Loop optimizations span from vectorization, scalar promotion, loop invariant code motion, software pipelining to loop fusion, skewing, tiling and loop parallelization. These transformations are essential in the quest for automated high-performance code generation. Determining the validity of loop transformations at compile time requires analyzing all possible data dependences that may exist at run-time, i.e., all may-dependences. One fundamental issue faced by loop optimizers relates to the precision of alias and dependence information. Static alias and dependence analysis has been extensively studied, but many factors make the problem extremely tough. We provide theoretical and practical foundations to safely apply aggressive loop transformations on programs with polynomial data access relations. We do so by inverting how the may-dependence problem is attacked. Instead of providing alias information to the optimizer such that it can filter invalid transformations, we request that it performs a transformation that we believe will reduce the execution time and we generate a fast and precise test to validate, at run-time, if the optimization can be taken. |
Year | DOI | Venue |
---|---|---|
2016 | 10.1145/2967938.2974059 | PACT |
Keywords | Field | DocType |
Compilers, Polyhedral Transformation, Code Versioning | Loop fusion,Loop nest optimization,Loop dependence analysis,Computer science,Parallel computing,Loop fission,Loop tiling,Real-time computing,Loop inversion,Loop interchange,While loop | Conference |
ISBN | Citations | PageRank |
978-1-5090-5308-7 | 0 | 0.34 |
References | Authors | |
2 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Diogo Nunes Sampaio | 1 | 4 | 0.79 |
Alain Ketterlin | 2 | 183 | 10.23 |
Louis-noël Pouchet | 3 | 880 | 47.61 |
Fabrice Rastello | 4 | 482 | 38.30 |