diff options
author | Richard Sandiford <richard@codesourcery.com> | 2005-12-15 12:40:33 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2005-12-15 12:40:33 +0000 |
commit | c543ca49c257b3e7fcb123014395cfc7d298d28c (patch) | |
tree | f594f73f80f290828e87bb828d14e3f19d1ad80e /gcc/dwarf2out.c | |
parent | 8d46ce6095853cebc4ea306fe0d00a4aa9758610 (diff) | |
download | gcc-c543ca49c257b3e7fcb123014395cfc7d298d28c.zip gcc-c543ca49c257b3e7fcb123014395cfc7d298d28c.tar.gz gcc-c543ca49c257b3e7fcb123014395cfc7d298d28c.tar.bz2 |
final.c (final_scan_insn): Flip in_cold_section_p when changing between the hot and cold sections.
* final.c (final_scan_insn): Flip in_cold_section_p when changing
between the hot and cold sections. Use current_function_section
to get the new section.
* dwarf2out.c (output_line_info): Use in_cold_section_p to
determine whether we are assembling hot or cold code.
(secname_for_decl, dwarf2out_var_location): Likewise.
(dwarf2out_init, dwarf2out_finish): Use switch_to_section.
* varasm.c (last_text_section): Delete.
(in_cold_section_p): New variable.
(hot_function_section): New function.
(current_function_section): Pass in_cold_section_p as the
reloc argument to select_section. Use it to decide between
unlikely_function_section and hot_function_section.
(assemble_start_function): Use switch_to_section. Set
in_cold_section_p instead of last_text_section.
(assemble_end_function): Use switch_to_section.
(switch_to_section): Don't set last_text_section.
* config/darwin/darwin.c (machopic_select_section): Trust the reloc
argument to make the right choice between hot and cold sections.
From-SVN: r108572
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 0f52184c..f5860f2 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -7837,7 +7837,7 @@ output_line_info (void) current_file = 1; current_line = 1; - if (cfun && unlikely_text_section_p (last_text_section)) + if (cfun && in_cold_section_p) strcpy (prev_line_label, cfun->cold_section_label); else strcpy (prev_line_label, text_section_label); @@ -10182,7 +10182,7 @@ secname_for_decl (tree decl) tree sectree = DECL_SECTION_NAME (current_function_decl); secname = TREE_STRING_POINTER (sectree); } - else if (cfun && unlikely_text_section_p (last_text_section)) + else if (cfun && in_cold_section_p) secname = cfun->cold_section_label; else secname = text_section_label; @@ -13552,7 +13552,7 @@ dwarf2out_var_location (rtx loc_note) newloc->var_loc_note = loc_note; newloc->next = NULL; - if (cfun && unlikely_text_section_p (last_text_section)) + if (cfun && in_cold_section_p) newloc->section_label = cfun->cold_section_label; else newloc->section_label = text_section_label; @@ -13841,7 +13841,7 @@ dwarf2out_init (const char *filename ATTRIBUTE_UNUSED) ASM_OUTPUT_LABEL (asm_out_file, text_section_label); if (flag_reorder_blocks_and_partition) { - unlikely_text_section (); + switch_to_section (unlikely_text_section ()); ASM_OUTPUT_LABEL (asm_out_file, cold_text_section_label); } } @@ -14177,7 +14177,7 @@ dwarf2out_finish (const char *filename) targetm.asm_out.internal_label (asm_out_file, TEXT_END_LABEL, 0); if (flag_reorder_blocks_and_partition) { - unlikely_text_section (); + switch_to_section (unlikely_text_section ()); targetm.asm_out.internal_label (asm_out_file, COLD_END_LABEL, 0); } |