This is the mail archive of the
mailing list for the GCC project.
Question on documentation about RTL PRE in gccint
- From: "Bin.Cheng" <amker dot cheng at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 22 Oct 2012 14:59:46 +0800
- Subject: Question on documentation about RTL PRE in gccint
Quoting from GCCINT, section "9.5 RTL passes":
"When optimizing for size, GCSE is done using Morel-Renvoise Partial
Redundancy Elimination, with the exception that it does not try to
move invariants out of loops—that is left to the loop optimization
pass. If MR PRE GCSE is done, code hoisting (aka unification) is also
done, as well as load motion."
While the pass gate function is as below:
return optimize > 0 && flag_gcse
&& optimize_function_for_speed_p (cfun)
&& dbg_cnt (pre);
It seems the PRE pass is disabled when not optimizing for speed.
Doesn't this conflict with the documentation, which says
Morel-Renvoise PRE will be used when optimizing for size.
Please help. Thanks.