aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2005-03-23 03:55:36 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2005-03-23 03:55:36 +0000
commit61158923135f19faa41c7ec297b630a1437e13cc (patch)
tree1170a3a1c1f2485f21dace07e688e18f211fa1b8 /gcc/target.h
parent06cd9d722014967a0769f4771edf4a3f3953b087 (diff)
downloadgcc-61158923135f19faa41c7ec297b630a1437e13cc.zip
gcc-61158923135f19faa41c7ec297b630a1437e13cc.tar.gz
gcc-61158923135f19faa41c7ec297b630a1437e13cc.tar.bz2
tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not imply that this is called once, independent of asms in code.
* 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. From-SVN: r96923
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/target.h b/gcc/target.h
index 152cb7d..bb914da 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -487,8 +487,8 @@ struct gcc_target
rtx (* builtin_setjmp_frame_value) (void);
/* This target hook should add STRING_CST trees for any hard regs
- the port wishes to automatically clobber for all asms. */
- tree (* md_asm_clobbers) (tree);
+ the port wishes to automatically clobber for an asm. */
+ tree (* md_asm_clobbers) (tree, tree, tree);
/* This target hook allows the backend to specify a calling convention
in the debug information. This function actually returns an