diff options
author | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-23 10:28:06 +0000 |
---|---|---|
committer | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-23 10:28:06 +0000 |
commit | 46f8e3b0dc1cbb88c7dde984d0f0c2ce8935011d (patch) | |
tree | efd8e61a3d2ff9dcff5eb5bf03e25922191f7df5 /gcc/target-def.h | |
parent | e22d2ad745ca3d2ac08936833a802ffc161fc89b (diff) | |
download | gcc-46f8e3b0dc1cbb88c7dde984d0f0c2ce8935011d.tar.gz |
Add ability to set target options (ix86 only) and optimization options on a function specific basis
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138075 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r-- | gcc/target-def.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h index 29ed88873b2..1d138e5fb68 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -758,6 +758,41 @@ TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS \ } +/* Function specific option attribute support. */ +#ifndef TARGET_OPTION_VALID_ATTRIBUTE_P +#define TARGET_OPTION_VALID_ATTRIBUTE_P NULL +#endif + +#ifndef TARGET_OPTION_SAVE +#define TARGET_OPTION_SAVE NULL +#endif + +#ifndef TARGET_OPTION_RESTORE +#define TARGET_OPTION_RESTORE NULL +#endif + +#ifndef TARGET_OPTION_PRINT +#define TARGET_OPTION_PRINT NULL +#endif + +#ifndef TARGET_OPTION_PRAGMA_PARSE +#define TARGET_OPTION_PRAGMA_PARSE NULL +#endif + +#ifndef TARGET_OPTION_CAN_INLINE_P +#define TARGET_OPTION_CAN_INLINE_P default_target_option_can_inline_p +#endif + +#define TARGET_OPTION_HOOKS \ + { \ + TARGET_OPTION_VALID_ATTRIBUTE_P, \ + TARGET_OPTION_SAVE, \ + TARGET_OPTION_RESTORE, \ + TARGET_OPTION_PRINT, \ + TARGET_OPTION_PRAGMA_PARSE, \ + TARGET_OPTION_CAN_INLINE_P, \ + } + /* The whole shebang. */ #define TARGET_INITIALIZER \ { \ @@ -854,6 +889,7 @@ TARGET_C, \ TARGET_CXX, \ TARGET_EMUTLS, \ + TARGET_OPTION_HOOKS, \ TARGET_EXTRA_LIVE_ON_ENTRY, \ TARGET_UNWIND_TABLES_DEFAULT, \ TARGET_HAVE_NAMED_SECTIONS, \ |