This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][RFC][regrename][sel-sched] Fix arm bootstrap



On 22/09/16 15:39, Alexander Monakov wrote:
On Thu, 22 Sep 2016, Kyrill Tkachov wrote:
Sorry no, the problem is HARD_FRAME_POINTER_REGNUM that is defined as:
#define HARD_FRAME_POINTER_REGNUM        \
   (TARGET_ARM                    \
    ? ARM_HARD_FRAME_POINTER_REGNUM        \
    : THUMB_HARD_FRAME_POINTER_REGNUM)

where ARM_HARD_FRAME_POINTER_REGNUM is 11 and THUMB_HARD_FRAME_POINTER_REGNUM
is 7 so Bernd's new warning triggers whenever HARD_FRAME_POINTER_REGNUM is
used as a boolean like it is in sel-sched.c and regrename.c
I don't follow.  The macro used as a boolean in places changed by your patch is
H_F_P_IS_FRAME_POINTER, not H_F_P_REGNUM.

Am I missing something?

I'm following Bernd's proposed change from:
https://gcc.gnu.org/ml/gcc-patches/2016-09/msg01330.html

that includes removing an extra conditional involving: HARD_FRAME_POINTER_IS_FRAME_POINTER .

I agree the ChangeLog entry should be better. I'm not very familiar with that code, so I
left it generic would something like this be more appropriate?

    * regrename.c (rename_chains): Always add hard frame pointer to unavailable
    set when frame pointer is needed.

Kyrill


Thanks.
Alexander


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]