summaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-04 00:48:46 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-04 00:48:46 +0000
commitad2fe2cdc0ca3b25f67354611b411599e9e97b6c (patch)
tree29b58916ce9e193f2b31a39bfb2eb5cdae4dfcef /gcc/final.c
parent89d7453ca4cdb15f83fa57aa7fbd8555017a41e1 (diff)
downloadgcc-ad2fe2cdc0ca3b25f67354611b411599e9e97b6c.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32320 138bc75d-0d04-0410-961f-82ee72b054a4
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 948ecd33e5d..d5a1a304c40 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. */