tree-core.h (struct tree_optimization_option): Make opts a pointer to struct cl_optimization.
2015-06-25 Andrew MacLeod <amacleod@redhat.com> * tree-core.h (struct tree_optimization_option): Make opts a pointer to struct cl_optimization. * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it. * tree.c (make_node_stat): Allocate cl_optimization struct. (copy_node_stat): Allocate and copy cl_optimization struct. From-SVN: r224952
This commit is contained in:
parent
16a16ec7db
commit
fbf196a256
|
@ -1,3 +1,11 @@
|
|||
2015-06-25 Andrew MacLeod <amacleod@redhat.com>
|
||||
|
||||
* tree-core.h (struct tree_optimization_option): Make opts a pointer to
|
||||
struct cl_optimization.
|
||||
* tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
|
||||
* tree.c (make_node_stat): Allocate cl_optimization struct.
|
||||
(copy_node_stat): Allocate and copy cl_optimization struct.
|
||||
|
||||
2015-06-25 Andrew MacLeod <amacleod@redhat.com>
|
||||
|
||||
* function.h (struct incoming_args): Move struct.
|
||||
|
|
|
@ -1652,7 +1652,7 @@ struct GTY(()) tree_optimization_option {
|
|||
struct tree_common common;
|
||||
|
||||
/* The optimization options used by the user. */
|
||||
struct cl_optimization opts;
|
||||
struct cl_optimization *opts;
|
||||
|
||||
/* Target optabs for this set of optimization options. This is of
|
||||
type `struct target_optabs *'. */
|
||||
|
|
23
gcc/tree.c
23
gcc/tree.c
|
@ -1095,9 +1095,20 @@ make_node_stat (enum tree_code code MEM_STAT_DECL)
|
|||
break;
|
||||
|
||||
case tcc_exceptional:
|
||||
if (code == TARGET_OPTION_NODE)
|
||||
{
|
||||
TREE_TARGET_OPTION(t) = ggc_cleared_alloc<struct cl_target_option> ();
|
||||
switch (code)
|
||||
{
|
||||
case TARGET_OPTION_NODE:
|
||||
TREE_TARGET_OPTION(t)
|
||||
= ggc_cleared_alloc<struct cl_target_option> ();
|
||||
break;
|
||||
|
||||
case OPTIMIZATION_NODE:
|
||||
TREE_OPTIMIZATION (t)
|
||||
= ggc_cleared_alloc<struct cl_optimization> ();
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1188,6 +1199,12 @@ copy_node_stat (tree node MEM_STAT_DECL)
|
|||
memcpy (TREE_TARGET_OPTION (t), TREE_TARGET_OPTION (node),
|
||||
sizeof (struct cl_target_option));
|
||||
}
|
||||
else if (code == OPTIMIZATION_NODE)
|
||||
{
|
||||
TREE_OPTIMIZATION (t) = ggc_alloc<struct cl_optimization>();
|
||||
memcpy (TREE_OPTIMIZATION (t), TREE_OPTIMIZATION (node),
|
||||
sizeof (struct cl_optimization));
|
||||
}
|
||||
|
||||
return t;
|
||||
}
|
||||
|
|
|
@ -2827,7 +2827,7 @@ extern vec<tree, va_gc> **decl_debug_args_insert (tree);
|
|||
(STATEMENT_LIST_CHECK (NODE)->stmt_list.tail)
|
||||
|
||||
#define TREE_OPTIMIZATION(NODE) \
|
||||
(&OPTIMIZATION_NODE_CHECK (NODE)->optimization.opts)
|
||||
(OPTIMIZATION_NODE_CHECK (NODE)->optimization.opts)
|
||||
|
||||
#define TREE_OPTIMIZATION_OPTABS(NODE) \
|
||||
(OPTIMIZATION_NODE_CHECK (NODE)->optimization.optabs)
|
||||
|
|
Loading…
Reference in New Issue