[llvm-commits] [llvm] r49430 - /llvm/trunk/lib/Transforms/Scalar/SCCP.cpp

Chris Lattner clattner at apple.com
Wed Apr 9 09:54:22 PDT 2008


On Apr 9, 2008, at 8:58 AM, Devang Patel wrote:

> Author: dpatel
> Date: Wed Apr  9 10:58:24 2008
> New Revision: 49430
>
> URL: http://llvm.org/viewvc/llvm-project?rev=49430&view=rev
> Log:
> Be conservative if getresult operand is neither call nor invoke.

What else could it be?  undef?

-Chris

>
>
> Modified:
>    llvm/trunk/lib/Transforms/Scalar/SCCP.cpp
>
> Modified: llvm/trunk/lib/Transforms/Scalar/SCCP.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SCCP.cpp?rev=49430&r1=49429&r2=49430&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/Scalar/SCCP.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/SCCP.cpp Wed Apr  9 10:58:24 2008
> @@ -690,12 +690,13 @@
>   unsigned Idx = GRI.getIndex();
>   Value *Aggr = GRI.getOperand(0);
>   Function *F = NULL;
> -  if (CallInst *CI = dyn_cast<CallInst>(Aggr))
> +  if (CallInst *CI = dyn_cast<CallInst>(Aggr))
>     F = CI->getCalledFunction();
>   else if (InvokeInst *II = dyn_cast<InvokeInst>(Aggr))
>     F = II->getCalledFunction();
>
> -  assert (F && "Invalid GetResultInst operands!");
> +  if (!F)
> +    return;
>
>   std::multimap<Function*, LatticeValIndexed>::iterator It, E;
>   tie(It, E) = TrackedMultipleRetVals.equal_range(F);
>
>
> _______________________________________________
> 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