summaryrefslogtreecommitdiff
path: root/gcc/collect2-aix.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-07-06 08:58:46 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-07-06 15:05:51 -0700
commite664d5712d39545fd9e39f162733d49b69315d56 (patch)
tree100827997b9a5fc93394fbbb4b068e87479a9fc5 /gcc/collect2-aix.c
parentcafbde4d61935a3791e76b950e917726d010c838 (diff)
downloadgcc-e664d5712d39545fd9e39f162733d49b69315d56.tar.gz
x86: Use DRAP only if there are outgoing arguments on stack
Since DRAP is needed only if there are outgoing arguments on stack, we should track outgoing arguments on stack and avoid setting need_drap to true when there are no outgoing arguments on stack. gcc/ PR target/81313 * config/i386/i386.c (ix86_function_arg_advance): Set outgoing_args_on_stack to true if there are outgoing arguments on stack. (ix86_function_arg): Likewise. (ix86_get_drap_rtx): Use DRAP only if there are outgoing arguments on stack and ACCUMULATE_OUTGOING_ARGS is false. * config/i386/i386.h (machine_function): Add outgoing_args_on_stack. gcc/testsuite/ PR target/81313 * gcc.target/i386/pr81313-1.c: New test. * gcc.target/i386/pr81313-2.c: Likewise. * gcc.target/i386/pr81313-3.c: Likewise. * gcc.target/i386/pr81313-4.c: Likewise. * gcc.target/i386/pr81313-5.c: Likewise.
Diffstat (limited to 'gcc/collect2-aix.c')
0 files changed, 0 insertions, 0 deletions