On Fri, 2 Feb 2007, Paolo Bonzini wrote:
> I'd be curious to know the effect of removing the "complexity" field of
> struct tree_exp. It should be possible to bootstrap C/C++/Java/Fortran
> with a two line patch removing the field from tree.h, and the only
> reference to it in tree.c (via the macro TREE_COMPLEXITY).
You mean, like the patch below?
Doesn't work:
trunk/gcc/cp/pt.c: In function 'tsubst_expr':
trunk/gcc/cp/pt.c:8924: error: 'struct tree_exp' has no member named
'complexity'
Gerald
Index: tree.c
===================================================================
--- tree.c (revision 121482)
+++ tree.c (working copy)
@@ -2931,7 +2931,6 @@
#else
SET_EXPR_LOCUS (t, NULL);
#endif
- TREE_COMPLEXITY (t) = 0;
TREE_OPERAND (t, 0) = node;
TREE_BLOCK (t) = NULL_TREE;
if (node && !TYPE_P (node))
Index: tree.h
===================================================================
--- tree.h (revision 121482)
+++ tree.h (working copy)
@@ -1498,7 +1498,6 @@
/* In ordinary expression nodes. */
#define TREE_OPERAND(NODE, I) TREE_OPERAND_CHECK (NODE, I)
-#define TREE_COMPLEXITY(NODE) (EXPR_CHECK (NODE)->exp.complexity)
/* In gimple statements. */
#define GIMPLE_STMT_OPERAND(NODE, I) GIMPLE_STMT_OPERAND_CHECK (NODE, I)
@@ -1724,7 +1723,6 @@
{
struct tree_common common;
source_locus locus;
- int complexity;
tree block;
tree GTY ((special ("tree_exp"),
desc ("TREE_CODE ((tree) &%0)")))