Hello again :) It's been some time since I sent you last patch, but here I'm again. I send the patch for PR5373. Regards -- Jakub Staszak -------------- next part -------------- A non-text attachment was scrubbed... Name: pr5373.patch Type: application/octet-stream Size: 5913 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100806/75f6e44a/attachment.obj>
The last bit here
+ if (LoopExitBB) {
+ // It is possible that for both successors
isTrivialLoopExitBlock()
+ // returns different exit blocks. It means that the loop
isn't trivial,
+ // just quit then.
+ if (LoopExitBB != LoopExitBB2)
+ return false;
+ } else if (Val) {
+ // if LoopExitBB == LoopExitBB2 pick the first one (true).
+ *Val = ConstantInt::getFalse(Context);
doesn't do what the comment says it does; the store into *Val is done
when !LoopExitBB, not when LoopExitBB == LoopExitBB2.
On Aug 6, 2010, at 12:54 AMPDT, Jakub Staszak wrote:
> Hello again :)
>
> It's been some time since I sent you last patch, but here I'm
again.
> I send the patch for PR5373.
>
> Regards
> --
> Jakub Staszak
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr5373.patch
Type: application/octet-stream
Size: 5913 bytes
Desc: not available
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20100806/09dea6ad/attachment.obj>
-------------- next part --------------> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Aug 6, 2010, at 11:47 AM, Dale Johannesen wrote:> The last bit here > > + if (LoopExitBB) { > + // It is possible that for both successors isTrivialLoopExitBlock() > + // returns different exit blocks. It means that the loop isn't trivial, > + // just quit then. > + if (LoopExitBB != LoopExitBB2) > + return false; > + } else if (Val) { > + // if LoopExitBB == LoopExitBB2 pick the first one (true). > + *Val = ConstantInt::getFalse(Context); >Actually it does. It is written that if LoopExitBB == LoopExitBB2 we should pick TRUE value: *Val = ConstantInt::getTrue(Context); so..there is not need to generate FALSE value. I know that this comment might be a little bit misleading. Probably the best idea is to delete it.> doesn't do what the comment says it does; the store into *Val is done when !LoopExitBB, not when LoopExitBB == LoopExitBB2. > > On Aug 6, 2010, at 12:54 AMPDT, Jakub Staszak wrote: > >> Hello again :) >> >> It's been some time since I sent you last patch, but here I'm again. I send the patch for PR5373. >> >> Regards >> -- >> Jakub Staszak > <pr5373.patch> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >