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