Imported Upstream version 0.9.8
[platform/upstream/oprofile.git] / libpp / populate_for_spu.h
1 /**
2  * @file libpp/populate_for_spu.h
3  * Fill up a profile_container from inverted profiles for
4  * a Cell BE SPU profile
5  *
6  * @remark Copyright 2007 OProfile authors
7  * @remark Read the file COPYING
8  *
9  * @author Maynard Johnson
10  * (C) Copyright IBM Corporation 2007
11  */
12
13 #ifndef POPULATE_FOR_SPU_H
14 #define POPULATE_FOR_SPU_H
15
16 class profile_container;
17 class inverted_profile;
18 class string_filter;
19
20 /*
21  * When profiling SPUs on Cell Broadband Engine, all sample file
22  * headers get a flag set indicating "spu_profile".  This function
23  * checks the first sample file for this indicator.
24  */
25 bool is_spu_profile(inverted_profile const & ip);
26
27 /*
28  * This is a special-purpose function for CELL BE SPU profiling.
29  * See populate_spu_profile_from_files prologue for more details.
30  */
31 void populate_for_spu_image(profile_container & samples,
32                             inverted_profile const & ip,
33                             string_filter const & symbol_filter,
34                             bool * has_debug_info);
35
36 enum profile_type {
37         unknown_profile = -1,
38         normal_profile,
39         cell_spu_profile
40 };
41
42 #endif /* POPULATE_FOR_SPU_H */