[llvm-commits] PR12343 PATCH: -loop-unswitch crash on indirect branch

Stepan Dyatkovskiy STPWORLD at narod.ru
Mon Apr 2 10:18:21 PDT 2012


Hi Andrew.
Committed fix+test as r153879. 

-Stepan

31.03.2012, 06:04, "Andrew Trick" <atrick at apple.com>:
> On Mar 29, 2012, at 11:36 PM, Stepan Dyatkovskiy <STPWORLD at narod.ru> wrote:
>
>>  Hi all. Please find patch for review.
>>  It was discussed here:
>>  http://llvm.org/bugs/show_bug.cgi?id=12343
>>
>>  We have not trivial way for splitting edges that are goes from indirect branch. We can do it with some tricks, but it should be additionally discussed. And it is still dangerous due to difficulty of indirect branches controlling.
>>
>>  This is a fast fix, that forbids this case for unswitching.
>>
>>  -Stepan.<pr12343-fastfix.patch>
>
> Hi Stepan,
>
> I have a couple minor cleanup suggestions, then you can immediately commit. Sorry I didn't mention these the first time around.
>
> ExitBlocks can be passed simply as SmallVectorImpl<BasicBlock*>.
>
> You can directly iterate over ExitBlocks preds like this:
> for (pred_iterator I = pred_begin(ExitBlock), E = pred_end(ExitBlock);...
>
> Thanks,
> -Andy
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list