Commit 497be978 by Richard Henderson Committed by Richard Henderson

tree.def (REALPART_EXPR, [...]): Change class to 'r'.

        * tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'.
        * fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR,
        IMAGPART_EXPR.
        * tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and
        IMAGPART_EXPR explicitly.
        * tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR
        and IMAGPART_EXPR specially.
        * tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'.

From-SVN: r83825
parent 4aaf65cb
2004-06-28 Richard Henderson <rth@redhat.com>
* tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'.
* fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR,
IMAGPART_EXPR.
* tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and
IMAGPART_EXPR explicitly.
* tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR
and IMAGPART_EXPR specially.
* tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'.
2004-06-28 J"orn Rennecke <joern.rennecke@superh.com> 2004-06-28 J"orn Rennecke <joern.rennecke@superh.com>
* config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs. * config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs.
......
...@@ -2479,6 +2479,8 @@ operand_equal_p (tree arg0, tree arg1, unsigned int flags) ...@@ -2479,6 +2479,8 @@ operand_equal_p (tree arg0, tree arg1, unsigned int flags)
switch (TREE_CODE (arg0)) switch (TREE_CODE (arg0))
{ {
case INDIRECT_REF: case INDIRECT_REF:
case REALPART_EXPR:
case IMAGPART_EXPR:
return operand_equal_p (TREE_OPERAND (arg0, 0), return operand_equal_p (TREE_OPERAND (arg0, 0),
TREE_OPERAND (arg1, 0), flags); TREE_OPERAND (arg1, 0), flags);
......
...@@ -528,6 +528,8 @@ dequeue_and_dump (dump_info_p di) ...@@ -528,6 +528,8 @@ dequeue_and_dump (dump_info_p di)
case INDIRECT_REF: case INDIRECT_REF:
case CLEANUP_POINT_EXPR: case CLEANUP_POINT_EXPR:
case SAVE_EXPR: case SAVE_EXPR:
case REALPART_EXPR:
case IMAGPART_EXPR:
/* These nodes are unary, but do not have code class `1'. */ /* These nodes are unary, but do not have code class `1'. */
dump_child ("op 0", TREE_OPERAND (t, 0)); dump_child ("op 0", TREE_OPERAND (t, 0));
break; break;
......
...@@ -1220,8 +1220,6 @@ estimate_num_insns_1 (tree *tp, int *walk_subtrees, void *data) ...@@ -1220,8 +1220,6 @@ estimate_num_insns_1 (tree *tp, int *walk_subtrees, void *data)
case ADDR_EXPR: case ADDR_EXPR:
case REFERENCE_EXPR: case REFERENCE_EXPR:
case COMPLEX_EXPR: case COMPLEX_EXPR:
case REALPART_EXPR:
case IMAGPART_EXPR:
case EXIT_BLOCK_EXPR: case EXIT_BLOCK_EXPR:
case CASE_LABEL_EXPR: case CASE_LABEL_EXPR:
case SSA_NAME: case SSA_NAME:
......
...@@ -2483,6 +2483,8 @@ build1_stat (enum tree_code code, tree type, tree node MEM_STAT_DECL) ...@@ -2483,6 +2483,8 @@ build1_stat (enum tree_code code, tree type, tree node MEM_STAT_DECL)
TREE_CONSTANT (t) = 1; TREE_CONSTANT (t) = 1;
if (TREE_CODE_CLASS (code) == '1' && node && TREE_INVARIANT (node)) if (TREE_CODE_CLASS (code) == '1' && node && TREE_INVARIANT (node))
TREE_INVARIANT (t) = 1; TREE_INVARIANT (t) = 1;
if (TREE_CODE_CLASS (code) == 'r' && node && TREE_THIS_VOLATILE (node))
TREE_THIS_VOLATILE (t) = 1;
break; break;
} }
......
...@@ -776,8 +776,8 @@ DEFTREECODE (CONJ_EXPR, "conj_expr", '1', 1) ...@@ -776,8 +776,8 @@ DEFTREECODE (CONJ_EXPR, "conj_expr", '1', 1)
/* Used only on an operand of complex type, these return /* Used only on an operand of complex type, these return
a value of the corresponding component type. */ a value of the corresponding component type. */
DEFTREECODE (REALPART_EXPR, "realpart_expr", '1', 1) DEFTREECODE (REALPART_EXPR, "realpart_expr", 'r', 1)
DEFTREECODE (IMAGPART_EXPR, "imagpart_expr", '1', 1) DEFTREECODE (IMAGPART_EXPR, "imagpart_expr", 'r', 1)
/* Nodes for ++ and -- in C. /* Nodes for ++ and -- in C.
The second arg is how much to increment or decrement by. The second arg is how much to increment or decrement by.
......
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