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