aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-optimize.c
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2003-10-05 19:25:45 +0000
committerZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2003-10-05 19:25:45 +0000
commit5d257a9fb0630280c9641ba8d7483bd14abee86b (patch)
treeebc3b32c994e64c1e08654a14590a1c5f591767e /gcc/tree-optimize.c
parent0ba2d01f63f0cb3a15f5cc2e7e32b948ba3f8b2d (diff)
* gimple-low.c: New.
* Makefile.in (gimple-low.o): Add. * cfglayout.c (insn_locators_initialize): Use new scoping info. * expr.c (expand_expr): Record scope changes. * function.c (blocks_nreverse): Export. (uninitialized_vars_warning): Use DECL_RTL_SET_P instead of DECL_RTL. (reset_block_changes, record_block_change, record_block_change, check_block_change, free_block_changes): New. * function.h (struct function): New fields dont_emit_block_notes and ib_boundaries_block. (blocks_nreverse, reset_block_changes, record_block_change, finalize_block_changes, check_block_change, free_block_changes): Declare. * sibcall.c (optimize_sibling_and_tail_recursive_call): Don't call reorder_blocks if cfun->dont_emit_block_notes. * stmt.c (expand_start_bindings_and_block, expand_end_bindings): Don't emit block notes if cfun->dont_emit_block_notes. * toplev.c (rest_of_compilation): Don't call reorder_blocks if cfun->dont_emit_block_notes. * tree-flow.h (lower_function_body): Declare. * tree-optimize.c (optimize_function_tree): Call lower_function_body. * tree.c (build1): Initialize TREE_BLOCK. * tree.h (TREE_BLOCK): New macro. (struct tree_exp): Add block field. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/tree-ssa-cfg-branch@72117 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r--gcc/tree-optimize.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c
index 65954234a5a..e0a49fc4319 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -61,8 +61,13 @@ optimize_function_tree (tree fndecl)
if (errorcount || sorrycount)
return;
+ lower_function_body (&DECL_SAVED_TREE (fndecl));
fnbody = DECL_SAVED_TREE (fndecl);
+ /* Avoid producing notes for blocks. */
+ cfun->dont_emit_block_notes = 1;
+ reset_block_changes ();
+
/* Flatten the trees. */
head.prev = head.next = NULL;
last = &head;