From 1575c31ee110a9e863f005b69be55903e6016106 Mon Sep 17 00:00:00 2001
From: Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
Date: Tue, 16 Jul 2002 15:39:22 +0000
Subject: [PATCH] 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
---
 gcc/ChangeLog        | 10 ++++++++++
 gcc/config/arm/arm.c |  1 -
 gcc/config/arm/arm.h | 13 +++++++------
 3 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ea6617b36f6f..e16876756757 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 0632397a3f01..928b169a3e01 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 e74698a17377..b18fff2290d4 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.  */
-- 
GitLab