diff options
author | Jan Hubicka <jh@suse.cz> | 2008-05-02 13:08:22 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-05-02 11:08:22 +0000 |
commit | a12f79f5a86fd9eba90acc3d596e42caff53dc4c (patch) | |
tree | e9d4290b8905df7717b722efa1c56535d86eea80 /gcc/passes.c | |
parent | fa5b668e7e369b5c4394ffd7220aafe7b06ce7ca (diff) | |
download | gcc-a12f79f5a86fd9eba90acc3d596e42caff53dc4c.zip gcc-a12f79f5a86fd9eba90acc3d596e42caff53dc4c.tar.gz gcc-a12f79f5a86fd9eba90acc3d596e42caff53dc4c.tar.bz2 |
re PR tree-optimization/36100 (always_inline attribute is broken at -O0)
PR bootstrap/36100
* ipa-inline.c (inline_generate_summary): Make static.
(inline_transform): Do not call inlining at -O0; make static.
* passes.c (execute_todo): Add sanity check.
(execute_one_ipa_transform_pass): Execute proper flags.
From-SVN: r134885
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 196e5a7..0ca26fe 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -999,11 +999,15 @@ execute_todo (unsigned int flags) to analyze side effects. The full removal is done just at the end of IPA pass queue. */ if (flags & TODO_remove_functions) - cgraph_remove_unreachable_nodes (true, dump_file); + { + gcc_assert (!cfun); + cgraph_remove_unreachable_nodes (true, dump_file); + } if ((flags & TODO_dump_cgraph) && dump_file && !current_function_decl) { + gcc_assert (!cfun); dump_cgraph (dump_file); /* Flush the file. If verification fails, we won't be able to close the file before aborting. */ @@ -1162,7 +1166,7 @@ execute_one_ipa_transform_pass (struct cgraph_node *node, pass_init_dump_file (pass); /* Run pre-pass verification. */ - execute_todo (pass->todo_flags_start); + execute_todo (ipa_pass->function_transform_todo_flags_start); /* If a timevar is present, start it. */ if (pass->tv_id) |