This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa]: Work on making SSAPRE bootstrap



On Monday, March 3, 2003, at 06:34 PM, Pop Sébastian wrote:


On Mon, Mar 03, 2003 at 03:21:43PM -0500, Daniel Berlin wrote:
Sigh.
SSAPRE can be aggravating sometimes. The papers are buggy and missing
bits of info in some cases, and Open64 (a reference implementation) is
completely different than the papers (though i've implemented pieces of
it for comparison while bugfixing, as it's sometimes the only way to find
a bug). Did I mention their SSAPRE implementation is also roughly 14000
lines of incredibly object oriented C++?

I have browsed Open64's SSAPRE last summer and indeed it is a complex piece
of code.
I wonder how they verified the rightness of this code...

They have a testsuite that isn't public, i would assume it tests various cases.
I actually have a testsuite of 10 pre (in increasing complexity), 10 strength reduction, and 10 load pre cases that i use. But I hand verify results, since the best i could do reasonably (for example, the temp ids/ssa version numbers and labels and whatnot can change between compilations, so i can't rely on resulting code compares) is compare the results of the dataflow computations, which almost never are broken (Most bugs occur in either rename or finalizing).

A general question is do they used a good testsuite, or do they had another technique for verifying complex optimizations?

No clue if they use anything else, however.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]