[Bug tree-optimization/19794] [meta-bug] Jump threading related bugs

law at redhat dot com gcc-bugzilla@gcc.gnu.org
Fri Apr 8 18:19:00 GMT 2005


------- Additional Comments From law at redhat dot com  2005-04-08 18:19 -------
OK. I'm pretty sure the perl improvements are really just an artifact of
changes in what objects get spilled onto the stack on the offsets of each
particular object.

I can with a small amount of work twiddle register allocation (and thus
spilling behavior) in such a way as to make perl built without the threading
changes run significantly faster than perl built with the threading changes.
[ Which is the exact opposite of the runtime behavior if we do not twiddle
  the register allocation priorities. ]

While it's certainly not proof, I'm confident that the reason performance is
swinging back and forth is due to cache effects in the stack, particuliarly
for spill slots in one critical function.  Anything which changes which objects
are spilled on the stack, or the offsets of those objects on the stack is
likely to cause wild swings in performance, at least on P4s.

The net result is, IMHO, we should ignore Perl's results when benchmarking
the new threading changes on P4s, and possibly other platforms.  This may
also hold true when benchmarking other changes which could potentially affect
register allocation (which, of course, is just about everything).

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19794



More information about the Gcc-bugs mailing list