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
16class profile_container;
17class inverted_profile;
18class 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 */
25bool 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 */
31void populate_for_spu_image(profile_container & samples,
32			    inverted_profile const & ip,
33			    string_filter const & symbol_filter,
34			    bool * has_debug_info);
35
36enum profile_type {
37	unknown_profile = -1,
38	normal_profile,
39	cell_spu_profile
40};
41
42#endif /* POPULATE_FOR_SPU_H */
43