[PATCH] D12843: [Polly] Merge IRAccess into MemoryAccess

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 14 13:33:12 PDT 2015


Meinersbur added a comment.

In http://reviews.llvm.org/D12843#245324, @llvm-commits wrote:

> Iterating over a BB has a defined order!


The iteration order of instructions in BB for sure matters, but I was talking about the order of BBs in a functions, which shouldn't influence the correctness of generated code (except the first BB which is defined as the entry; correct me if I am wrong).

> I think we should not abandon

>  this for no good reason. At the latest the invariant hoisting patch will

>  make use of this (important for multiple ptr indirections).


To abandon something it must have been defined in the first place. From the code I do not see any pattern the code is trying to preserve except:

1. Loads, stores, PHI reads and some scalar writes are consecutive
2. Loads, stores, PHI reads and some scalar writes are in order as they appear in the BB.

Everything else depends on the order of BBs in a function.

Btw, the second property is preserved with this patch.

If you give me a definition of what the order is supposed to be, I can try to preserve it.


http://reviews.llvm.org/D12843





More information about the llvm-commits mailing list