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] Fix PR46932: Block auto increment on frame pointer


On 07/20/2017 08:49 AM, Wilco Dijkstra wrote:
> Block auto increment on frame pointer references.  This is never
> beneficial since the SFP expands into SP+C or FP+C during register
> allocation.  The generated code for the testcase is now as expected:
> 
> 	str	x30, [sp, -32]!
> 	strb	w0, [sp, 31]
> 	add	x0, sp, 31
> 	bl	foo3
> 	ldr	x30, [sp], 32
> 	ret
> 
> On SPEC2017 codesize improves uniformly across the board.
> 
> ChangeLog:
> 2017-07-20  Wilco Dijkstra  <wdijkstr@arm.com>
> 
> 	PR middle-end/46932
> 	* auto-inc-dec.c (parse_add_or_inc): Block autoinc on sfp.
> 
> gcc/testsuite/
> 
> 	* gcc.dg/pr46932.c: New testcase.
My only concern here would be cases where we don't end up eliminating FP
to SP.  But I'd think it's unlikely that we'd have enough auto-inc
opportunities on the frame pointer for it to matter much anyway.

OK for the trunk.

jeff


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