summaryrefslogtreecommitdiff
path: root/gcc/hooks.c
diff options
context:
space:
mode:
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-23 03:55:36 +0000
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-23 03:55:36 +0000
commit64d5fb6a673d142101ac222b683d8829d85e9673 (patch)
tree1170a3a1c1f2485f21dace07e688e18f211fa1b8 /gcc/hooks.c
parent439a6dcaf0af95c43c83a0033b32cc1a2ee5f73e (diff)
downloadgcc-64d5fb6a673d142101ac222b683d8829d85e9673.tar.gz
* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not
imply that this is called once, independent of asms in code. Adjust to now being pased output and input lists. Mention helper function decl_overlaps_hard_reg_set_p. * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Rename from hook_tree_tree_identity and to take three trees, returning third. * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Adjust the prototype. * stmt.c: include hard-reg-set.h before tree.h. (decl_overlaps_hard_reg_set_p): New function, broken out from... (decl_conflicts_with_clobbers_p): Call decl_overlaps_hard_reg_set_p. (expand_asm_operands): Pass output and input lists in call to targetm.md_asm_clobbers. * target-def.h (TARGET_MD_ASM_CLOBBERS): Define as hook_tree_tree_tree_tree_3rd_identity. * target.h (struct gcc_target.md_asm_clobbers): Take three tree parameters. * tree.h [HARD_CONST] (decl_overlaps_hard_reg_set_p): Prototype. * config/i386/i386.c (ix86_md_asm_clobbers): Adjust to three parameters, first two unused. * config/cris/cris.c (cris_md_asm_clobbers): Adjust to added parameters. Only add MOF to clobbers if there's no 'h' mentioned in constraint letters and MOF is not mentioned as a asm-declared register in neither of the input and output lists. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96923 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/hooks.c')
-rw-r--r--gcc/hooks.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/hooks.c b/gcc/hooks.c
index 274d427a931..6e6e7c70321 100644
--- a/gcc/hooks.c
+++ b/gcc/hooks.c
@@ -228,11 +228,12 @@ hook_rtx_tree_int_null (tree a ATTRIBUTE_UNUSED, int b ATTRIBUTE_UNUSED)
return NULL;
}
-/* Generic hook that takes a tree and returns it as is. */
+/* Generic hook that takes three trees and returns the last one as is. */
tree
-hook_tree_tree_identity (tree a)
+hook_tree_tree_tree_tree_3rd_identity (tree a ATTRIBUTE_UNUSED,
+ tree b ATTRIBUTE_UNUSED, tree c)
{
- return a;
+ return c;
}
/* Generic hook that takes a tree and returns a NULL string. */