This is the mail archive of the gcc-bugs@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: optimization/10592: [arm] caller-save incorrectly handles a reloaded SET_DEST operand


This patch implements the idea I just suggested, it does indeed seem to 
solve the problem:

With the patch, the relevant bit of the code is now:

        str     ip, [fp, #-44]
        bl      strncpy
        ldr     ip, [fp, #-44]
        add     r2, r9, #156
        add     lr, r9, #16
        str     r2, [ip, #540]


I'll do a full testsuite run to check for regressions.

<date>  Richard Earnshaw  <rearnsha@arm.com>

	* caller-save.c (mark_referenced_regs): Don't short-circuit a reg
	or subreg in SET_DEST if it isn't a hard register.

R.

Attachment: caller-save.patch
Description: caller-save.patch


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