On 02/04/2014 09:35 AM, Jan Hubicka wrote: >> On 02/04/2014 08:48 AM, Jan Hubicka wrote: >>> How things are supposed to work in this case? So perhaps we need scheduler >>> to >>> understand and move around the ARGS_SIZE note? >> >> I believe we do need to have the scheduler move the notes around. > > If we need notes on non-stack adjusting insns as you seem to show in your > testcase, > I guess it is the only way around. Still combine stack adjust may be smart > enough > to not produce redundant note in the case of go's ICE. > > I am not terribly familiar with the code, will you look into it or shall I > give it a try?
I had a brief look at find_modifiable_mems, which seems to be the only kind of schedule-time dependency breaking that we do. I started writing some new code that would handle REG_ARGS_SIZE, but then considered that wasn't terribly appropriate for stage4. So I've left off with just the dependency links between the insns. We'd need these for the schedule-time adjustments anyway, and with them in place the scheduler does not re-order the insns in a way that causes problems. Testing for x86_64 has finished; i686 is nearly done. I suppose the only question I have is if anyone disagrees that OUTPUT is incorrect as the dependency type. r~