diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 2008-07-25 23:44:24 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2008-07-25 23:44:24 +0000 |
commit | a51fa0f4caad62b4dcc3590a9ec611236b8ef1f9 (patch) | |
tree | 330eb2ef57fad7b5b44cf68983fb078c468d04e8 /gcc/c-common.c | |
parent | 26f130aa70c58a1ea994cb34527c4e8fa37c49c4 (diff) | |
download | gcc-a51fa0f4caad62b4dcc3590a9ec611236b8ef1f9.zip gcc-a51fa0f4caad62b4dcc3590a9ec611236b8ef1f9.tar.gz gcc-a51fa0f4caad62b4dcc3590a9ec611236b8ef1f9.tar.bz2 |
Fix IA-64 breakage...
Fix IA-64 breakage; Make hot/cold optimization conversation port specific; Move
disabling of scheduling from OVERRIDE_OPTIONS to OPTIMIZATION_OPTIONS
Files modified:
gcc/doc/extend.texi
gcc/doc/tm.texi
gcc/target.h
gcc/ChangeLog
gcc/testsuite/gcc.target/i386/cmov8.c
gcc/testsuite/gcc.target/i386/funcspec-10.c
gcc/testsuite/gcc.target/i386/funcspec-11.c
gcc/testsuite/ChangeLog
gcc/target-def.h
gcc/c-common.c
gcc/config/i386/i386.c
gcc/config/ia64/ia64.c
From-SVN: r138154
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r-- | gcc/c-common.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c index fbb5f88..c9ffd9c 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -5046,7 +5046,6 @@ handle_hot_attribute (tree *node, tree name, tree ARG_UNUSED (args), name, "cold"); *no_add_attrs = true; } - else { tree old_opts = DECL_FUNCTION_SPECIFIC_OPTIMIZATION (*node); @@ -5054,6 +5053,7 @@ handle_hot_attribute (tree *node, tree name, tree ARG_UNUSED (args), /* If we are not at -O3, but are optimizing, turn on -O3 optimizations just for this one function. */ if (((optimize > 0 && optimize < 3) || optimize_size) + && targetm.target_option.hot_attribute_sets_optimization && (!old_opts || old_opts == optimization_default_node)) { /* Create the hot optimization node if needed. */ @@ -5071,9 +5071,9 @@ handle_hot_attribute (tree *node, tree name, tree ARG_UNUSED (args), DECL_FUNCTION_SPECIFIC_OPTIMIZATION (*node) = optimization_hot_node; } + /* Most of the rest of the hot processing is done later with + lookup_attribute. */ } - /* Most of the rest of the hot processing is done later with - lookup_attribute. */ } else { @@ -5105,6 +5105,7 @@ handle_cold_attribute (tree *node, tree name, tree ARG_UNUSED (args), /* If we are optimizing, but not optimizing for space, turn on -Os optimizations just for this one function. */ if (optimize && !optimize_size + && targetm.target_option.cold_attribute_sets_optimization && (!old_opts || old_opts == optimization_default_node)) { /* Create the cold optimization node if needed. */ @@ -5122,6 +5123,8 @@ handle_cold_attribute (tree *node, tree name, tree ARG_UNUSED (args), DECL_FUNCTION_SPECIFIC_OPTIMIZATION (*node) = optimization_cold_node; } + /* Most of the rest of the cold processing is done later with + lookup_attribute. */ } } else |