This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]