aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Bosscher <stevenb@suse.de>2004-07-07 22:03:43 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2004-07-07 22:03:43 +0000
commitd205c8fd4335353a9af4403f6ac7a3c867259838 (patch)
treead46e21568bae02ac2dd247af4e225655ffa12cd
parent41e622a8d284cf9adb504c234986c535347ce1a8 (diff)
downloadgcc-d205c8fd4335353a9af4403f6ac7a3c867259838.zip
gcc-d205c8fd4335353a9af4403f6ac7a3c867259838.tar.gz
gcc-d205c8fd4335353a9af4403f6ac7a3c867259838.tar.bz2
tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS regardless of DECL_LANG_SPECIFIC being present or not.
* tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS regardless of DECL_LANG_SPECIFIC being present or not. * tree.h (DECL_NUM_STMTS): Purge. From-SVN: r84237
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-inline.c15
-rw-r--r--gcc/tree.h6
3 files changed, 12 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f6dc50e..a1aa654 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-07 Steven Bosscher <stevenb@suse.de>
+
+ * tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS
+ regardless of DECL_LANG_SPECIFIC being present or not.
+ * tree.h (DECL_NUM_STMTS): Purge.
+
2004-07-07 Andrew Pinski <apinski@apple.com>
* configure: Regenerate with the right autoconf.
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 2172f33..7387076 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -1773,6 +1773,7 @@ optimize_inline_calls (tree fn)
{
inline_data id;
tree prev_fn;
+ tree ifn;
/* There is no point in performing inlining if errors have already
occurred -- and we might crash if we try to inline invalid
@@ -1811,15 +1812,11 @@ optimize_inline_calls (tree fn)
/* Clean up. */
htab_delete (id.tree_pruner);
- if (DECL_LANG_SPECIFIC (fn))
- {
- tree ifn = make_tree_vec (VARRAY_ACTIVE_SIZE (id.inlined_fns));
-
- if (VARRAY_ACTIVE_SIZE (id.inlined_fns))
- memcpy (&TREE_VEC_ELT (ifn, 0), &VARRAY_TREE (id.inlined_fns, 0),
- VARRAY_ACTIVE_SIZE (id.inlined_fns) * sizeof (tree));
- DECL_INLINED_FNS (fn) = ifn;
- }
+ ifn = make_tree_vec (VARRAY_ACTIVE_SIZE (id.inlined_fns));
+ if (VARRAY_ACTIVE_SIZE (id.inlined_fns))
+ memcpy (&TREE_VEC_ELT (ifn, 0), &VARRAY_TREE (id.inlined_fns, 0),
+ VARRAY_ACTIVE_SIZE (id.inlined_fns) * sizeof (tree));
+ DECL_INLINED_FNS (fn) = ifn;
#ifdef ENABLE_CHECKING
{
diff --git a/gcc/tree.h b/gcc/tree.h
index ab22cda..d8c7be2 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1860,12 +1860,6 @@ extern GTY (()) unsigned binfo_lang_slots;
this identifies which built-in operation it is. */
#define DECL_FUNCTION_CODE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.u1.f)
-/* In a FUNCTION_DECL for which DECL_BUILT_IN does not hold, this is
- the approximate number of statements in this function. There is
- no need for this number to be exact; it is only used in various
- heuristics regarding optimization. */
-#define DECL_NUM_STMTS(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.u1.i)
-
/* The DECL_VINDEX is used for FUNCTION_DECLS in two different ways.
Before the struct containing the FUNCTION_DECL is laid out,
DECL_VINDEX may point to a FUNCTION_DECL in a base class which