This is the mail archive of the
mailing list for the GCC project.
Re: fuse-caller-save - hook format
- From: Tom de Vries <Tom_deVries at mentor dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>, <rdsandiford at googlemail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Eric Botcazou <ebotcazou at adacore dot com>
- Date: Tue, 22 Apr 2014 17:05:33 +0200
- Subject: Re: fuse-caller-save - hook format
- Authentication-results: sourceware.org; auth=none
- References: <534ED7BC dot 50300 at mentor dot com> <534FF0F9 dot 60404 at redhat dot com> <87lhv4ug7f dot fsf at sandifor-thinkpad dot stglab dot manchester dot uk dot ibm dot com> <53500628 dot 2090802 at redhat dot com>
On 17-04-14 18:49, Vladimir Makarov wrote:
I see. I guess your proposed solution is ok then.
I've updated the fuse-caller-save patch series to model non-callee call clobbers
There are 2 new hooks:
A hook to indicate whether a target has added the non-callee call clobbers to
CALL_INSN_FUNCTION_USAGE, meaning it's safe to do the fuse-caller-save optimization.
A utility hook to facilitate adding the clobbers to CALL_INSN_FUNCTION_USAGE.
I've bootstrapped and reg-tested on x86_64, and I've build and reg-tested on MIPS.
The series now looks like:
1 -fuse-caller-save - Add command line option
2 -fuse-caller-save - Add new reg-note REG_CALL_DECL
3 Add implicit parameter to find_all_hard_reg_sets
4 Register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets
5 Add call_fusage_contains_non_callee_clobbers hook
6 -fuse-caller-save - Collect register usage information
7 -fuse-caller-save - Use collected register usage information
8 -fuse-caller-save - Enable by default at O2 and higher
9 -fuse-caller-save - Add documentation
10 -fuse-caller-save - Add test-case
11 Add post_expand_call_insn hook
12 Add clobber_reg
13 -fuse-caller-save - Enable for MIPS
14 -fuse-caller-save - Enable for ARM
15 -fuse-caller-save - Enable for AArch64
16 -fuse-caller-save - Support in lra
17 -fuse-caller-save - Enable for i386
The submission/approval status is:
1-3, 7-10, 16: approved
4: submitted, pinged Eric Botcazou 16-04-2014
5, 11: new hook, need to submit
6, 14-15: approved earlier, but need to resubmit due to updated hook
12: new utility patch, need to submit
13: need to resubmit due to updated hook
17: need to submit
I'll post the patches that need (re)submitting.