• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2013.11/lib/gcc/arm-none-eabi/4.8.1/plugin/include/
1/* Utilities for ipa analysis.
2   Copyright (C) 2004-2013 Free Software Foundation, Inc.
3   Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 3, or (at your option) any later
10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING3.  If not see
19<http://www.gnu.org/licenses/>.  */
20
21#ifndef GCC_IPA_UTILS_H
22#define GCC_IPA_UTILS_H
23#include "tree.h"
24#include "cgraph.h"
25
26struct ipa_dfs_info {
27  int dfn_number;
28  int low_link;
29  /* This field will have the samy value for any two nodes in the same strongly
30     connected component.  */
31  int scc_no;
32  bool new_node;
33  bool on_stack;
34  struct cgraph_node* next_cycle;
35  PTR aux;
36};
37
38
39
40/* In ipa-utils.c  */
41void ipa_print_order (FILE*, const char *, struct cgraph_node**, int);
42int ipa_reduced_postorder (struct cgraph_node **, bool, bool,
43			  bool (*ignore_edge) (struct cgraph_edge *));
44void ipa_free_postorder_info (void);
45vec<cgraph_node_ptr> ipa_get_nodes_in_cycle (struct cgraph_node *);
46int ipa_reverse_postorder (struct cgraph_node **);
47tree get_base_var (tree);
48
49
50#endif  /* GCC_IPA_UTILS_H  */
51
52
53