diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/var-tracking.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f7927d..180c92f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2020-03-26 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/92264 + * var-tracking.c (add_stores): Call cselib_set_value_sp_based even + for sp based values in !frame_pointer_needed + && !ACCUMULATE_OUTGOING_ARGS functions. + 2020-03-26 Felix Yang <felix.yang@huawei.com> PR tree-optimization/94269 diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 9984565..a9ca16b 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -6112,7 +6112,8 @@ add_stores (rtx loc, const_rtx expr, void *cuip) } if (loc == stack_pointer_rtx - && maybe_ne (hard_frame_pointer_adjustment, -1) + && (maybe_ne (hard_frame_pointer_adjustment, -1) + || (!frame_pointer_needed && !ACCUMULATE_OUTGOING_ARGS)) && preserve) cselib_set_value_sp_based (v); |