OSDN Git Service

003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
[pf3gnuchains/gcc-fork.git] / gcc / cfglayout.c
index 08d20e1..3839089 100644 (file)
@@ -435,13 +435,12 @@ insn_scope (rtx insn)
    return VARRAY_TREE (block_locators_blocks, min);
 }
 
-/* Return line number of the statement that produced this insn.  */
+/* Return line number of the statement specified by the locator.  */
 int
-insn_line (rtx insn)
+locator_line (int loc)
 {
   int max = VARRAY_ACTIVE_SIZE (line_locators_locs);
   int min = 0;
-  int loc = INSN_LOCATOR (insn);
 
   if (!max || !loc)
     return 0;
@@ -463,13 +462,19 @@ insn_line (rtx insn)
    return VARRAY_INT (line_locators_lines, min);
 }
 
-/* Return source file of the statement that produced this insn.  */
+/* Return line number of the statement that produced this insn.  */
+int
+insn_line (rtx insn)
+{
+  return locator_line (INSN_LOCATOR (insn));
+}
+
+/* Return source file of the statement specified by LOC.  */
 const char *
-insn_file (rtx insn)
+locator_file (int loc)
 {
   int max = VARRAY_ACTIVE_SIZE (file_locators_locs);
   int min = 0;
-  int loc = INSN_LOCATOR (insn);
 
   if (!max || !loc)
     return NULL;
@@ -491,6 +496,13 @@ insn_file (rtx insn)
    return VARRAY_CHAR_PTR (file_locators_files, min);
 }
 
+/* Return source file of the statement that produced this insn.  */
+const char *
+insn_file (rtx insn)
+{
+  return locator_file (INSN_LOCATOR (insn));
+}
+
 /* Rebuild all the NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes based
    on the scope tree and the newly reordered instructions.  */
 
@@ -602,6 +614,7 @@ fixup_reorder_chain (void)
 #ifdef ENABLE_CHECKING
   verify_insn_chain ();
 #endif
+  delete_dead_jumptables ();
 
   /* Now add jumps and labels as needed to match the blocks new
      outgoing edges.  */
@@ -1084,8 +1097,7 @@ cfg_layout_duplicate_bb (basic_block bb, edge e)
 }
 \f
 void
-cfg_layout_initialize_rbi (bb)
-     basic_block bb;
+cfg_layout_initialize_rbi (basic_block bb)
 {
   if (bb->rbi)
     abort ();
@@ -1097,7 +1109,7 @@ cfg_layout_initialize_rbi (bb)
    CFG layout changes.  It keeps LOOPS up-to-date if not null.  */
 
 void
-cfg_layout_initialize ()
+cfg_layout_initialize (void)
 {
   basic_block bb;