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]

DECL_SAVED_INSNS vs. tree inliner


Hi,

When I was looking at flag_inline_trees (which should go away) and
flag_inline_functions, I stumbled upon DECL_SAVED_INSNS.  I would expect
that the thing that this macro points to is _always_ equal to zero for C
and C++.  Indeed, in C++ there is this assertion:

  /* In C++, we should never be saving RTL for the function.  */
  my_friendly_assert (!DECL_SAVED_INSNS (fn), 20010903);

But in c-decl and c-semantics, this macro is still used.  Apparently
this is related to nested functions but I don't quite understand how,
and I couldn't figure it out from the code.

So my question is, should DECL_SAVED_INSNS alwasy be equal zero if the
tree inliner is used?  If not, why?

This is relevant because _if_ this macro should be zero, then we can
fold the saved_tree member of tree_decl in the decl_u2 union once the
uses_rtl_inliner langhook is in place.

Thanks,
Steven



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