On Wed, Aug 8, 2018 at 6:32 AM, H.J. Lu <hjl.to...@gmail.com> wrote: > Assert for SUPPORTS_STACK_ALIGNMENT was added for dynamic stack > alignment. At the time, arg_pointer_rtx would only be eliminated > by either hard_frame_pointer_rtx or stack_pointer_rtx only when > dynamic stack alignment is supported. With > > commit cd557ff63f388ad27c376d0a225e74d3594a6f9d > Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> > Date: Thu Aug 10 15:29:05 2017 +0000 > > i386: Don't use frame pointer without stack access > > When there is no stack access, there is no need to use frame pointer > even if -fno-omit-frame-pointer is used and caller's frame pointer is > unchanged. > > this can happen when there is no dynamic stack alignment. This patch > relaxes SUPPORTS_STACK_ALIGNMENT with !crtl->stack_realign_tried to > allow arg_pointer_rtx to be eliminated by either hard_frame_pointer_rtx > or stack_pointer_rtx when there is no dynamic stack alignment at all. > > gcc/ > > PR debug/86593 > * dwarf2out.c (based_loc_descr): Replace SUPPORTS_STACK_ALIGNMENT > with (SUPPORTS_STACK_ALIGNMENT || !crtl->stack_realign_tried). > (compute_frame_pointer_to_fb_displacement): Likewise. > > gcc/testsuite/ > > PR debug/86593 > * g++.dg/pr86593.C: New test. >
PING: https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00559.html -- H.J.