Abstract
Program transformations are one of the most valuable compiler
techniques to improve parallelism or data locality. However,
restructuring compilers have a hard time coping with data
dependences. A typical solution is to focus on program parts
where the dependences are simple enough to enable any
transformation. For more complex problems is only addressed the
question of checking whether a transformation is legal or not. In
this paper we propose to go further. Starting from a
transformation with no guarantee on legality, we show how we can
correct it for dependence satisfaction. Two directions are
explored: first when transformation properties can be explicitly
expressed and second when they are implicit as in the data
locality transformation case. Generating code having the best
properties is a direct application of this result.
Users
Please
log in to take part in the discussion (add own reviews or comments).