[polly] r246144 - BlockGenerator: Add the possiblity to pass a set of new access functions

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 27 03:50:19 PDT 2015


Hi Johannes,

thank you for reviewing my changes.

On 08/27/2015 09:57 AM, Johannes Doerfert wrote:
> Two questions:
>    1) Why isn't the new map a DenseMap<isl_id *, isl_ast_node *>?

There is no really strong reason. Some benefits are that it does automatic reference
counting, such that we do not need to free the contained values individually. As
soon as we have the isl C++ interface (I heared Armin is back to work on it), this
should probably be replaced.

>    2) Why isn't the new mapping a member of the BlockGenerator rather
>       than a parameter of each function?

I tried to explain this in the commit message:

>> This commit should not change the behavior of Polly for now. The diff is rather
>> large, but most changes are due to us passing the NewAccesses hash table through
>> functions. This style, even though rather verbose, matches what is done
>> throughout the BlockGenerator with other per-statement properties.

The current style of the BlockGenerator is such that the member variables of the
Block generator are variables/maps that have global state, whereas per-statement
parameters are passed to the copyStmt function and passed on as explicit parameters.
I tried to follow this style.

Tobias


More information about the llvm-commits mailing list