postpone introduction of access relations
When index expressions were introduced in
dbee8c4 (keep track of index
expressions, Mon Jun 17 14:26:28 2013 +0200), we kept the access relations
even though they are often identical to the corresponding index expressions.
Part of the motivation for keeping the access relations was that the
index expressions and access relations were expected to diverge more
when we start keeping track of which elements of an array are accessed
by a function call. However, as we will see in later commits, to keep
track of which elements are accessed by a function call, we need three
access relations. It seems excessive to keep track of three access
relations on each access if they are often going to all be equal
to the index expression. Instead, we now only keep track of
an explicit access relation (and in future multiple access relations)
if this/these access relation(s) may be different from the index expression.
The access relation can be created from the index expression whenever
it is needed. Since the index expression may sometimes refer to
an entire slice of an array, we also keep track of an array depth
such that the access relation can be created in the correct space.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>