[llvm-commits] [llvm] r122740 - /llvm/trunk/include/llvm/Support/StandardPasses.h

Roman Divacky rdivacky at freebsd.org
Sun Jan 2 23:37:09 PST 2011


On Mon, Jan 03, 2011 at 06:19:09AM -0000, Chris Lattner wrote:
> Author: lattner
> Date: Mon Jan  3 00:19:09 2011
> New Revision: 122740
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=122740&view=rev
> Log:
> Turn on earlycse by default.  This seems to be a small performance
> improvement in the generated code, and speeds up 'opt -std-compile-opts'
> compile time on 176.gcc from 24.84s to 23.2s (about 7%).
> 
> This also resolves a specific code quality issue in rdar://7352081 which
> was generating poor code for:
> 
> int t(int a, int b) {
>   if (a & b & 1)
>     return a & b;
>   return 3;
> }
> 
> 
> Modified:
>     llvm/trunk/include/llvm/Support/StandardPasses.h
> 
> Modified: llvm/trunk/include/llvm/Support/StandardPasses.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/StandardPasses.h?rev=122740&r1=122739&r2=122740&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/StandardPasses.h (original)
> +++ llvm/trunk/include/llvm/Support/StandardPasses.h Mon Jan  3 00:19:09 2011
> @@ -129,9 +129,9 @@
>      
>      // Start of function pass.
>      PM->add(createScalarReplAggregatesPass());  // Break up aggregate allocas
> +    PM->add(createEarlyCSEPass());              // Catch trivial redundancies
>      if (SimplifyLibCalls)
>        PM->add(createSimplifyLibCallsPass());    // Library Call Optimizations
> -    PM->add(createInstructionCombiningPass());  // Cleanup for scalarrepl.

was removing the InstructionCombiningPass intended?

gnu screen compiles to 344992 bytes without InstructionCombiningPass (as in trunk)
but to 344624 bytes with the InstructionCombiningPass kept...

on the other hand it hurts boot loader from freebsd a little (-145 bytes available
to -165 bytes available)



More information about the llvm-commits mailing list