mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-21 08:30:35 +08:00
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
This commit is contained in:
parent
0a96f3c694
commit
2a1a3cd51f
@ -1,3 +1,9 @@
|
||||
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>
|
||||
|
||||
* 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,
|
||||
operations as unsigned. If we must use the AND, we have a choice.
|
||||
Normally unsigned is faster, but for some machines signed is. */
|
||||
#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
|
||||
ops_unsigned = 1;
|
||||
#endif
|
||||
@ -6404,10 +6405,11 @@ fold (tree expr)
|
||||
&& ! VOID_TYPE_P (TREE_OPERAND (tem, 2))
|
||||
&& (TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 1), 0))
|
||||
== TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 2), 0)))
|
||||
&& ! (INTEGRAL_TYPE_P (TREE_TYPE (tem))
|
||||
&& (INTEGRAL_TYPE_P
|
||||
(TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 1), 0))))
|
||||
&& TYPE_PRECISION (TREE_TYPE (tem)) <= BITS_PER_WORD))
|
||||
&& (! (INTEGRAL_TYPE_P (TREE_TYPE (tem))
|
||||
&& (INTEGRAL_TYPE_P
|
||||
(TREE_TYPE (TREE_OPERAND (TREE_OPERAND (tem, 1), 0))))
|
||||
&& TYPE_PRECISION (TREE_TYPE (tem)) <= BITS_PER_WORD)
|
||||
|| flag_syntax_only))
|
||||
tem = build1 (code, type,
|
||||
build3 (COND_EXPR,
|
||||
TREE_TYPE (TREE_OPERAND
|
||||
@ -6614,6 +6616,7 @@ fold (tree expr)
|
||||
change = (cst == 0);
|
||||
#ifdef LOAD_EXTEND_OP
|
||||
if (change
|
||||
&& !flag_syntax_only
|
||||
&& (LOAD_EXTEND_OP (TYPE_MODE (TREE_TYPE (and0)))
|
||||
== ZERO_EXTEND))
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user