re PR middle-end/65958 (-fstack-check breaks alloca on architectures using generic stack checking)
PR middle-end/65958 * config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE. (unspecv): Add VUNSPEC_PROBE_STACK_RANGE. * config/arm/arm.md (probe_stack_range): Adjust. * config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE. (unspecv): Add UNSPECV_PROBE_STACK_RANGE. (probe_stack_range_<PTR:mode>): Adjust. From-SVN: r231295
This commit is contained in:
parent
f0a7c00bfe
commit
f58101cf28
@ -1,3 +1,13 @@
|
||||
2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR middle-end/65958
|
||||
* config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
|
||||
(unspecv): Add VUNSPEC_PROBE_STACK_RANGE.
|
||||
* config/arm/arm.md (probe_stack_range): Adjust.
|
||||
* config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
|
||||
(unspecv): Add UNSPECV_PROBE_STACK_RANGE.
|
||||
(probe_stack_range_<PTR:mode>): Adjust.
|
||||
|
||||
2015-12-04 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* convert.c (convert_to_real_1): When converting from a
|
||||
@ -309,8 +319,8 @@
|
||||
|
||||
2015-12-03 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* alias.c (alias_set_subset_of, alias_sets_must_conflict_p)
|
||||
Short circuit for !flag_strict_aliasing
|
||||
* alias.c (alias_set_subset_of, alias_sets_must_conflict_p):
|
||||
Add short circuit for !flag_strict_aliasing
|
||||
(get_alias_set): Remove flag_strict_aliasing check.
|
||||
(new_alias_set): Likewise.
|
||||
|
||||
|
@ -104,7 +104,6 @@
|
||||
UNSPEC_MB
|
||||
UNSPEC_NOP
|
||||
UNSPEC_PRLG_STK
|
||||
UNSPEC_PROBE_STACK_RANGE
|
||||
UNSPEC_RBIT
|
||||
UNSPEC_SISD_NEG
|
||||
UNSPEC_SISD_SSHL
|
||||
@ -139,6 +138,7 @@
|
||||
UNSPECV_GET_FPSR ; Represent fetch of FPSR content.
|
||||
UNSPECV_SET_FPSR ; Represent assign of FPSR content.
|
||||
UNSPECV_BLOCKAGE ; Represent a blockage
|
||||
UNSPECV_PROBE_STACK_RANGE ; Represent stack range probing.
|
||||
]
|
||||
)
|
||||
|
||||
@ -4968,7 +4968,7 @@
|
||||
[(set (match_operand:PTR 0 "register_operand" "=r")
|
||||
(unspec_volatile:PTR [(match_operand:PTR 1 "register_operand" "0")
|
||||
(match_operand:PTR 2 "register_operand" "r")]
|
||||
UNSPEC_PROBE_STACK_RANGE))]
|
||||
UNSPECV_PROBE_STACK_RANGE))]
|
||||
""
|
||||
{
|
||||
return aarch64_output_probe_stack_range (operands[0], operands[2]);
|
||||
|
@ -8149,7 +8149,7 @@
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(unspec_volatile:SI [(match_operand:SI 1 "register_operand" "0")
|
||||
(match_operand:SI 2 "register_operand" "r")]
|
||||
UNSPEC_PROBE_STACK_RANGE))]
|
||||
VUNSPEC_PROBE_STACK_RANGE))]
|
||||
"TARGET_32BIT"
|
||||
{
|
||||
return output_probe_stack_range (operands[0], operands[2]);
|
||||
|
@ -84,7 +84,6 @@
|
||||
UNSPEC_VRINTA ; Represent a float to integral float rounding
|
||||
; towards nearest, ties away from zero.
|
||||
UNSPEC_PROBE_STACK ; Probe stack memory reference
|
||||
UNSPEC_PROBE_STACK_RANGE ; Probe stack range
|
||||
])
|
||||
|
||||
(define_c_enum "unspec" [
|
||||
@ -147,6 +146,7 @@
|
||||
VUNSPEC_STL ; Represent a store-register-release.
|
||||
VUNSPEC_GET_FPSCR ; Represent fetch of FPSCR content.
|
||||
VUNSPEC_SET_FPSCR ; Represent assign of FPSCR content.
|
||||
VUNSPEC_PROBE_STACK_RANGE ; Represent stack range probing.
|
||||
])
|
||||
|
||||
;; Enumerators for NEON unspecs.
|
||||
|
Loading…
Reference in New Issue
Block a user