aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@tofu.to.cygnus.com>1999-07-12 07:50:05 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>1999-07-12 07:50:05 +0000
commit115b4dd3a20f3ba9f61523c82013eb602c06a062 (patch)
tree9d53fa19e88b17b6dda5475be491bc81e59ec082
parentd2382ec54a271990208365e22be4cd85c6aa38ca (diff)
downloadgcc-115b4dd3a20f3ba9f61523c82013eb602c06a062.zip
gcc-115b4dd3a20f3ba9f61523c82013eb602c06a062.tar.gz
gcc-115b4dd3a20f3ba9f61523c82013eb602c06a062.tar.bz2
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
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/arm/thumb.c44
2 files changed, 31 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cbc77e9..95e8005 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/arm/thumb.c b/gcc/config/arm/thumb.c
index 9048a34..122cb24 100644
--- a/gcc/config/arm/thumb.c
+++ b/gcc/config/arm/thumb.c
@@ -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);