From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Hubicka To: Richard Henderson Cc: egcs@egcs.cygnus.com Subject: Re: How to disable sibcall optimization? Date: Fri, 24 Mar 2000 14:20:00 -0000 Message-id: <20000324232045.A6465@atrey.karlin.mff.cuni.cz> References: <20000322121213.C8072@atrey.karlin.mff.cuni.cz> <20000324015740.A19110@cygnus.com> <20000324160046.B11160@atrey.karlin.mff.cuni.cz> <20000324113420.E19711@cygnus.com> X-SW-Source: 2000-03/msg00658.html > 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: 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~