summaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2007-10-16 09:13:47 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2007-10-16 09:13:47 +0000
commit215b063c9d8700616d5c189cd12eef4e748de5fe (patch)
treef33444e9bf6a5e0115d66e6ac3261973224f32ca /gcc/target-def.h
parent50f2fe3ad42ccf45a62d3bc899f55d5c068891ac (diff)
downloadgcc-215b063c9d8700616d5c189cd12eef4e748de5fe.tar.gz
target.h (unspec_may_trap_p): New target hook.
2007-10-16 Paolo Bonzini <bonzini@gnu.org> Maxim Kuvyrkov <maxim@codesourcery.com> * target.h (unspec_may_trap_p): New target hook. * target-def.h (TARGET_UNSPEC_MAY_TRAP_P): New macro. * targhooks.c (default_unspec_may_trap_p): Default implementation of the hook. * targhooks.h (default_unspec_may_trap_p): Declare it. * doc/tm.texi (TARGET_UNSPEC_MAY_TRAP_P): Document new hook. * rtlanal.c (may_trap_p_1): Use new hook. Make global. * rtl.h (may_trap_p_1): Declare. * config/ia64/ia64.c (ia64_unspec_may_trap_p): New function to override default hook implementation. (TARGET_UNSPEC_MAY_TRAP_P): Override default implementation of the hook. * gcc.target/ia64/20040709-2.c: New test. Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com> From-SVN: r129378
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r--gcc/target-def.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h
index 5f5c6f3ae27..c2f7d3f2ff3 100644
--- a/gcc/target-def.h
+++ b/gcc/target-def.h
@@ -480,6 +480,8 @@
#define TARGET_MANGLE_TYPE hook_constcharptr_const_tree_null
#define TARGET_ALLOCATE_INITIAL_VALUE NULL
+#define TARGET_UNSPEC_MAY_TRAP_P default_unspec_may_trap_p
+
#ifndef TARGET_SET_CURRENT_FUNCTION
#define TARGET_SET_CURRENT_FUNCTION hook_void_tree
#endif
@@ -741,6 +743,7 @@
TARGET_RTX_COSTS, \
TARGET_ADDRESS_COST, \
TARGET_ALLOCATE_INITIAL_VALUE, \
+ TARGET_UNSPEC_MAY_TRAP_P, \
TARGET_DWARF_REGISTER_SPAN, \
TARGET_INIT_DWARF_REG_SIZES_EXTRA, \
TARGET_FIXED_CONDITION_CODE_REGS, \