[PATCH] D14688: [Polly] Introduce origin/kind for exit PHI node accesses

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 15 06:56:52 PST 2015


On 11/15/2015 03:44 PM, Michael Kruse wrote:
> Meinersbur created this revision.
> Meinersbur added reviewers: grosser, jdoerfert.
> Meinersbur added subscribers: llvm-commits, pollydev.
> Meinersbur added a project: Polly.
>
> Previously, accesses that originate from PHI nodes in the exit block were registered as SCALAR. In some context they are treated as such scalars, but it makes a difference in others. We used to check whether the AccessInstruction is a terminator to differentiate the cases.
>
> This patch introduces an MemoryAccess origin EXIT_PHI and a ScopArrayInfo kind KIND_EXIT_PHI to make this case more explicit.

Nice! I like those small, but so beautiful cleanups.

Assuming this passes -polly-process-unprofitable, this seems good to go.

+  /// * Accesses to emulate PHI node that are in the SCoP's exit block

node_S_ ?


+  /// llvm::Value is treated as a value escaping the SCoP. The WRITE access
+  /// write directly to the escaping value's ".s2a" alloca.

The WRITE access write ...

Either "WRITE access writes" or "WRITE accesses write"


Best,
Tobias

PS: I did not yet get to your earlier patch, but on a quick look I saw 
you replaced a slightly confusing while/while nest with a C++ iterator
based version that is easier to understand. If this change is 
independent, that would be a nice cleanup that we should probably
commit independently.


More information about the llvm-commits mailing list