libFirm
Loading...
Searching...
No Matches
cgana.h
1/*
2 * This file is part of libFirm.
3 * Copyright (C) 2012 University of Karlsruhe.
4 */
5
19#ifndef FIRM_ANA_CGANA_H
20#define FIRM_ANA_CGANA_H
21
22#include <stddef.h>
23#include "firm_types.h"
24
25#include "begin.h"
26
54FIRM_API size_t cgana(ir_entity ***free_methods);
55
63FIRM_API void free_callee_info(ir_graph *irg);
65FIRM_API void free_irp_callee_info(void);
66
71FIRM_API void opt_call_addrs(void);
72
90FIRM_API int cg_call_has_callees(const ir_node *node);
92FIRM_API size_t cg_get_call_n_callees(const ir_node *node);
94FIRM_API ir_entity *cg_get_call_callee(const ir_node *node, size_t pos);
95
99FIRM_API void cg_set_call_callee_arr(ir_node *node, size_t n, ir_entity **arr);
102
105#include "end.h"
106
107#endif
size_t cgana(ir_entity ***free_methods)
Analyses a rough estimation of the possible call graph.
void free_callee_info(ir_graph *irg)
Frees callee information.
int cg_call_has_callees(const ir_node *node)
Sets, get and remove the callee information for a Call node.
ir_entity * cg_get_call_callee(const ir_node *node, size_t pos)
Returns callee number pos of Call node node.
void cg_remove_call_callee_arr(ir_node *node)
Frees callee array of call node node.
void free_irp_callee_info(void)
Frees callee information for all graphs in the current program.
void opt_call_addrs(void)
Optimizes the address expressions passed to call nodes.
void cg_set_call_callee_arr(ir_node *node, size_t n, ir_entity **arr)
Sets the full callee array.
size_t cg_get_call_n_callees(const ir_node *node)
Returns the number of callees of Call node node.
struct ir_graph ir_graph
Procedure Graph.
Definition firm_types.h:74
struct ir_node ir_node
Procedure Graph Node.
Definition firm_types.h:53
struct ir_entity ir_entity
Entity.
Definition firm_types.h:83