[llvm-commits] [llvm] r47309 - /llvm/trunk/lib/Transforms/Scalar/GVN.cpp

Chris Lattner clattner at apple.com
Mon Feb 18 21:22:28 PST 2008


On Feb 18, 2008, at 7:15 PM, Owen Anderson wrote:

> Author: resistor
> Date: Mon Feb 18 21:15:29 2008
> New Revision: 47309
>
> URL: http://llvm.org/viewvc/llvm-project?rev=47309&view=rev
> Log:
> An sret parameter is required to be the first parameter, so there's  
> no need to loop
> over all the parameters of the callee looking for it.
>
> Modified:
>    llvm/trunk/lib/Transforms/Scalar/GVN.cpp
>
> Modified: llvm/trunk/lib/Transforms/Scalar/GVN.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/GVN.cpp?rev=47309&r1=47308&r2=47309&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/lib/Transforms/Scalar/GVN.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/GVN.cpp Mon Feb 18 21:15:29 2008
> @@ -1089,15 +1089,10 @@
>
>   // If all checks passed, then we can perform the transformation
>   CallSite CS = CallSite::get(C);
> +  if (CS.getArgument(0)->getType() != cpyDest->getType())
> +    return false;
>
> +  CS.setArgument(0, cpyDest);

Are you sure it's safe to assume that CS has at least one argument  
here?  Why are you checking the type at all?

-Chris



More information about the llvm-commits mailing list