Revert this change:

* fold-const.c (fold): STRIP_NOPS when deciding whether or not
	something is a candidate for optimize_bit_field_compare.

From-SVN: r27318
This commit is contained in:
Mark Mitchell 1999-06-02 15:42:19 +00:00 committed by Mark Mitchell
parent 679dcddbfc
commit 9c922ec705
2 changed files with 16 additions and 14 deletions

View File

@ -1,3 +1,9 @@
Wed Jun 2 15:44:15 1999 Mark Mitchell <mark@codesourcery.com>
Revert this change:
* fold-const.c (fold): STRIP_NOPS when deciding whether or not
something is a candidate for optimize_bit_field_compare.
Wed Jun 2 21:53:05 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.

View File

@ -6034,20 +6034,16 @@ fold (expr)
}
/* If this is a comparison of a field, we may be able to simplify it. */
{
tree xarg0 = arg0;
STRIP_NOPS (xarg0);
if ((TREE_CODE (xarg0) == COMPONENT_REF
|| TREE_CODE (xarg0) == BIT_FIELD_REF)
&& (code == EQ_EXPR || code == NE_EXPR)
/* Handle the constant case even without -O
to make sure the warnings are given. */
&& (optimize || TREE_CODE (arg1) == INTEGER_CST))
{
t1 = optimize_bit_field_compare (code, type, xarg0, arg1);
return t1 ? t1 : t;
}
}
if ((TREE_CODE (arg0) == COMPONENT_REF
|| TREE_CODE (arg0) == BIT_FIELD_REF)
&& (code == EQ_EXPR || code == NE_EXPR)
/* Handle the constant case even without -O
to make sure the warnings are given. */
&& (optimize || TREE_CODE (arg1) == INTEGER_CST))
{
t1 = optimize_bit_field_compare (code, type, arg0, arg1);
return t1 ? t1 : t;
}
/* If this is a comparison of complex values and either or both sides
are a COMPLEX_EXPR or COMPLEX_CST, it is best to split up the