Commit 2a1a3cd5 by Jakub Jelinek Committed by Jakub Jelinek

fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend LOAD_EXTEND_OP is not defined.

	* fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
	LOAD_EXTEND_OP is not defined.
	(fold): Likewise.  If flag_syntax_only, don't depend on BITS_PER_WORD.

From-SVN: r92150
parent 0a96f3c6
2004-12-14 Jakub Jelinek <jakub@redhat.com>
* fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
LOAD_EXTEND_OP is not defined.
(fold): Likewise. If flag_syntax_only, don't depend on BITS_PER_WORD.
2004-12-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> 2004-12-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
* tree.def, doc/c-tree.texi: Correctly document restrictions on the * tree.def, doc/c-tree.texi: Correctly document restrictions on the
......
...@@ -5876,7 +5876,8 @@ fold_single_bit_test (enum tree_code code, tree arg0, tree arg1, ...@@ -5876,7 +5876,8 @@ fold_single_bit_test (enum tree_code code, tree arg0, tree arg1,
operations as unsigned. If we must use the AND, we have a choice. operations as unsigned. If we must use the AND, we have a choice.
Normally unsigned is faster, but for some machines signed is. */ Normally unsigned is faster, but for some machines signed is. */
#ifdef LOAD_EXTEND_OP #ifdef LOAD_EXTEND_OP
ops_unsigned = (LOAD_EXTEND_OP (operand_mode) == SIGN_EXTEND ? 0 : 1); ops_unsigned = (LOAD_EXTEND_OP (operand_mode) == SIGN_EXTEND
&& !flag_syntax_only) ? 0 : 1;
#else #else
ops_unsigned = 1; ops_unsigned = 1;
#endif #endif
...@@ -6404,10 +6405,11 @@ fold (tree expr) ...@@ -6404,10 +6405,11 @@ fold (tree expr)
&& ! VOID_TYPE_P (TREE_OPERAND (tem, 2)) && ! VOID_TYPE_P (TREE_OPERAND (tem, 2))
&& (TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 1), 0)) && (TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 1), 0))
== TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 2), 0))) == TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 2), 0)))
&& ! (INTEGRAL_TYPE_P (TREE_TYPE (tem)) && (! (INTEGRAL_TYPE_P (TREE_TYPE (tem))
&& (INTEGRAL_TYPE_P && (INTEGRAL_TYPE_P
(TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 1), 0)))) (TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 1), 0))))
&& TYPE_PRECISION (TREE_TYPE (tem)) <= BITS_PER_WORD)) && TYPE_PRECISION (TREE_TYPE (tem)) <= BITS_PER_WORD)
|| flag_syntax_only))
tem = build1 (code, type, tem = build1 (code, type,
build3 (COND_EXPR, build3 (COND_EXPR,
TREE_TYPE (TREE_OPERAND TREE_TYPE (TREE_OPERAND
...@@ -6614,6 +6616,7 @@ fold (tree expr) ...@@ -6614,6 +6616,7 @@ fold (tree expr)
change = (cst == 0); change = (cst == 0);
#ifdef LOAD_EXTEND_OP #ifdef LOAD_EXTEND_OP
if (change if (change
&& !flag_syntax_only
&& (LOAD_EXTEND_OP (TYPE_MODE (TREE_TYPE (and0))) && (LOAD_EXTEND_OP (TYPE_MODE (TREE_TYPE (and0)))
== ZERO_EXTEND)) == ZERO_EXTEND))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment