How to disable sibcall optimization?
Jan Hubicka
hubicka@atrey.karlin.mff.cuni.cz
Fri Mar 24 14:20:00 GMT 2000
> Eh? We've crossed wires. I said there was no reason we didn't
> have the switch, which means that there's no reason not to add one.
> Feel free to generate a patch. ;-)
Heh :) OK
I will probably do that.
>
> > The slowdowns caused by latest snapshot are quite notable (at least
> > on Athlon/spec2000 approx 15%)
>
> Yowza. I wonder if simply removing the cleanup_cfg call
> from optimize_sibling_and_tail_recursive_calls is enough
> to fix things.
I didn't tested (and the machine is now about 70Km away turned off)
at friday I didn't understand the code enought to realize that disabling
may be so easy.
I've found some occurences of following constrcucts:
condjump label1
jmp label2
label1:
<some code>
label2:
And similar. It seems to me that flowgraph construction adds some notes
between the labels that makes imposible for jump1 to optimize even
such trivial examples. I am just trying to download the sources
here and continue in looking for real purpose.
But this don't seems to be only purpose for those slowdowns.
Another one was the partial register stall introduced by my propagation
patch (this is not problem for Athlon), I have fix for this pending.
Honza
>
>
> r~
More information about the Gcc
mailing list