You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA. */
+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301, USA. */
#ifndef GCC_CGRAPH_H
#define GCC_CGRAPH_H
struct cgraph_rtl_info GTY(())
{
int preferred_incoming_stack_boundary;
- bool const_function;
- bool pure_function;
};
/* The cgraph data structure.
struct cgraph_global_info *cgraph_global_info (tree);
struct cgraph_rtl_info *cgraph_rtl_info (tree);
const char * cgraph_node_name (struct cgraph_node *);
-struct cgraph_edge * cgraph_clone_edge (struct cgraph_edge *, struct cgraph_node *, tree, int, int);
-struct cgraph_node * cgraph_clone_node (struct cgraph_node *, gcov_type, int);
+struct cgraph_edge * cgraph_clone_edge (struct cgraph_edge *,
+ struct cgraph_node *,
+ tree, gcov_type, int, bool);
+struct cgraph_node * cgraph_clone_node (struct cgraph_node *, gcov_type,
+ int, bool);
struct cgraph_varpool_node *cgraph_varpool_node (tree);
struct cgraph_varpool_node *cgraph_varpool_node_for_asm (tree asmname);
bool cgraph_preserve_function_body_p (tree);
void verify_cgraph (void);
void verify_cgraph_node (struct cgraph_node *);
-void cgraph_mark_inline_edge (struct cgraph_edge *e);
-void cgraph_clone_inlined_nodes (struct cgraph_edge *e, bool duplicate);
void cgraph_build_static_cdtor (char which, tree body, int priority);
void cgraph_reset_static_var_maps (void);
void init_cgraph (void);
+struct cgraph_node *cgraph_function_versioning (struct cgraph_node *,
+ varray_type, varray_type);
/* In ipa.c */
bool cgraph_remove_unreachable_nodes (bool, FILE *);
int cgraph_postorder (struct cgraph_node **);
/* In ipa-inline.c */
-void cgraph_decide_inlining_incrementally (struct cgraph_node *);
-void cgraph_clone_inlined_nodes (struct cgraph_edge *, bool);
-void cgraph_mark_inline_edge (struct cgraph_edge *);
-bool cgraph_default_inline_p (struct cgraph_node *);
+bool cgraph_decide_inlining_incrementally (struct cgraph_node *, bool);
+void cgraph_clone_inlined_nodes (struct cgraph_edge *, bool, bool);
+void cgraph_mark_inline_edge (struct cgraph_edge *, bool);
+bool cgraph_default_inline_p (struct cgraph_node *, const char **);
#endif /* GCC_CGRAPH_H */