diff options
author | chrbr <chrbr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-10-16 13:52:51 +0000 |
---|---|---|
committer | chrbr <chrbr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-10-16 13:52:51 +0000 |
commit | 9d0e3e3a33034c696d99e19bb3496916e5f45a68 (patch) | |
tree | dd02fa210573226e6a7f1a92dd5a6db115002160 /gcc/function.c | |
parent | d0849c231459927b58d3683d25780269314e579e (diff) | |
download | gcc-9d0e3e3a33034c696d99e19bb3496916e5f45a68.tar.gz |
2015-10-16 Christian Bruel <christian.bruel@st.com>
PR target/67745
* config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P.
(FUNCTION_BOUNDARY_P): New macro:
* config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function):
New hook.
* doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document.
* doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook.
* gcc/target.def (TARGET_RELAYOUT_FUNCTION): Likewise.
* gcc/function.c (allocate_struct_function): Call relayout_function hook.
* gcc/passes.c (rest_of_decl_compilation): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228912 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index db5bc1c4754..f7742148cfb 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4840,6 +4840,9 @@ allocate_struct_function (tree fndecl, bool abstract_p) for (tree parm = DECL_ARGUMENTS (fndecl); parm; parm = DECL_CHAIN (parm)) relayout_decl (parm); + + /* Similarly relayout the function decl. */ + targetm.target_option.relayout_function (fndecl); } if (!abstract_p && aggregate_value_p (result, fndecl)) |