break up access relations into may_read/may_write/must_write in interface
We currently only make a distinction between may accesses and must accesses.
At the level of an individual access expression, we even only have
a single (possibly argument dependent) access relation.
If we want to keep track of the accesses performed by a function called
from a function call, we will need to make a further distinction between
reads and writes. Furthermore, if member accesses are involved, then
a function may access elements from different spaces through the same
argument. The access relations therefore need to be changed into union maps.
In this commit we only change the outside interface and keep
the current internal representation for now.
The internal changes will take place in further commits.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>