From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
authorJeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
Tue, 16 Jul 2002 15:39:22 +0000 (15:39 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Tue, 16 Jul 2002 15:39:22 +0000 (15:39 +0000)
From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
* arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.

From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
 and Richard Earnshaw  <rearnsha@arm.com>
* arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r55487

gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.h

index ea6617b..e168767 100644 (file)
@@ -1,3 +1,13 @@
+2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+
+       * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
+
+2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+           Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test 
+       CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
+
 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
 
        * arm.md (stack_tie): New insn.  Use an idiom that the alias code
index 0632397..928b169 100644 (file)
@@ -7922,7 +7922,6 @@ emit_sfm (base_reg, count)
 
   par = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (count));
   dwarf = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (count));
-  RTX_FRAME_RELATED_P (dwarf) = 1;
 
   reg = gen_rtx_REG (XFmode, base_reg++);
 
index e74698a..b18fff2 100644 (file)
@@ -2397,12 +2397,13 @@ extern const char * arm_pic_register_string;
 /* We can't directly access anything that contains a symbol,
    nor can we indirect via the constant pool.  */
 #define LEGITIMATE_PIC_OPERAND_P(X)                                    \
-       (   ! symbol_mentioned_p (X)                                    \
-        && ! label_mentioned_p (X)                                     \
-        && (! CONSTANT_POOL_ADDRESS_P (X)                              \
-            || (   ! symbol_mentioned_p (get_pool_constant (X))        \
-                && ! label_mentioned_p (get_pool_constant (X)))))
-     
+       (!(symbol_mentioned_p (X)                                       \
+          || label_mentioned_p (X)                                     \
+          || (GET_CODE (X) == SYMBOL_REF                               \
+              && CONSTANT_POOL_ADDRESS_P (X)                           \
+              && (symbol_mentioned_p (get_pool_constant (X))           \
+                  || label_mentioned_p (get_pool_constant (X))))))
+
 /* We need to know when we are making a constant pool; this determines
    whether data needs to be in the GOT or can be referenced via a GOT
    offset.  */