This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tuples] meaning of DECL_SAVED_TREE while analyzing cgraph
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: jh at suse dot cz
- Cc: dnovillo at google dot com, gcc at gcc dot gnu dot org
- Date: Thu, 26 Jul 2007 17:11:22 -0400
- Subject: [tuples] meaning of DECL_SAVED_TREE while analyzing cgraph
Hi Jan.
What do you expect DECL_SAVED_TREE to have in cgraph_analyze_functions:
/* ??? It is possible to create extern inline function and later using
weak alias attribute to kill its body. See
gcc.c-torture/compile/20011119-1.c */
if (!DECL_SAVED_TREE (decl))
{
cgraph_reset_node (node);
continue;
}
gcc_assert (!node->analyzed && node->reachable);
gcc_assert (DECL_SAVED_TREE (decl));
It was my understanding that DECL_SAVED_TREE was to be cleared after the
tree optimizers executed, and Diego is explicitly killing it now right
after gimplification-- at the end of gimplify_function_tree:
/* The tree body of the function is no longer needed, replace it
with the new GIMPLE body. */
set_gimple_body (fndecl, seq);
DECL_SAVED_TREE (fndecl) = NULL_TREE;
I also thought that after the CFG was built, DECL_SAVED_TREE had nothing
of value left.
So, what do you expect it to have? Can we use something in the tuple
body now, or do you are you overloading DECL_SAVED_TREE for somthing
else? Also, the assertion of DECL_SAVED_TREE above is unecessary, since
you've already checked for a lack of it, and looped.
Please let me know.
Thanks.
Aldy