Commit 115b4dd3 by Vladimir Makarov Committed by Vladimir Makarov

thumb.c (thumb_reorg): Call replace_symbols_in_block always unless NO_DEBUG is used.

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
parent d2382ec5
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) Sun Jul 11 12:32:32 1999 Jeffrey A Law (law@cygnus.com)
* configure.in (i?86-*-elf*): New target. * configure.in (i?86-*-elf*): New target.
......
...@@ -358,8 +358,6 @@ broken_move (insn) ...@@ -358,8 +358,6 @@ broken_move (insn)
return 0; return 0;
} }
#ifdef DBX_DEBUGGING_INFO
/* Recursively search through all of the blocks in a function /* Recursively search through all of the blocks in a function
checking to see if any of the variables created in that checking to see if any of the variables created in that
function match the RTX called 'orig'. If they do then function match the RTX called 'orig'. If they do then
...@@ -391,7 +389,6 @@ replace_symbols_in_block (tree block, rtx orig, rtx new) ...@@ -391,7 +389,6 @@ replace_symbols_in_block (tree block, rtx orig, rtx new)
replace_symbols_in_block (BLOCK_SUBBLOCKS (block), orig, new); replace_symbols_in_block (BLOCK_SUBBLOCKS (block), orig, new);
} }
} }
#endif
void void
thumb_reorg (first) thumb_reorg (first)
...@@ -452,24 +449,31 @@ thumb_reorg (first) ...@@ -452,24 +449,31 @@ thumb_reorg (first)
/* But it's still an ordinary insn */ /* But it's still an ordinary insn */
PUT_CODE (newinsn, INSN); PUT_CODE (newinsn, INSN);
#ifdef DBX_DEBUGGING_INFO /* If debugging information is going to be emitted
/* If debugging information is going to be emitted then we must then we must make sure that any refences to
make sure that any refences to symbols which are removed by symbols which are removed by the above code are
the above code are also removed in the descriptions of the also removed in the descriptions of the
function's variables. Failure to do this means that the function's variables. Failure to do this means
debugging information emitted could refer to symbols which that the debugging information emitted could
are not emited by output_constant_pool() because refer to symbols which are not emited by
mark_constant_pool() never sees them as being used. */ 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() */ /* These are the tests used in
&& flag_expensive_optimizations /* to decide if the constant pool will be marked. */ output_constant_pool() to decide if the constant
&& write_symbols == DBX_DEBUG /* Only necessary if debugging info is being emitted. */ pool will be marked. Only necessary if debugging
&& GET_CODE (src) == MEM /* Only necessary for references to memory ... */ info is being emitted. Only necessary for
&& GET_CODE (XEXP (src, 0)) == SYMBOL_REF) /* ... whose address is given by a symbol. */ references to memory whose address is given by a
{ symbol. */
replace_symbols_in_block (DECL_INITIAL (current_function_decl), src, newsrc);
} if (optimize > 0
#endif && 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 */ /* Kill old insn */
delete_insn (scan); delete_insn (scan);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment