aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2006-05-11 18:11:37 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2006-05-11 16:11:37 +0000
commit5d342ef9c5cc43ddfb479b4057dd8b5f8a33ce24 (patch)
treed791723d7bed742ec79f12a078d98ab9e416c41f
parent7ebcc52c5a640d18127d21d0d359bb318b452f7d (diff)
downloadgcc-5d342ef9c5cc43ddfb479b4057dd8b5f8a33ce24.zip
gcc-5d342ef9c5cc43ddfb479b4057dd8b5f8a33ce24.tar.gz
gcc-5d342ef9c5cc43ddfb479b4057dd8b5f8a33ce24.tar.bz2
cgraphunit.c (decide_is_function_needed): Don't force always_inline to be output at -O0.
* cgraphunit.c (decide_is_function_needed): Don't force always_inline to be output at -O0. From-SVN: r113704
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cgraphunit.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1ab7732..fff2191 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-05-11 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (decide_is_function_needed): Don't force always_inline
+ to be output at -O0.
+
2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR middle-end/27384
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 351f5f0..bfa7bff 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -219,9 +219,11 @@ decide_is_function_needed (struct cgraph_node *node, tree decl)
COMDAT functions that must be output only when they are needed.
When not optimizing, also output the static functions. (see
- PR25962)
+ PR25962), but don't do so for always_inline functions.
*/
- if (((TREE_PUBLIC (decl) || !optimize) && !flag_whole_program)
+ if (((TREE_PUBLIC (decl)
+ || (!optimize && !node->local.disregard_inline_limits))
+ && !flag_whole_program)
&& !DECL_COMDAT (decl) && !DECL_EXTERNAL (decl))
return true;