basic-block.h (struct basic_block_def): Reorder fields to eliminate interior padding.
[gcc.git] / gcc / final.c
index d9c4f383e67cbfa5171808b8b3253c5aacda818d..a59f3a2074c8b26446163eaeb4cf31fb81ff1222 100644 (file)
@@ -1704,7 +1704,6 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
        case NOTE_INSN_FUNCTION_END:
        case NOTE_INSN_REPEATED_LINE_NUMBER:
        case NOTE_INSN_EXPECTED_VALUE:
-       case NOTE_DISABLE_SCHED_OF_BLOCK:
          break;
 
        case NOTE_INSN_UNLIKELY_EXECUTED_CODE:
@@ -1728,9 +1727,8 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
             are writing to appropriately.  */
          
          if (flag_reorder_blocks_and_partition
-             && in_unlikely_text_section()
              && !scan_ahead_for_unlikely_executed_note (insn))
-           text_section ();
+           function_section (current_function_decl);
 
 #ifdef TARGET_UNWIND_INFO
          targetm.asm_out.unwind_emit (asm_out_file, insn);
@@ -1923,7 +1921,8 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
         basic blocks into separate sections of the .o file, we need
         to ensure the jump table ends up in the correct section...  */
       
-      if (flag_reorder_blocks_and_partition)
+      if (flag_reorder_blocks_and_partition
+         && targetm.have_named_sections)
        {
          rtx tmp_table, tmp_label;
          if (LABEL_P (insn)
@@ -1933,11 +1932,8 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
            }
          else if (scan_ahead_for_unlikely_executed_note (insn)) 
            unlikely_text_section ();
-         else 
-           {
-             if (in_unlikely_text_section ())
-               text_section ();
-           }
+         else if (in_unlikely_text_section ())
+           function_section (current_function_decl);
        }
 
       if (app_on)