[PATCH] [Polly] Align copied load/store instructions as the original.

Tobias Grosser tobias at grosser.es
Wed Oct 1 07:01:00 PDT 2014


Is this save?

For normal accesses, we can probably say that the different iterations 
of a statement will always access the same set of memory locations, 
independently of the schedule of this statement. If the original 
accesses have been aligned to a certain boundary before, they accesses 
of the rescheduled statements will be aligned again.

Regarding user modified access functions. The above reasoning only holds 
if the new access function does only access data locations that have 
also been accessed by this statement when using the old access function. 
If we modified access functions to use data locations that have been 
used in the scop, but not in the very same statement, this
assumption does not hold, as the uses in the other statement may have a 
different alignment.

I see three approaches here:

1) Leave it as it is.

2) Have the jscop-importer check that access functions are only modified
    in the way described above.

3) Compute the new alignment correctly, by first deriving the alignment
    of the base ptr based on the alignments of the accesses and then
    recompute the alignment of the accesses from the possibly modified
    access function.

1) feels unsatisfying to me 3) would be nice to have, but is probably 
too involved for this patch. 2) is hopefully just a two line change and 
could possibly save us in the future.

Cheers,
Tobias

(You also miss a test case)



More information about the llvm-commits mailing list