S/390: Fix PR84332 ICE with stack clash protection
commit0b06c9a6da753ceb79b0eb6cc8c265e14fcd20d3
authorAndreas Krebbel <krebbel@linux.ibm.com>
Thu, 9 Aug 2018 07:06:23 +0000 (9 07:06 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Thu, 9 Aug 2018 07:06:23 +0000 (9 07:06 +0000)
treef338f7e98d354131d75dc1a24163a914cabe35b4
parenta0de11f47fde9e4af00cff2aeca8054ba5769b05
S/390: Fix PR84332 ICE with stack clash protection

Our implementation of the stack probe requires the probe interval to
be used as displacement in an address operand.  The maximum probe
interval currently is 64k.  This would exceed short displacements.
Trim that value down to 4k if that happens.  This might result in too
many probes being generated only on the oldest supported machine level
z900.

gcc/ChangeLog:

2018-08-09  Andreas Krebbel  <krebbel@linux.ibm.com>

PR target/84332
* config/s390/s390.c (s390_option_override_internal): Reduce the
stack-clash-protection-probe-interval param if it would be too big
for z900.

gcc/testsuite/ChangeLog:

2018-08-09  Andreas Krebbel  <krebbel@linux.ibm.com>

PR target/84332
* gcc.target/s390/pr84332.c: New testcase.

From-SVN: r263441
gcc/ChangeLog
gcc/config/s390/s390.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/pr84332.c [new file with mode: 0644]