diff options
author | Jan Hubicka <jh@suse.cz> | 2008-09-03 20:16:26 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-09-03 18:16:26 +0000 |
commit | 39ecc018798bc85d22bfc3c3155986ab5b35f5ac (patch) | |
tree | 2ec6cd14c2fd416d7473c8942ba129ded5f4824b /gcc/tree-cfg.c | |
parent | cafea0e43647f764861b625232460c584fe11086 (diff) | |
download | gcc-39ecc018798bc85d22bfc3c3155986ab5b35f5ac.zip gcc-39ecc018798bc85d22bfc3c3155986ab5b35f5ac.tar.gz gcc-39ecc018798bc85d22bfc3c3155986ab5b35f5ac.tar.bz2 |
re PR tree-optimization/37315 (gcc.c-torture/execute/931018-1.c int-compare.c ieee/inf-2.c mzero6.c)
PR tree-optimization/37315
* cgraph.c (cgraph_create_edge): Use gimple_has_body_p.
* cgraphunit.c (verify_cgraph_node): drop gimple_body check.
(cgraph_analyze_functions): Use node->analyzed
(cgraph_mark_functions_to_output): Likewise.
(cgraph_expand_function): All functions can be released after
expanding.
(cgraph_optimize): Use gimple_has_body_p.
* ipa-inline.c (cgraph_clone_inlined_nodes): Use analyzed flag.
(cgraph_decide_inlining_incrementally): Likewise.
(inline_transform): Inline transform.
* tree-inline.c (initialize_cfun): Do now shallow copy structure;
copy fields needed.
(inlinable_function_p): Drop gimple_body check.
(expand_call_inline): Use gimple_has_body_p.
* gimple.c (gimple_has_body_p): New.
* gimple.h (gimple_has_body_p): Add prototype.
* tree-cfg.c (execute_build_cfg): Remove gimple_body.
(dump_function_to_file): Use gimple_has_body_p check.
From-SVN: r139945
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 6bd8a06..ce0649d 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -217,7 +217,10 @@ build_gimple_cfg (gimple_seq seq) static unsigned int execute_build_cfg (void) { - build_gimple_cfg (gimple_body (current_function_decl)); + gimple_seq body = gimple_body (current_function_decl); + + build_gimple_cfg (body); + gimple_set_body (current_function_decl, NULL); return 0; } @@ -5898,7 +5901,7 @@ dump_function_to_file (tree fn, FILE *file, int flags) if (dsf && (flags & TDF_DETAILS)) dump_eh_tree (file, dsf); - if (flags & TDF_RAW && !gimple_body (fn)) + if (flags & TDF_RAW && !gimple_has_body_p (fn)) { dump_node (fn, TDF_SLIM | flags, file); return; |