Haifa problems

Jakub Jelinek jakub@redhat.com
Thu Oct 12 13:15:00 GMT 2000


Hi!

schedule2 does not behave very well on huge functions.
E.g. 
void foo(int a);
void kill_haifa(void)
{
  foo(26);
... repeated 10000 times
  foo(26);
}

(cut down example from some stupid OpenGL application), because it adds
REG_DEP_ANTI in every call to all argument pushes above it so reg notes
are getting huge. gcc quickly eats all my memory and crashes because of
that. The notes are added in add_dependency called indirectly from
sched_analyze from compute_block_backward_dependences.
Wouldn't it be better to have certain treshold beyond which gcc would stop
adding these notes and just stop doing some optimizations?
At least egcs 1.1.2 had no problems with these lame functions.

	Jakub


More information about the Gcc mailing list