[llvm-commits] [llvm-gcc-4.2] r63023 - /llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
Devang Patel
dpatel at apple.com
Mon Jan 26 23:13:22 PST 2009
On Jan 26, 2009, at 10:55 AM, Evan Cheng wrote:
> Author: evancheng
> Date: Mon Jan 26 12:55:10 2009
> New Revision: 63023
>
> URL: http://llvm.org/viewvc/llvm-project?rev=63023&view=rev
> Log:
> Do not run aggressive loop unswitch at -O2.
>
> Modified:
> llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
>
> Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=63023&r1=63022&r2=63023&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
> +++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Mon Jan 26 12:55:10 2009
> @@ -438,7 +438,7 @@
> PM->add(createReassociatePass()); // Reassociate
> expressions
> PM->add(createLoopRotatePass()); // Rotate Loop
> PM->add(createLICMPass()); // Hoist loop
> invariants
> - PM->add(createLoopUnswitchPass(optimize_size ? true : false));
> + PM->add(createLoopUnswitchPass(optimize_size || optimize < 3));
Pl. do
if (optimize >= 3)
PM->add(createLoopUnswitchPass(optimize_size || optimize < 3));
LoopUnswitchPass constructor accepts a boolean flag that indicates
whether we're optimize for size or not. Right now loop-unswitch pass
does not unswitch loop if optimizing for size, but that is
implementation detail. If you want to disable the pass for -O2 then
pl. avoid indirect approach because -O2 does not mean optimize for size.
Thanks,
-
Devang
More information about the llvm-commits
mailing list