From d406b663d0e9973eeb9211409fe35d70b973db34 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 9 Jul 2008 21:32:54 +0200 Subject: gimplify.c (struct gimplify_ctx): Move to tree-gimple.h. * gimplify.c (struct gimplify_ctx): Move to tree-gimple.h. (push_gimplify_context): Don't allocate temp_htab nor c itself here. Add c argument. (pop_gimplify_context): Check c->temp_htab instead of optimize whether htab_delete should be called. Don't free c. (lookup_tmp_var): Create temp_htab lazily. (gimplify_scan_omp_clauses, gimplify_omp_parallel, gimplify_omp_task, gimplify_body, force_gimple_operand): Adjust push_gimplify_context callers. * 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, execute_lower_omp): * tree-ssa-ccp.c (convert_to_gimple_builtin): Likewise. * tree-sra.c (generate_element_init): Likewise. * tree-mudflap.c (execute_mudflap_function_ops, execute_mudflap_function_decls): Likewise. * tree-inline.c (setup_one_parameter, optimize_inline_calls): Likewise. * tree-gimple.h (struct gimplify_ctx): New type. (push_gimplify_context): Adjust prototype. From-SVN: r137666 --- gcc/tree-inline.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gcc/tree-inline.c') diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 0f1a8bd..c0f4c88 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1590,8 +1590,9 @@ setup_one_parameter (copy_body_data *id, tree p, tree value, tree fn, || !is_gimple_reg (var)) { tree_stmt_iterator i; + struct gimplify_ctx gctx; - push_gimplify_context (); + push_gimplify_context (&gctx); gimplify_stmt (&init_stmt); if (gimple_in_ssa_p (cfun) && init_stmt && TREE_CODE (init_stmt) == STATEMENT_LIST) @@ -2986,6 +2987,8 @@ optimize_inline_calls (tree fn) tree prev_fn; basic_block bb; int last = n_basic_blocks; + struct gimplify_ctx gctx; + /* There is no point in performing inlining if errors have already occurred -- and we might crash if we try to inline invalid code. */ @@ -3012,7 +3015,7 @@ optimize_inline_calls (tree fn) id.transform_lang_insert_block = NULL; id.statements_to_fold = pointer_set_create (); - push_gimplify_context (); + push_gimplify_context (&gctx); /* We make no attempts to keep dominance info up-to-date. */ free_dominance_info (CDI_DOMINATORS); -- cgit v1.1