aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Dobbelaere <jeroen.dobbelaere@acunia.com>2002-07-16 15:39:22 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2002-07-16 15:39:22 +0000
commit1575c31ee110a9e863f005b69be55903e6016106 (patch)
tree4cccc7d24459e504dc38ef542c4a8bdeb3b89503
parent3894f59ee4d9556d92f0a4b06741a2219dc05a70 (diff)
downloadgcc-1575c31ee110a9e863f005b69be55903e6016106.zip
gcc-1575c31ee110a9e863f005b69be55903e6016106.tar.gz
gcc-1575c31ee110a9e863f005b69be55903e6016106.tar.bz2
From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
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
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/arm/arm.c1
-rw-r--r--gcc/config/arm/arm.h13
3 files changed, 17 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ea6617b..e168767 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 0632397..928b169 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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++);
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index e74698a..b18fff2 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -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. */