osprey/kgccfe/gnu/profile.c File Reference

#include "config.h"
#include "system.h"
#include "rtl.h"
#include "tree.h"
#include "flags.h"
#include "insn-config.h"
#include "output.h"
#include "regs.h"
#include "expr.h"
#include "function.h"
#include "toplev.h"
#include "ggc.h"
#include "hard-reg-set.h"
#include "basic-block.h"
#include "gcov-io.h"
#include "target.h"
#include "profile.h"
#include "libfuncs.h"
#include "langhooks.h"
#include "gt-profile.h"

Include dependency graph for profile.c:

Go to the source code of this file.

Data Types

type  edge_info
type  bb_info

Defines

#define EDGE_INFO(e)   ((struct edge_info *) (e)->aux)
#define BB_INFO(b)   ((struct bb_info *) (b)->aux)
#define BB_TO_GCOV_INDEX(bb)
#define CHSUM_HASH   500000003
#define CHSUM_SHIFT   2

Functions/Subroutines

static void find_spanning_tree PARAMS ((struct edge_list *))
static void init_edge_profiler PARAMS ((void))
static rtx gen_edge_profiler PARAMS ((int))
static void output_gcov_string PARAMS ((const char *, long))
static basic_block find_group PARAMS ((basic_block))
static void union_groups PARAMS ((basic_block, basic_block))
static void instrument_edges (struct edge_list *el)
static void output_gcov_string (char *string, long delimiter) const
static gcov_typeget_exec_counts ()
static void compute_branch_probabilities ()
static long compute_checksum ()
void branch_prob ()
static basic_block find_group (basic_block bb)
static void union_groups (basic_block bb1, basic_block bb2)
static void find_spanning_tree (struct edge_list *el)
void init_branch_prob (char *filename) const
void end_branch_prob ()
static GTY (())
static rtx gen_edge_profiler (int edgeno)
void output_func_start_profiler ()

Variables

struct profile_info profile_info
static FILEbbg_file
static FILEda_file
static char * da_file_name
static FILEbb_file
static char * last_bb_file_name
static int total_num_blocks
static int total_num_edges
static int total_num_edges_ignored
static int total_num_edges_instrumented
static int total_num_blocks_created
static int total_num_passes
static int total_num_times_called
static int total_hist_br_prob [20]
static int total_num_never_executed
static int total_num_branches
static int need_func_profiler = 0


Define Documentation

#define BB_INFO ( b   )     ((struct bb_info *) (b)->aux)

Definition at line 121 of file profile.c.

#define BB_TO_GCOV_INDEX ( bb   ) 

Value:

((bb) == ENTRY_BLOCK_PTR ? 0    \
             : ((bb) == EXIT_BLOCK_PTR    \
          ? last_basic_block + 1 : (bb)->index + 1))

Definition at line 125 of file profile.c.

#define CHSUM_HASH   500000003

Definition at line 740 of file profile.c.

#define CHSUM_SHIFT   2

Definition at line 741 of file profile.c.

#define EDGE_INFO (  )     ((struct edge_info *) (e)->aux)

Definition at line 120 of file profile.c.


Function Documentation

void branch_prob ( void   ) 

static void compute_branch_probabilities ( void   )  [static]

static long compute_checksum ( void   )  [static]

void end_branch_prob ( void   ) 

static basic_block find_group ( basic_block  bb  )  [static]

Definition at line 1086 of file profile.c.

References basic_block_def::aux, and while().

static void find_spanning_tree ( struct edge_list el  )  [static]

static rtx gen_edge_profiler ( int  edgeno  )  [static]

static gcov_type* get_exec_counts ( void   )  [static]

static GTY ( ()   )  [static]

Definition at line 1308 of file profile.c.

References ASM_GENERATE_INTERNAL_LABEL, buf, gen_rtx_SYMBOL_REF, ggc_strdup, and Pmode.

void init_branch_prob ( char *  filename  )  const

static void instrument_edges ( struct edge_list el  )  [static]

void output_func_start_profiler (  ) 

static void output_gcov_string ( char *  string,
long  delimiter 
) const [static]

Definition at line 230 of file profile.c.

References __write_long(), bb_file, c, fwrite, and strlen().

static void union_groups PARAMS ( (basic_block, basic_block  )  [static]

static basic_block find_group PARAMS ( (basic_block  )  [static]

static void output_gcov_string PARAMS ( (const char *, long  )  [static]

static rtx gen_edge_profiler PARAMS ( (int)   )  [static]

static void init_edge_profiler PARAMS ( (void  )  [static, read]

Definition at line 77 of file cplus-dem.c.

static void find_spanning_tree PARAMS ( (struct edge_list *)   )  [static]

static void union_groups ( basic_block  bb1,
basic_block  bb2 
) [static]

Definition at line 1105 of file profile.c.

References abort, basic_block_def::aux, and find_group().


Variable Documentation

FILE* bb_file [static]

Definition at line 143 of file profile.c.

FILE* bbg_file [static]

Definition at line 135 of file profile.c.

FILE* da_file [static]

Definition at line 139 of file profile.c.

char* da_file_name [static]

Definition at line 140 of file profile.c.

char* last_bb_file_name [static]

Definition at line 147 of file profile.c.

int need_func_profiler = 0 [static]

Definition at line 177 of file profile.c.

Definition at line 131 of file profile.c.

int total_hist_br_prob[20] [static]

Definition at line 159 of file profile.c.

int total_num_blocks [static]

Definition at line 152 of file profile.c.

Definition at line 156 of file profile.c.

int total_num_branches [static]

Definition at line 161 of file profile.c.

int total_num_edges [static]

Definition at line 153 of file profile.c.

Definition at line 154 of file profile.c.

Definition at line 155 of file profile.c.

Definition at line 160 of file profile.c.

int total_num_passes [static]

Definition at line 157 of file profile.c.

int total_num_times_called [static]

Definition at line 158 of file profile.c.


Generated on Wed Apr 8 15:42:01 2009 for Open64 by  doxygen 1.5.6