On Sat, 2013-06-15 at 00:06 +0200, Eric Botcazou wrote: > > The part of the scheduling change that I am interested in is the change in > > where the addiu instruction occurs and the related changes from the positive > > offsets to the negative offsets. Can anyone tell me where the code that > > decides to do that is? Extra bonus points for any answer not including the > > word 'reload'. > > Very likely in sched-deps.c:find_modifiable_mems and related functions.
That looks like the right place. It seems to be triggered by the DONT_BREAK_DEPENDENCIES flag in the haifa scheduler. As an experiment, I added DONT_BREAK_DEPENDENCIES to the scheduling flags and it no longer did that transformation. Thanks. Steve Ellcey sell...@mips.com