mirror of git://gcc.gnu.org/git/gcc.git
re PR rtl-optimization/88331 (ICE in rtl_verify_bb_layout, at cfgrtl.c:2987)
PR rtl-optimization/88331 * function.c (assign_stack_local_1): Don't set dynamic_align_addr if not currently_expanding_to_rtl. * gcc.target/i386/pr88331.c: New test. From-SVN: r267758
This commit is contained in:
parent
c86fab9d08
commit
a811a0a881
|
|
@ -1,3 +1,9 @@
|
||||||
|
2019-01-09 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/88331
|
||||||
|
* function.c (assign_stack_local_1): Don't set dynamic_align_addr if
|
||||||
|
not currently_expanding_to_rtl.
|
||||||
|
|
||||||
2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* doc/invoke.texi (-Os): Remove trailing spaces.
|
* doc/invoke.texi (-Os): Remove trailing spaces.
|
||||||
|
|
|
||||||
|
|
@ -400,7 +400,9 @@ assign_stack_local_1 (machine_mode mode, poly_int64 size,
|
||||||
{
|
{
|
||||||
/* If the required alignment exceeds MAX_SUPPORTED_STACK_ALIGNMENT and
|
/* If the required alignment exceeds MAX_SUPPORTED_STACK_ALIGNMENT and
|
||||||
it is not OK to reduce it. Align the slot dynamically. */
|
it is not OK to reduce it. Align the slot dynamically. */
|
||||||
if (mode == BLKmode && (kind & ASLK_REDUCE_ALIGN) == 0)
|
if (mode == BLKmode
|
||||||
|
&& (kind & ASLK_REDUCE_ALIGN) == 0
|
||||||
|
&& currently_expanding_to_rtl)
|
||||||
dynamic_align_addr = true;
|
dynamic_align_addr = true;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2019-01-09 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/88331
|
||||||
|
* gcc.target/i386/pr88331.c: New test.
|
||||||
|
|
||||||
2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
|
2019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
|
||||||
|
|
||||||
* g++.dg/diagnostic/constexpr2.C: New.
|
* g++.dg/diagnostic/constexpr2.C: New.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
/* PR rtl-optimization/88331 */
|
||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-options "-O3 -march=core-avx2" } */
|
||||||
|
|
||||||
|
int b, d, e, g, i, j, l, m;
|
||||||
|
int *c, *h, *n, *o;
|
||||||
|
long f, k;
|
||||||
|
|
||||||
|
void
|
||||||
|
foo (void)
|
||||||
|
{
|
||||||
|
long p = i;
|
||||||
|
int *a = o;
|
||||||
|
while (p)
|
||||||
|
{
|
||||||
|
n = (int *) (__UINTPTR_TYPE__) a[0];
|
||||||
|
for (; f; f += 4)
|
||||||
|
for (; m <= d;)
|
||||||
|
{
|
||||||
|
for (; g <= e; ++g)
|
||||||
|
l = (int) (__UINTPTR_TYPE__) (n + l);
|
||||||
|
c[m] = (int) (__UINTPTR_TYPE__) n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int q = 0;
|
||||||
|
k = 0;
|
||||||
|
for (; k < j; k++)
|
||||||
|
q += o[k] * h[k];
|
||||||
|
b = q;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue