aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2009-09-25 20:51:40 +0000
committerCary Coutant <ccoutant@google.com>2009-09-25 20:51:40 +0000
commit90ff80ffce47736ab7319058a44a0704a7fdb31e (patch)
tree3de65ba61f89a48c0ec028672acb475ea3f1819b /gcc/target.h
parentebd9739bcfd2dc4c6409fb0b96d95894191b2c28 (diff)
Merged revisions 151950:152181 from trunk.dwarf4
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/dwarf4@152186 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/target.h b/gcc/target.h
index c57b683a4fc..f964b6975f8 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -253,6 +253,9 @@ struct gcc_target
/* Some target machines need to postscan each insn after it is output. */
void (*final_postscan_insn) (FILE *, rtx, rtx *, int);
+
+ /* Emit the trampoline template. This hook may be NULL. */
+ void (*trampoline_template) (FILE *);
} asm_out;
/* Functions relating to instruction scheduling. */
@@ -915,7 +918,17 @@ struct gcc_target
/* Return true if all function parameters should be spilled to the
stack. */
bool (*allocate_stack_slots_for_args) (void);
-
+
+ /* Return an rtx for the static chain for FNDECL. If INCOMING_P is true,
+ then it should be for the callee; otherwise for the caller. */
+ rtx (*static_chain) (const_tree fndecl, bool incoming_p);
+
+ /* Fill in the trampoline at MEM with a call to FNDECL and a
+ static chain value of CHAIN. */
+ void (*trampoline_init) (rtx mem, tree fndecl, rtx chain);
+
+ /* Adjust the address of the trampoline in a target-specific way. */
+ rtx (*trampoline_adjust_address) (rtx addr);
} calls;
/* Return the diagnostic message string if conversion from FROMTYPE