This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: "-fno-unswitch-loops" option have no effect?



On Aug 17, 2009, at 10:50 AM, Bernd Roesch wrote:


[..]
There is no need for much detail, just compile any bigger sourcecode with
-O3 -fno-.. and after that with -O2 .... When the object files are not
identical, something is wrong and I can start a bug report.

how much is size diffrent ?


You use
-finline-functions -fpredictive-commoning -fgcse-after-reload
-ftree-vectorize

right ?

I see in Gcc source that there is more set on -O3.
flag_ipa_cp_clone = opt3;
if (flag_ipa_cp_clone)
  flag_ipa_cp = 1;

.but i
think you can easy test, compile the ffmpeg, if it give no internal
compiler error with -fno........ then it work.

here is from source opt.c what is set on opt3

opt3 = (optimize >= 3);
flag_predictive_commoning = opt3;
flag_inline_functions = opt3;
flag_unswitch_loops = opt3;
flag_gcse_after_reload = opt3;
flag_tree_vectorize = opt3;
flag_ipa_cp_clone = opt3;
if (flag_ipa_cp_clone)
  flag_ipa_cp = 1;

That doesn't cover all of it; for instance, complete loop unrolling increases code size more on -O3.


That means you run into http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40992 with ffmpeg's asm enabled, but turning it down (--param max- completely-peel-times=2) actually seems slightly faster even with plain C on i386.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]