[PATCH] D17241: [Refactor] Move isl_ctx into Scop.

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 15 08:00:07 PST 2016


On 02/15/2016 04:45 PM, Hongbin Zheng wrote:
> etherzhhb added a comment.
>
> In http://reviews.llvm.org/D17241#352759, @llvm-commits wrote:
>
>>> And if  ScopInfo, DependencyInfo, IslAst are not free in order, it become a total mess ....
>>
>>
>> The pass manager should free IslAst, DependencyInfo, ... __before__ ScopInfo
>>   because they have a dependence on the ScopInfo results. Am I wrong?
>
>
> Sorry I am not precise enough. It should be Scop (the result of ScopInfo), Dependences (the result of DependenceInfo) and IslAst (the result of IslAstInfo).
>
> Let me do some experiments to confirm the order with the debug-pass option.

Right. ScopInfo should be freed last. That's why I would expect it to 
just work.

The issue is likely that ScopInfo is only freed very late, however we 
overwrite the scop already at the point when we build the next scop. At 
this point the  other passes have not yet been freed (as they run over 
other regions) and consequently will continue to reference the scop.

Tobias


More information about the llvm-commits mailing list