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