diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 2008-07-23 10:28:06 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2008-07-23 10:28:06 +0000 |
commit | ab442df7fb453434d80a779844fe1a10c0c802ab (patch) | |
tree | efd8e61a3d2ff9dcff5eb5bf03e25922191f7df5 /gcc/target-def.h | |
parent | 5295185c3150a8d31685dc44248aa058246bbe73 (diff) | |
download | gcc-ab442df7fb453434d80a779844fe1a10c0c802ab.zip gcc-ab442df7fb453434d80a779844fe1a10c0c802ab.tar.gz gcc-ab442df7fb453434d80a779844fe1a10c0c802ab.tar.bz2 |
Add ability to set target options (ix86 only) and optimization options on a function specific basis
From-SVN: r138075
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 29ed888..1d138e5 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, \ |