[llvm] r231459 - Change the way in which error case is being handled.

Sean Silva chisophugis at gmail.com
Fri Mar 6 14:14:38 PST 2015


+  assert(false && "Couldn't find loop");

llvm_unreachable?

On Fri, Mar 6, 2015 at 2:39 AM, Daniel Jasper <djasper at google.com> wrote:

> Author: djasper
> Date: Fri Mar  6 04:39:14 2015
> New Revision: 231459
>
> URL: http://llvm.org/viewvc/llvm-project?rev=231459&view=rev
> Log:
> Change the way in which error case is being handled.
>
> Specifically this:
> * Prevents an "unused" warning in non-assert builds.
> * In that error case return with out removing a child loop instead of
>   looping forever.
>
> Modified:
>     llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp
>
> Modified: llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp?rev=231459&r1=231458&r2=231459&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/LoopInterchange.cpp Fri Mar  6
> 04:39:14 2015
> @@ -901,14 +901,16 @@ bool LoopInterchangeProfitability::isPro
>
>  void LoopInterchangeTransform::removeChildLoop(Loop *OuterLoop,
>                                                 Loop *InnerLoop) {
> -  for (Loop::iterator I = OuterLoop->begin(), E = OuterLoop->end();; ++I)
> {
> -    assert(I != E && "Couldn't find loop");
> +  for (Loop::iterator I = OuterLoop->begin(), E = OuterLoop->end(); I !=
> E;
> +       ++I) {
>      if (*I == InnerLoop) {
>        OuterLoop->removeChildLoop(I);
>        return;
>      }
>    }
> +  assert(false && "Couldn't find loop");
>  }
> +
>  void LoopInterchangeTransform::restructureLoops(Loop *InnerLoop,
>                                                  Loop *OuterLoop) {
>    Loop *OuterLoopParent = OuterLoop->getParentLoop();
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150306/09bfb31f/attachment.html>


More information about the llvm-commits mailing list