Jeff Law <l...@redhat.com> wrote:
>On 11/22/13 05:10, Richard Biener wrote:
>
>>> +  if (totally_clobbered_loops)
>>> +    {
>>> +      /* Release the current loop structures, they are totally
>>> +        clobbered at this point.  */
>>> +      loop_optimizer_finalize ();
>>> +      current_loops = NULL;
>>
>> This is definitely a no-go and should be immediately reverted.  If
>you
>> wreck a particular loop simply mark it for removal by setting
>> ->header and ->latch to NULL.  Loop fixup will then re-discover
>> it (or really remove it).
>>
>> With the code above you discard all loops in the function including
>> meta-information on openmp loops, #pragma ivdeps info, etc.
>I realize it discards all that stuff, but that's still the safeest
>thing 
>to do.
>
>If we can selectively discard, that seems like a follow-up item.  The 
>loop stuff is new and something I know little about.  Thus I chose the 
>safest route.

Well.  Safe here is arguably a bit optimistic ;-)

>So the issue here is we can create irreducible regions & new nested 
>loops.  Does just setting the header,latch fields for the current loop 
>handle those cases?

Yes.

Richard.

>jeff


Reply via email to