[llvm-commits] [llvm] r154987 - /llvm/trunk/lib/Transforms/Scalar/LoopUnswitch.cpp
Bill Wendling
wendling at apple.com
Wed Apr 18 17:58:09 PDT 2012
On Apr 18, 2012, at 2:18 PM, Chris Lattner wrote:
> On Apr 18, 2012, at 1:13 AM, Duncan Sands wrote:
>
>> Hi Bill,
>>
>>> Use a heavy hammer to fix PR12573.
>>>
>>> If the loop contains invoke instructions, whose unwind edge escapes the loop,
>>> then don't try to unswitch the loop. Doing so may cause the unwind edge to be
>>> split, which not only is non-trivial but doesn't preserve loop simplify
>>> information.
>>
>> testcase? By the way, this disables loop unswitching for any loop that is
>> wrapped in a try-catch block - is that right? If so, isn't that kind of
>> bad? The hammer does seem extra heavy to me :)
>
> This hammer does seem overly strong to me. Also, can't this check be moved below the other, cheaper, checks?
>
I'll review it to see if I can make the hammer a bit less heavy. And, sure I can move it...
Duncan, I have a testcase, but it didn't reproduce in isolation (i.e., you couldn't run just -loop-unswitch on it, but several other opts first). I'll add something though.
-bw
More information about the llvm-commits
mailing list