aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-01-09 11:16:10 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-01-09 11:16:10 +0100
commita811a0a8815a893b0fac82e79ea251bb1554f720 (patch)
treeae4de83d60cbc951db2bcd71518f6fd2c0be272b /gcc/function.c
parentc86fab9d08853121dfe3d001b973af1e1c44fddd (diff)
downloadgcc-a811a0a8815a893b0fac82e79ea251bb1554f720.zip
gcc-a811a0a8815a893b0fac82e79ea251bb1554f720.tar.gz
gcc-a811a0a8815a893b0fac82e79ea251bb1554f720.tar.bz2
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
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index cec344b..4ba57be 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -400,7 +400,9 @@ assign_stack_local_1 (machine_mode mode, poly_int64 size,
{
/* If the required alignment exceeds MAX_SUPPORTED_STACK_ALIGNMENT and
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;
else
{