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