diff options
author | Kito Cheng <kito.cheng@gmail.com> | 2018-04-20 19:03:19 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 2018-04-20 12:03:19 -0700 |
commit | 9b922d6aaf143d35ed5f1c116f0a0702df6ae04c (patch) | |
tree | 0deab27d2559fe9d125641262739cbdc4706f373 | |
parent | b593a195f96010854466ecf46c00c8b0e31bd4a8 (diff) | |
download | gcc-9b922d6aaf143d35ed5f1c116f0a0702df6ae04c.zip gcc-9b922d6aaf143d35ed5f1c116f0a0702df6ae04c.tar.gz gcc-9b922d6aaf143d35ed5f1c116f0a0702df6ae04c.tar.bz2 |
RISC-V: Make sure stack is always aligned during adjusting stack.
gcc/
2018-04-20 Kito Cheng <kito.cheng@gmail.com>
* config/riscv/riscv.c (riscv_first_stack_step): Round up min
step to make sure stack always aligned.
From-SVN: r259530
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/riscv/riscv.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1702d95..d25e3e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-04-20 Kito Cheng <kito.cheng@gmail.com> + + * config/riscv/riscv.c (riscv_first_stack_step): Round up min + step to make sure stack always aligned. + 2018-04-20 Carl Love <cel@us.ibm.com> PR target/83402 diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c index 2870177..2a8f87d 100644 --- a/gcc/config/riscv/riscv.c +++ b/gcc/config/riscv/riscv.c @@ -3507,7 +3507,8 @@ riscv_first_stack_step (struct riscv_frame_info *frame) if (SMALL_OPERAND (frame->total_size)) return frame->total_size; - HOST_WIDE_INT min_first_step = frame->total_size - frame->fp_sp_offset; + HOST_WIDE_INT min_first_step = + RISCV_STACK_ALIGN (frame->total_size - frame->fp_sp_offset); HOST_WIDE_INT max_first_step = IMM_REACH / 2 - PREFERRED_STACK_BOUNDARY / 8; HOST_WIDE_INT min_second_step = frame->total_size - max_first_step; gcc_assert (min_first_step <= max_first_step); |