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]

Re: Tremendous performance regression in 1.1.2 -> mainline


> 	Part of the problem may be due to GCC not applying appropriate
> heuristics (or any heuristics) to determine when an optimization will be
> effective.  Maybe -O3 or -O4 or some separate flag should control
> disabling new heuristics to limit when an optimization is applied.  In
> other words, -O2 would enable the optimization but the optimization only
> would be applied if some heuristic were met (e.g., flow graph edges, basic
> blocks, loops, etc.); an additional flag would remove the heuristic limit
> and always apply the optimization for that last bit of performance
> improvement.

The problem in this case is simple: an O(N^2) algorithm is used to compute
flow dominators instead of an available O(N) algorithm.  The fix is perhaps
not so simple; I don't feel competent to rewrite the code.  But certainly
no heuristic or clamp is necessary in this case.

Brad Lucier

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