diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2013-11-21 00:06:23 +0000 |
---|---|---|
committer | Andrew Macleod <amacleod@gcc.gnu.org> | 2013-11-21 00:06:23 +0000 |
commit | 45852dcc91142eb73dc2b12ca939cce842d37daf (patch) | |
tree | 81dc78fd50ade92c05f83300f4d84fc625f8d50d /gcc/omp-low.c | |
parent | 41fd66597107279af9794ef7570c0fcca80e8348 (diff) | |
download | gcc-45852dcc91142eb73dc2b12ca939cce842d37daf.zip gcc-45852dcc91142eb73dc2b12ca939cce842d37daf.tar.gz gcc-45852dcc91142eb73dc2b12ca939cce842d37daf.tar.bz2 |
gimplify.h (gimplify_hasher : typed_free_remove, [...]): Move to gimplify.c.
* gimplify.h (gimplify_hasher : typed_free_remove, struct gimplify_ctx):
Move to gimplify.c.
(free_gimplify_stack): Add prototype.
* gimplify.c (gimplify_hasher:typed_free_remove): Relocate here.
(struct gimplify_ctx): Relocate here.
(gimplify_ctxp): Make static.
(ctx_pool, ctx_alloc, ctx_free, free_gimplify_stack): New. Manage a
list of struct gimplify_ctx.
(push_gimplify_context): Add default parameters and allocate a struct
from the pool.
(pop_gimplify_context): Free a struct back to the pool.
(gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task,
gimplify_omp_workshare, gimplify_transaction, gimplify_body): Don't
use a local 'struct gimplify_ctx'.
* cgraphunit.c (expand_all_functions): call free_gimplify_stack.
* gimplify-me.c (force_gimple_operand_1, gimple_regimplify_operands):
Likewise.
* omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
lower_omp_ordered, lower_omp_critical, lower_omp_for,
create_task_copyfn, lower_omp_taskreg, lower_omp_target,
lower_omp_teams, execute_lower_omp): Likewise.
* gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.
* tree-inline.c (optimize_inline_calls): Likewise.
From-SVN: r205168
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r-- | gcc/omp-low.c | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 5d7e504..6722155 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -8351,11 +8351,10 @@ lower_omp_sections (gimple_stmt_iterator *gsi_p, omp_context *ctx) gimple_stmt_iterator tgsi; gimple stmt, new_stmt, bind, t; gimple_seq ilist, dlist, olist, new_body; - struct gimplify_ctx gctx; stmt = gsi_stmt (*gsi_p); - push_gimplify_context (&gctx); + push_gimplify_context (); dlist = NULL; ilist = NULL; @@ -8561,9 +8560,8 @@ lower_omp_single (gimple_stmt_iterator *gsi_p, omp_context *ctx) tree block; gimple t, bind, single_stmt = gsi_stmt (*gsi_p); gimple_seq bind_body, bind_body_tail = NULL, dlist; - struct gimplify_ctx gctx; - push_gimplify_context (&gctx); + push_gimplify_context (); block = make_node (BLOCK); bind = gimple_build_bind (NULL, NULL, block); @@ -8621,9 +8619,8 @@ lower_omp_master (gimple_stmt_iterator *gsi_p, omp_context *ctx) gimple stmt = gsi_stmt (*gsi_p), bind; location_t loc = gimple_location (stmt); gimple_seq tseq; - struct gimplify_ctx gctx; - push_gimplify_context (&gctx); + push_gimplify_context (); block = make_node (BLOCK); bind = gimple_build_bind (NULL, NULL, block); @@ -8688,9 +8685,8 @@ lower_omp_ordered (gimple_stmt_iterator *gsi_p, omp_context *ctx) { tree block; gimple stmt = gsi_stmt (*gsi_p), bind, x; - struct gimplify_ctx gctx; - push_gimplify_context (&gctx); + push_gimplify_context (); block = make_node (BLOCK); bind = gimple_build_bind (NULL, NULL, block); @@ -8734,7 +8730,6 @@ lower_omp_critical (gimple_stmt_iterator *gsi_p, omp_context *ctx) gimple stmt = gsi_stmt (*gsi_p), bind; location_t loc = gimple_location (stmt); gimple_seq tbody; - struct gimplify_ctx gctx; name = gimple_omp_critical_name (stmt); if (name) @@ -8787,7 +8782,7 @@ lower_omp_critical (gimple_stmt_iterator *gsi_p, omp_context *ctx) unlock = build_call_expr_loc (loc, unlock, 0); } - push_gimplify_context (&gctx); + push_gimplify_context (); block = make_node (BLOCK); bind = gimple_build_bind (NULL, NULL, block); @@ -8877,9 +8872,8 @@ lower_omp_for (gimple_stmt_iterator *gsi_p, omp_context *ctx) gimple stmt = gsi_stmt (*gsi_p), new_stmt; gimple_seq omp_for_body, body, dlist; size_t i; - struct gimplify_ctx gctx; - push_gimplify_context (&gctx); + push_gimplify_context (); lower_omp (gimple_omp_for_pre_body_ptr (stmt), ctx); @@ -9094,7 +9088,6 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx) bool record_needs_remap = false, srecord_needs_remap = false; splay_tree_node n; struct omp_taskcopy_context tcctx; - struct gimplify_ctx gctx; location_t loc = gimple_location (task_stmt); child_fn = gimple_omp_task_copy_fn (task_stmt); @@ -9107,7 +9100,7 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx) DECL_CONTEXT (t) = child_fn; /* Populate the function. */ - push_gimplify_context (&gctx); + push_gimplify_context (); push_cfun (child_cfun); bind = build3 (BIND_EXPR, void_type_node, NULL, NULL, NULL); @@ -9387,7 +9380,6 @@ lower_omp_taskreg (gimple_stmt_iterator *gsi_p, omp_context *ctx) gimple stmt = gsi_stmt (*gsi_p); gimple par_bind, bind, dep_bind = NULL; gimple_seq par_body, olist, ilist, par_olist, par_rlist, par_ilist, new_body; - struct gimplify_ctx gctx, dep_gctx; location_t loc = gimple_location (stmt); clauses = gimple_omp_taskreg_clauses (stmt); @@ -9412,7 +9404,7 @@ lower_omp_taskreg (gimple_stmt_iterator *gsi_p, omp_context *ctx) if (gimple_code (stmt) == GIMPLE_OMP_TASK && find_omp_clause (clauses, OMP_CLAUSE_DEPEND)) { - push_gimplify_context (&dep_gctx); + push_gimplify_context (); dep_bind = gimple_build_bind (NULL, NULL, make_node (BLOCK)); lower_depend_clauses (stmt, &dep_ilist, &dep_olist); } @@ -9420,7 +9412,7 @@ lower_omp_taskreg (gimple_stmt_iterator *gsi_p, omp_context *ctx) if (ctx->srecord_type) create_task_copyfn (stmt, ctx); - push_gimplify_context (&gctx); + push_gimplify_context (); par_olist = NULL; par_ilist = NULL; @@ -9510,7 +9502,6 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx) gimple stmt = gsi_stmt (*gsi_p); gimple tgt_bind = NULL, bind; gimple_seq tgt_body = NULL, olist, ilist, new_body; - struct gimplify_ctx gctx; location_t loc = gimple_location (stmt); int kind = gimple_omp_target_kind (stmt); unsigned int map_cnt = 0; @@ -9525,7 +9516,7 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx) tgt_body = gimple_omp_body (stmt); child_fn = ctx->cb.dst_fn; - push_gimplify_context (&gctx); + push_gimplify_context (); for (c = clauses; c ; c = OMP_CLAUSE_CHAIN (c)) switch (OMP_CLAUSE_CODE (c)) @@ -9811,8 +9802,7 @@ static void lower_omp_teams (gimple_stmt_iterator *gsi_p, omp_context *ctx) { gimple teams_stmt = gsi_stmt (*gsi_p); - struct gimplify_ctx gctx; - push_gimplify_context (&gctx); + push_gimplify_context (); tree block = make_node (BLOCK); gimple bind = gimple_build_bind (NULL, NULL, block); @@ -10105,10 +10095,8 @@ execute_lower_omp (void) if (all_contexts->root) { - struct gimplify_ctx gctx; - if (task_shared_vars) - push_gimplify_context (&gctx); + push_gimplify_context (); lower_omp (&body, NULL); if (task_shared_vars) pop_gimplify_context (NULL); |