diff options
author | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-23 03:55:36 +0000 |
---|---|---|
committer | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-23 03:55:36 +0000 |
commit | 64d5fb6a673d142101ac222b683d8829d85e9673 (patch) | |
tree | 1170a3a1c1f2485f21dace07e688e18f211fa1b8 /gcc/hooks.c | |
parent | 439a6dcaf0af95c43c83a0033b32cc1a2ee5f73e (diff) | |
download | gcc-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.c | 7 |
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. */ |