This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Slowdowns in code generated by GCC>=3.3
Hi again,
> Another thought, you can binary search the compiler sources from cvs,
> compiling your application at each instance to determine the patch that
> went in that regressed performance for you.
I did a search through GCC CVS to find out which patch caused our factor
3 slowdown. Apparently, it is the patch with this ChangeLog entry:
2003-02-15 Richard Henderson <rth@redhat.com>
* bb-reorder.c (find_traces_1_round): Don't connect easy to copy
successors with multiple predecessors.
(connect_traces): Try harder to copy traces of length 1.
* function.h (struct function): Add computed_goto_common_label,
computed_goto_common_reg.
* function.c (free_after_compilation): Zap them.
* stmt.c (expand_computed_goto): Use them to produce one
indirect branch per function.
I tried patching the files one by one (in the order above, as i assumed the
problem was in stmt.c and that that file depended on function.*), and indeed,
once the 'stmt.c' is patched, the slowdown occurs.
Can something be done about this ?
thanks,
Remko