diff options
author | amacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-25 16:51:35 +0000 |
---|---|---|
committer | amacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-25 16:51:35 +0000 |
commit | a3c76fda3034a5890bdb8dd753e6ebbb2b69eaeb (patch) | |
tree | 08270b7c9b79613ad264a52e14a5567e8d6dc4fb /gcc/emit-rtl.h | |
parent | 20e6ed7b2406f3cbad7db3baabd9afb88334675e (diff) |
2015-06-25 Andrew MacLeod <amacleod@redhat.com>
* function.h (struct incoming_args): Move struct.
(pass_by_reference, reference_callee_copied): Remove prototypes.
* emit-rtl.h (struct incoming_args): Relocate struct here.
* calls.h (pass_by_reference, reference_callee_copied): Relocate
prototypes here.
* function.c (pass_by_reference, reference_callee_copied): Move.
* calls.c (pass_by_reference, reference_callee_copied): Relocate here.
* cfgloop.h: Don't include tm.h or hard-reg-set.h.
* ipa-chkp.c: Include calls.h.
* ada/gcc-interface/misc.c: Include calls.h not function.h.
* c-family/cilk.c: Move calls.h after tm.h in the include chain.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224951 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.h')
-rw-r--r-- | gcc/emit-rtl.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h index cccb1acbdcb..f52c3357b9c 100644 --- a/gcc/emit-rtl.h +++ b/gcc/emit-rtl.h @@ -23,6 +23,36 @@ along with GCC; see the file COPYING3. If not see struct temp_slot; typedef struct temp_slot *temp_slot_p; +/* Information mainlined about RTL representation of incoming arguments. */ +struct GTY(()) incoming_args { + /* Number of bytes of args popped by function being compiled on its return. + Zero if no bytes are to be popped. + May affect compilation of return insn or of function epilogue. */ + int pops_args; + + /* If function's args have a fixed size, this is that size, in bytes. + Otherwise, it is -1. + May affect compilation of return insn or of function epilogue. */ + int size; + + /* # bytes the prologue should push and pretend that the caller pushed them. + The prologue must do this, but only if parms can be passed in + registers. */ + int pretend_args_size; + + /* This is the offset from the arg pointer to the place where the first + anonymous arg can be found, if there is one. */ + rtx arg_offset_rtx; + + /* Quantities of various kinds of registers + used for the current function's args. */ + CUMULATIVE_ARGS info; + + /* The arg pointer hard register, or the pseudo into which it was copied. */ + rtx internal_arg_pointer; +}; + + /* Datastructures maintained for currently processed function in RTL form. */ struct GTY(()) rtl_data { struct expr_status expr; |