aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2000-03-03 19:48:46 -0500
committerJason Merrill <jason@gcc.gnu.org>2000-03-03 19:48:46 -0500
commitfcd7f76b289ddadbb67057154547d570b94f2b23 (patch)
tree29b58916ce9e193f2b31a39bfb2eb5cdae4dfcef /gcc/final.c
parent6db201439a6635a374ec572561d961c9cf734ee2 (diff)
downloadgcc-fcd7f76b289ddadbb67057154547d570b94f2b23.zip
gcc-fcd7f76b289ddadbb67057154547d570b94f2b23.tar.gz
gcc-fcd7f76b289ddadbb67057154547d570b94f2b23.tar.bz2
dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.
* dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning. (dwarf2out_decl): Functions can now have DECL_IGNORED_P. (gen_decl_die): Likewise. * dwarfout.c (dwarfout_file_scope_decl): Likewise. (output_decl): Likewise. * varasm.c (make_function_rtl): If we change the name used in the rtl, update DECL_ASSEMBLER_NAME accordingly. (make_decl_rtl): Likewise. * toplev.c (rest_of_compilation): Tweak formatting. * toplev.c (rest_of_compilation): find_loop_tree_blocks before remove_unnecessary_notes. (debug_ignore_block): New fn. * toplev.h: Declare it. * emit-rtl.c (remove_unncessary_notes): Call it. * dwarf2out.c (dwarf2out_ignore_block): New fn. * dwarf2out.h: Declare it. * final.c (final_start_function): Don't call remove_unnecessary_notes if we did insn scheduling. From-SVN: r32320
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 948ecd3..d5a1a30 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1644,7 +1644,10 @@ final_start_function (first, file, optimize)
if (write_symbols)
{
number_blocks (current_function_decl);
- remove_unncessary_notes ();
+ /* Scheduling packs block notes together at the top of a basic block,
+ so we can't learn anything from them. */
+ if (! flag_schedule_insns && ! flag_schedule_insns_after_reload)
+ remove_unncessary_notes ();
/* We never actually put out begin/end notes for the top-level
block in the function. But, conceptually, that block is
always needed. */