]> gcc.gnu.org Git - gcc.git/commitdiff
thumb.c (thumb_reorg): Call replace_symbols_in_block always unless NO_DEBUG is used.
authorVladimir Makarov <vmakarov@tofu.to.cygnus.com>
Mon, 12 Jul 1999 07:50:05 +0000 (07:50 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Mon, 12 Jul 1999 07:50:05 +0000 (07:50 +0000)
Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
* config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
  always unless NO_DEBUG is used.  Compile this code
  unconditionally.
(replace_symbols_in_block): Compile it unconditionally.

From-SVN: r28063

gcc/ChangeLog
gcc/config/arm/thumb.c

index cbc77e91719a168082d1c2e8bd32b61d46c0b7aa..95e80053583cf83f3a314559ca5de0d2c19e9523 100644 (file)
@@ -1,3 +1,10 @@
+Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+
+       * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
+       always unless NO_DEBUG is used.  Compile this code
+       unconditionally.
+       (replace_symbols_in_block): Compile it unconditionally.
+       
 Sun Jul 11 12:32:32 1999  Jeffrey A Law  (law@cygnus.com)
 
        * configure.in (i?86-*-elf*): New target.
index 9048a34d473ee2caa98464159b090aaa84341e70..122cb2442b4edccac2ea6dd71c902d66bec5dceb 100644 (file)
@@ -358,8 +358,6 @@ broken_move (insn)
   return 0;
 }
 
-#ifdef DBX_DEBUGGING_INFO
-
 /* Recursively search through all of the blocks in a function
    checking to see if any of the variables created in that
    function match the RTX called 'orig'.  If they do then
@@ -391,7 +389,6 @@ replace_symbols_in_block (tree block, rtx orig, rtx new)
       replace_symbols_in_block (BLOCK_SUBBLOCKS (block), orig, new);
     }
 }
-#endif
 
 void
 thumb_reorg (first)
@@ -452,24 +449,31 @@ thumb_reorg (first)
                  /* But it's still an ordinary insn */
                  PUT_CODE (newinsn, INSN);
 
-#ifdef DBX_DEBUGGING_INFO
-                 /* If debugging information is going to be emitted then we must
-                    make sure that any refences to symbols which are removed by
-                    the above code are also removed in the descriptions of the
-                    function's variables.  Failure to do this means that the
-                    debugging information emitted could refer to symbols which
-                    are not emited by output_constant_pool() because
-                    mark_constant_pool() never sees them as being used.  */
+                 /* If debugging information is going to be emitted
+                    then we must make sure that any refences to
+                    symbols which are removed by the above code are
+                    also removed in the descriptions of the
+                    function's variables.  Failure to do this means
+                    that the debugging information emitted could
+                    refer to symbols which are not emited by
+                    output_constant_pool() because
+                    mark_constant_pool() never sees them as being
+                    used.  */
                  
-                 if (optimize > 0                                /* These are the tests used in output_constant_pool() */
-                     && flag_expensive_optimizations             /*  to decide if the constant pool will be marked.  */
-                     && write_symbols == DBX_DEBUG               /* Only necessary if debugging info is being emitted.  */
-                     && GET_CODE (src) == MEM                    /* Only necessary for references to memory ... */
-                     && GET_CODE (XEXP (src, 0)) == SYMBOL_REF)  /*  ... whose address is given by a symbol.  */
-                   {
-                     replace_symbols_in_block (DECL_INITIAL (current_function_decl), src, newsrc);
-                   }
-#endif
+                 /* These are the tests used in
+                    output_constant_pool() to decide if the constant
+                    pool will be marked.  Only necessary if debugging
+                    info is being emitted.  Only necessary for
+                    references to memory whose address is given by a
+                    symbol. */
+
+                 if (optimize > 0
+                     && flag_expensive_optimizations
+                     && write_symbols != NO_DEBUG
+                     && GET_CODE (src) == MEM
+                     && GET_CODE (XEXP (src, 0)) == SYMBOL_REF)
+                   replace_symbols_in_block
+                     (DECL_INITIAL (current_function_decl), src, newsrc);
                  
                  /* Kill old insn */
                  delete_insn (scan);
This page took 0.062796 seconds and 5 git commands to generate.