[llvm-commits] [PATCH] Implement transitivity in pass manager

Tobias Grosser grosser at fim.uni-passau.de
Wed Jan 19 22:54:02 PST 2011


On 01/19/2011 11:44 PM, Tobias Grosser wrote:
> On 01/17/2011 08:09 PM, Devang Patel wrote:
>>
>> On Jan 16, 2011, at 7:53 PM, Tobias Grosser wrote:
>>
>>> Hi,
>>>
>>> this patch implements transitivity in the pass manager. Surprisingly
>>> it seems it was not implemented at all. A simple
>>> "opt -indvars -scalar-evolution -analyze" triggered a segfault,
>>> because the LoopInfo pass is freed too early even if it was required transitively by the scalar-evolution pass.
>>>
>>> This fixes http://llvm.org/bugs/show_bug.cgi?id=8037
>>>
>>> Cheers
>>> Tobi
>>>
>>>
>>> <0001-Implement-requiredTransitive.patch>
>>
>> OK. Please apply.
>
> This patch triggers some segfaults for me, which seems to be related to
> passes somehow changing their kind. I will commit that patch, as soon as
> I understand the reason of the failures. I was currently only able to
> trigger the failures in Polly, so it might very well be that it is some
> bug in the RegionPass infrastructure. I'll keep you updated.

Here an updated patch. The problem was that we set the last user of some 
higher level passes to some low level pass instead of setting it to the 
pass manager of that low level pass.

This passes LLVM and Polly test suite.

OK to commit?
Tobi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Implement-requiredTransitive.patch
Type: text/x-diff
Size: 4141 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110120/7ebfe3ee/attachment.patch>


More information about the llvm-commits mailing list