diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ea6617b36f6f483e9f6eb6d0f87759bd72a30c24..e16876756757e0386216ec392b9ac9c8722f5c22 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 0632397a3f017cb6f24edf04bed6f00b89005c34..928b169a3e01dddc51ce1d3977be5651558d46fe 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 e74698a1737736c9c99bc4529d010d72f81edd9b..b18fff2290d41475c436109821ea98d9e5f3625c 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. */