21#ifndef GCC_ANALYZER_PROGRAM_POINT_H
22#define GCC_ANALYZER_PROGRAM_POINT_H
148 static int cmp_ptr (
const void *p1,
const void *p2);
187 std::unique_ptr<json::object>
to_json ()
const;
197 return !(*
this == other);
Definition call-string.h:48
unsigned length() const
Definition call-string.h:97
Definition exploded-graph.h:791
Definition program-point.h:73
function * get_function() const
location_t get_location() const
static function_point after_supernode(const supernode *supernode)
Definition program-point.h:126
const supernode * m_supernode
Definition program-point.h:156
static function_point before_stmt(const supernode *supernode, unsigned stmt_idx)
Definition program-point.h:120
const superedge * get_from_edge() const
Definition program-point.h:100
void print(pretty_printer *pp, const format &f) const
bool operator==(const function_point &other) const
Definition program-point.h:85
const gimple * get_stmt() const
function_point(const supernode *supernode, const superedge *from_edge, unsigned stmt_idx, enum point_kind kind)
const superedge * m_from_edge
Definition program-point.h:159
static int cmp_ptr(const void *p1, const void *p2)
function_point get_next() const
static int cmp_within_supernode_1(const function_point &point_a, const function_point &point_b)
static function_point before_supernode(const supernode *supernode, const superedge *from_edge)
unsigned get_stmt_idx() const
Definition program-point.h:104
unsigned m_stmt_idx
Definition program-point.h:162
enum point_kind m_kind
Definition program-point.h:164
static function_point empty()
Definition program-point.h:133
static int cmp(const function_point &point_a, const function_point &point_b)
const supernode * get_supernode() const
Definition program-point.h:95
enum point_kind get_kind() const
Definition program-point.h:99
static function_point from_function_entry(const supergraph &sg, const function &fun)
void print_source_line(pretty_printer *pp) const
static function_point deleted()
Definition program-point.h:137
static int cmp_within_supernode(const function_point &point_a, const function_point &point_b)
bool final_stmt_p() const
Definition program-point.h:175
location_t get_location() const
Definition program-point.h:223
void push_to_call_stack(const supernode *caller, const supernode *callee)
function * get_function() const
Definition program-point.h:209
bool operator!=(const program_point &other) const
Definition program-point.h:195
void print(pretty_printer *pp, const format &f) const
static program_point before_stmt(const supernode *supernode, unsigned stmt_idx, const call_string &call_string)
Definition program-point.h:266
std::unique_ptr< json::object > to_json() const
bool on_edge(exploded_graph &eg, const superedge *succ)
program_point get_next() const
bool operator==(const program_point &other) const
Definition program-point.h:190
static program_point empty()
Definition program-point.h:283
static program_point deleted()
Definition program-point.h:287
const supernode * get_supernode() const
Definition program-point.h:205
static program_point from_function_entry(const region_model_manager &mgr, const supergraph &sg, const function &fun)
int get_stack_depth() const
Definition program-point.h:244
const call_string & get_call_string() const
Definition program-point.h:203
function_point m_function_point
Definition program-point.h:312
function * get_function_at_depth(unsigned depth) const
void pop_from_call_stack()
enum point_kind get_kind() const
Definition program-point.h:227
const function_point & get_function_point() const
Definition program-point.h:202
static program_point after_supernode(const supernode *supernode, const call_string &call_string)
Definition program-point.h:274
static bool effectively_intraprocedural_p(const program_point &point_a, const program_point &point_b)
static program_point before_supernode(const supernode *supernode, const superedge *from_edge, const call_string &call_string)
Definition program-point.h:257
const superedge * get_from_edge() const
Definition program-point.h:231
static program_point origin(const region_model_manager &mgr)
unsigned get_stmt_idx() const
Definition program-point.h:235
program_point(const function_point &fn_point)
Definition program-point.h:306
void next_stmt()
Definition program-point.h:298
program_point(const function_point &fn_point, const call_string &call_string)
Definition program-point.h:177
tree get_fndecl() const
Definition program-point.h:214
const gimple * get_stmt() const
Definition program-point.h:219
const call_string * m_call_string
Definition program-point.h:313
Definition region-model-manager.h:32
Definition supergraph.h:314
Definition supergraph.h:109
Definition supergraph.h:235
Definition pretty-print.h:241
union tree_node * tree
Definition coretypes.h:97
Definition access-diagram.h:30
const char * point_kind_to_string(enum point_kind pk)
point_kind
Definition program-point.h:33
@ PK_AFTER_SUPERNODE
Definition program-point.h:39
@ PK_EMPTY
Definition program-point.h:42
@ NUM_POINT_KINDS
Definition program-point.h:45
@ PK_DELETED
Definition program-point.h:43
@ PK_BEFORE_STMT
Definition program-point.h:38
@ PK_BEFORE_SUPERNODE
Definition program-point.h:37
@ PK_ORIGIN
Definition program-point.h:35
void pp_newline(pretty_printer *pp)
Definition pretty-print.cc:2626
#define pp_space(PP)
Definition pretty-print.h:485
Definition function.h:249
tree decl
Definition function.h:280
#define NULL
Definition system.h:50
#define gcc_assert(EXPR)
Definition system.h:814