gpu: allow any array accessed through constant index expressions to be private
commitee5b1c2174a5f61358790f62ab29ee3c234140e7
authorSven Verdoolaege <skimo@kotnet.org>
Mon, 21 Mar 2016 09:19:45 +0000 (21 10:19 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 25 Mar 2016 11:59:34 +0000 (25 12:59 +0100)
treebe4f304d0b41ac3a557e8e5ba4aeed6f8372c916
parent5dbf98b8de65e9b68d4024296b19afc3c02447de
gpu: allow any array accessed through constant index expressions to be private

The arrays that are considered for mapping to private memory directly
were restricted to scalars (0-dimensional arrays without subfields).
The reason is that no addressing is required to access them
and an array element that is accessed through a non-constant
index expression is automatically spilled to (slow) local memory in CUDA.
Extend the cases of arrays that are considered for mapping
to private memory to all those arrays that are only accessed
through accesses with a fixed, complete index expression.

This removes the need for adding the corresponding order dependences
to the coincidence constraints, increasing the scheduling freedom
in those cases where additional arrays are considered for mapping
to private memory.

Requested-by: Michael Kruse <MichaelKruse@meinersbur.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
gpu.c