1 /** vim: set sw=4 ts=4:
4 * @author Adam M. Szalkowski
7 * Code instrumentation and execution count profiling
9 * Copyright (C) 2006 Universitaet Karlsruhe
10 * Released under the GPL
17 * Instruments irgs with profile code
18 * @param filename The name of the output file for the profile information
19 * @return The irg doing the profile initialization.
21 ir_graph * be_profile_instrument(const char *filename);
24 * Reads the corresponding profile info file if it exists and returns a
26 * @param filename The name of the file containing profile information
28 void be_profile_read(const char *filename);
31 * Frees the profile info
33 void be_profile_free(void);
36 * Get block execution count as determined be profiling
38 unsigned int be_profile_get_block_execcount(const ir_node * block);
41 * Initializes exec_freq structure for an irg based on profile data
43 exec_freq_t *be_create_execfreqs_from_profile(ir_graph *irg);
46 * Tells whether profile module has acquired data
48 int be_profile_has_data(void);
50 #endif /* _BEPROFILE_H_ */