re PR target/5185 ([ARM] Segmentation fault in final.c)
2002-02-19 Philip Blundell <pb@nexus.co.uk> PR 5185 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything if generating PIC. PR 5054 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use arm_is_longcall_p rather than inspecting call-type cookie directly. (call_value_insn) [TARGET_THUMB]: Likewise. From-SVN: r49879
This commit is contained in:
parent
9b41c37048
commit
7b8781c861
@ -1,3 +1,15 @@
|
|||||||
|
2002-02-19 Philip Blundell <pb@nexus.co.uk>
|
||||||
|
|
||||||
|
PR 5185
|
||||||
|
* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
|
||||||
|
if generating PIC.
|
||||||
|
|
||||||
|
PR 5054
|
||||||
|
* config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
|
||||||
|
arm_is_longcall_p rather than inspecting call-type cookie
|
||||||
|
directly.
|
||||||
|
(call_value_insn) [TARGET_THUMB]: Likewise.
|
||||||
|
|
||||||
2002-02-19 Graham Stott <grahams@redhat.com>
|
2002-02-19 Graham Stott <grahams@redhat.com>
|
||||||
|
|
||||||
* config/i386/i386.c (ix86_expand_builtin): Fix typo.
|
* config/i386/i386.c (ix86_expand_builtin): Fix typo.
|
||||||
|
@ -1843,7 +1843,8 @@ typedef struct
|
|||||||
#define THUMB_LEGITIMATE_CONSTANT_P(X) \
|
#define THUMB_LEGITIMATE_CONSTANT_P(X) \
|
||||||
( GET_CODE (X) == CONST_INT \
|
( GET_CODE (X) == CONST_INT \
|
||||||
|| GET_CODE (X) == CONST_DOUBLE \
|
|| GET_CODE (X) == CONST_DOUBLE \
|
||||||
|| CONSTANT_ADDRESS_P (X))
|
|| CONSTANT_ADDRESS_P (X) \
|
||||||
|
|| flag_pic)
|
||||||
|
|
||||||
#define LEGITIMATE_CONSTANT_P(X) \
|
#define LEGITIMATE_CONSTANT_P(X) \
|
||||||
(TARGET_ARM ? ARM_LEGITIMATE_CONSTANT_P (X) : THUMB_LEGITIMATE_CONSTANT_P (X))
|
(TARGET_ARM ? ARM_LEGITIMATE_CONSTANT_P (X) : THUMB_LEGITIMATE_CONSTANT_P (X))
|
||||||
|
@ -6655,7 +6655,8 @@
|
|||||||
(use (match_operand 2 "" ""))
|
(use (match_operand 2 "" ""))
|
||||||
(clobber (reg:SI LR_REGNUM))]
|
(clobber (reg:SI LR_REGNUM))]
|
||||||
"TARGET_THUMB
|
"TARGET_THUMB
|
||||||
&& operands[2] == const0_rtx && (GET_CODE (operands[0]) == SYMBOL_REF)"
|
&& GET_CODE (operands[0]) == SYMBOL_REF
|
||||||
|
&& !arm_is_longcall_p (operands[0], INTVAL (operands[2]), 1)"
|
||||||
"bl\\t%a0"
|
"bl\\t%a0"
|
||||||
[(set_attr "length" "4")
|
[(set_attr "length" "4")
|
||||||
(set_attr "type" "call")]
|
(set_attr "type" "call")]
|
||||||
@ -6668,7 +6669,8 @@
|
|||||||
(use (match_operand 3 "" ""))
|
(use (match_operand 3 "" ""))
|
||||||
(clobber (reg:SI LR_REGNUM))]
|
(clobber (reg:SI LR_REGNUM))]
|
||||||
"TARGET_THUMB
|
"TARGET_THUMB
|
||||||
&& operands[3] == const0_rtx && (GET_CODE (operands[1]) == SYMBOL_REF)"
|
&& GET_CODE (operands[1]) == SYMBOL_REF
|
||||||
|
&& !arm_is_longcall_p (operands[1], INTVAL (operands[3]), 1)"
|
||||||
"bl\\t%a1"
|
"bl\\t%a1"
|
||||||
[(set_attr "length" "4")
|
[(set_attr "length" "4")
|
||||||
(set_attr "type" "call")]
|
(set_attr "type" "call")]
|
||||||
|
Loading…
Reference in New Issue
Block a user