PATCH: sjlj exceptions
Jeffrey A Law
Tue Dec 5 18:52:00 GMT 2000
In message <200010272021.QAA08569@hiauly1.hia.nrc.ca>you write:
> This patch resolves to some extent the problems noted in these two postings
> < http://gcc.gnu.org/ml/gcc-bugs/2000-08/msg00687.html > and
> < http://gcc.gnu.org/ml/gcc-bugs/2000-10/msg00083.html >. My investigation
> revealed that the problem is only present when sjlj exceptions are used.
> The memory expansion occured in the gcse pass and was a result of the
> large number of edges present in functions using sjlj exceptions.
I believe if you look at Richard's recent changes to the SJLJ exception
handling code you'll find that we now build a better CFG (specifically we
don't have nearly as many useless edges).
For a testcase I'm dealing with right now it's drastically reduced both the
memory requirements and compile times. To give you some idea, the test
takes > 40 minutes to compile without the patch and > 200M of memory
(I didn't bother waiting for it to complete, so I have no idea how long
it would take to finish or whether or not the peak memory usage would
increase). After Richard's patch we're on the order of 7 minutes and
100M of memory.
There is one bug introduced by Richard's patch that I'll post a fix for
More information about the Gcc-bugs