[llvm-commits] [llvm] r69631 - /llvm/trunk/lib/Transforms/Scalar/LoopUnroll.cpp

Evan Cheng evan.cheng at apple.com
Mon Apr 20 15:25:15 PDT 2009


On Apr 20, 2009, at 3:19 PM, Dale Johannesen wrote:

> Author: johannes
> Date: Mon Apr 20 17:19:33 2009
> New Revision: 69631
>
> URL: http://llvm.org/viewvc/llvm-project?rev=69631&view=rev
> Log:
> Adjust loop size estimate for full unrolling;
> GEP's don't usually become instructions.

Well... That's not entirely true. Each GEP can also become a several  
instructions. Is there a test case to demonstrate the merit of this  
change?

Evan

>
>
>
> Modified:
>    llvm/trunk/lib/Transforms/Scalar/LoopUnroll.cpp
>
> Modified: llvm/trunk/lib/Transforms/Scalar/LoopUnroll.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopUnroll.cpp?rev=69631&r1=69630&r2=69631&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/lib/Transforms/Scalar/LoopUnroll.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/LoopUnroll.cpp Mon Apr 20  
> 17:19:33 2009
> @@ -89,6 +89,8 @@
>         // Ignore instructions only used by the loop terminator.
>       } else if (isa<DbgInfoIntrinsic>(I)) {
>         // Ignore debug instructions
> +      } else if (isa<GetElementPtrInst>(I) && I->hasOneUse()) {
> +        // Ignore GEP as they generally are subsumed into a load or  
> store.
>       } else if (isa<CallInst>(I)) {
>         // Estimate size overhead introduced by call instructions  
> which
>         // is higher than other instructions. Here 3 and 10 are magic
>
>
> _______________________________________________
> 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