13 #ifndef FIRM_IR_IRDUMP_H 14 #define FIRM_IR_IRDUMP_H 18 #include "firm_types.h" 382 const
char *orientation);
void ir_remove_dump_flags(ir_dump_flags_t flags)
disable certain dump flags
void dump_ir_graph_ext(ir_graph_dump_func func, ir_graph *graph, const char *suffix)
Convenience interface for dumping graphs.
Dump all type attributes.
ir_dump_verbosity_t ir_get_dump_verbosity(void)
return currently set text dump flags
dump basic blocks as subgraphs which contain the nodes in the block
void dump_vcg_footer(FILE *out)
Prints the typical footer used in libfirm .vcg files to file out.
if set node idx will be added to node labels
void dump_ir_data_edges(FILE *out, const ir_node *node)
Prints vcg edges for firm graph node node to out.
dumps marked blocks with an asterisk in the label
void( dump_node_info_cb_t)(void *data, FILE *out, const ir_node *n)
A node info dumper callback.
turns of dumping of constant entity values in typegraphs
void(* ir_prog_dump_func)(FILE *out)
type for dumpers that dump information about the whole program
dump (parts of) typegraph along with nodes
Dump types and dynamic allocated fields (like a type declaration).
void ir_set_dump_filter(const char *name)
Sets a prefix filter for output functions.
show keepalive edges from the end node
void ir_add_dump_flags(ir_dump_flags_t flags)
add flags to the currently set dump flags
int(* dump_node_vcgattr_func)(FILE *out, const ir_node *node, const ir_node *local)
This hook is called to dump the vcg attributes of a node to a file.
dumps ld_names of entities instead of their names
struct ir_type ir_type
Type.
ir_dump_flags_t
A bitset indicating various options that affect what information is dumped and how exactly it is dump...
void dump_end_block_subgraph(FILE *out, const ir_node *block)
Prints the commands to end a vcg subgraph of firm block block to out.
ir_dump_verbosity_t
Verbosity for text dumpers.
void dump_callgraph_loop_tree(FILE *out)
Dumps the loop tree over the call graph.
void dump_class_hierarchy(FILE *out)
Dumps the class hierarchy with or without entities.
void dump_loop(FILE *out, ir_loop *loop)
Dumps the firm nodes in the sub-loop-tree of loop to a vcg file.
void set_dump_edge_vcgattr_hook(dump_edge_vcgattr_func hook)
Sets the edge_vcgattr hook.
void dump_block_edges(FILE *out, const ir_node *block)
Prints vcg edges for predecessors of firm block block to out.
void(* ir_graph_dump_func)(FILE *out, ir_graph *graph)
type for graph dumpers
void set_dump_node_vcgattr_hook(dump_node_vcgattr_func hook)
Sets the node_vcgattr hook.
If set constants will be replicated for every use.
void dump_globals_as_text(FILE *out)
Dumps all global variables as text.
Sets the vcg flag "display_edge_labels" to no.
hook_entry_t * dump_add_node_info_callback(dump_node_info_cb_t *cb, void *data)
Adds a new node info dumper callback.
void(* dump_node_edge_func)(FILE *out, const ir_node *node)
This hook allows dumping of additional edges (it is called outside a node: {} environment) ...
void print_nodeid(FILE *out, const ir_node *node)
Prints the vcg identifier for firm graph node node to out.
struct ir_loop ir_loop
Loop.
void dump_entity_to_file(FILE *out, const ir_entity *entity)
Write the entity and all its attributes to the passed file.
void set_dump_node_edge_hook(dump_node_edge_func func)
Sets the hook to be called to dump additional edges to a node.
dump all anchor nodes, even the unused ones
ir_dump_flags_t ir_get_dump_flags(void)
return currently set dump flags
void ir_set_dump_path(const char *path)
Specifies output path for the dump_ir_graph function.
const char * ir_get_dump_filter(void)
Returns the prefix filter set with ir_set_dump_filter.
if set (and backedge info is computed) dump backedges
void dump_ir_graph(ir_graph *graph, const char *suffix)
Convenience interface for dumping a graph as vcg file.
Dump types and methods (like a type declaration).
if set dumps edges from blocks to their immediate dominator
If set the dumper dumps loop nodes and edges from these nodes to the contained ir nodes...
dump_node_edge_func get_dump_node_edge_hook(void)
Returns the additional edge dump hook.
void dump_begin_block_subgraph(FILE *out, const ir_node *block)
Prints the commands to begin of a new vcg subgraph intended for firm block block to out...
void dump_ir_graph_file(FILE *out, ir_graph *graph)
Dumps all Firm nodes of a single graph for a single procedure in standard xvcg format.
void dump_vcg_header(FILE *out, const char *name, const char *layout, const char *orientation)
Prints the typical header used in libfirm .vcg files to file out.
Dump entity access statistics.
void dump_ir_prog_ext(ir_prog_dump_func func, const char *suffix)
Convenience interface for dumping the whole compilation-unit/program.
void dump_remove_node_info_callback(hook_entry_t *handle)
Removes a previously added info dumper callback.
dump_node_edge_func get_dump_block_edge_hook(void)
Returns the additional block edge dump hook.
void dump_blocks_as_subgraphs(FILE *out, ir_graph *irg)
Prints vcg nodes+edges for all node in firm graph irg to out.
void dump_loop_tree(FILE *out, ir_graph *graph)
Dump a standalone loop tree, which contains the loop nodes and the firm nodes belonging to one loop p...
void ir_set_dump_flags(ir_dump_flags_t flags)
override currently set dump flags with new ones
dump entities in class hierarchies
Dump types and fields (like a type declaration).
void dump_typegraph(FILE *out)
Dumps all type information.
void dump_type_to_file(FILE *out, const ir_type *type)
Write the type and all its attributes to the file passed.
struct ir_entity ir_entity
Entity.
struct ir_node ir_node
Procedure Graph Node.
void dump_graph_as_text(FILE *out, const ir_graph *graph)
Write the graph and all its attributes to the file passed.
void set_dump_block_edge_hook(dump_node_edge_func func)
Sets the hook to be called to dump additional edges to a block.
void dump_cfg(FILE *out, ir_graph *graph)
Dump the control flow graph of a procedure.
void dump_all_ir_graphs(const char *suffix)
A walker that calls a dumper for each graph in the program.
Dump all entity attributes.
struct ir_graph ir_graph
Procedure Graph.
int(* dump_edge_vcgattr_func)(FILE *out, const ir_node *node, int to)
This hook is called to dump the vcg attributes of an edge to a file.
void dump_node(FILE *out, const ir_node *node)
Prints vcg node for a single firm graph node node to out.
void dump_callgraph(FILE *out)
Dump the call graph.
void dump_types_as_text(FILE *out)
Dump type information as text.
if set node number will be added to node labels
void ir_set_dump_verbosity(ir_dump_verbosity_t verbosity)
override currently set text dump flags with new ones
dump backedges from iredges.h