Repost: RFA: re-instate struct_equiv code

Joern RENNECKE joern.rennecke@st.com
Mon Jan 30 18:38:00 GMT 2006


Bernd Schmidt wrote:

>  If regset comparisons in struct-equiv are only sanity checks, they 
> should be under #ifdef ENABLE_CHECKING.

Maybe I should have been more precise.
In the latest patch, for tablejumps and other multi-edge comparisons, 
the regset comparison is done as part of matching the nodes.  Although 
we should never match nodes incorrectly if we leave this test out, we 
could end up with inconsistent information while we compare the two 
blocks, and it could be difficult to prove that we won't ICE because of 
that.  Moreover, the regset comparision should be comparitatively cheap 
and can help prevent incurring higher costs when finding the mismatch 
much later.

The sanity-check only regset comparisons are now in an gcc_assert, i.e. 
they won't be executed when checking is not enabled.



More information about the Gcc-patches mailing list