------- Comment #8 from dave at hiauly1 dot hia dot nrc dot ca 2010-09-01
Subject: Re: [4.6 Regression] FAIL:
On Tue, 31 Aug 2010, jakub at gcc dot gnu dot org wrote:
> ------- Comment #7 from jakub at gcc dot gnu dot org 2010-08-31 19:48 -------
> Created an attachment (id=21614)
> --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21614&action=view)
> The problem is that the PA backend has quite lame setup, where
> FRAME_POINTER_REGNUM is the same as HARD_FRAME_POINTER_REGNUM and
> ARG_POINTER_REGNUM, thus the replacements var-tracking is doing in order to
> decrease size of loclists and use DW_OP_fbreg where possible, aren't reliable,
> as the testcase shows, because the same hard register can be used for
> other data. The following patch fixes it by not doing the replacements on PA
> and similar targets at all when doing VALUE based var-tracking. Ideally PA
> backend would be fixed up to use different (fixed) hard regno, made up and
> always eliminated, for FRAME_POINTER_REGNUM.
The change fixes the PR on hppa-unknown-linux-gnu. I'll look at
implementing the above this weekend.
Thanks very much for looking at this problem.