forked from GPUOpen-Tools/radeon_compute_profiler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CLRetCodeAnalyzer.h
60 lines (48 loc) · 1.82 KB
/
CLRetCodeAnalyzer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//==============================================================================
// Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.
/// \author AMD Developer Tools Team
/// \file
/// \brief This analyzer class analyzes opencl return codes; reports errors for failures
//==============================================================================
#ifndef _CL_RET_CODE_ANALYZER_H_
#define _CL_RET_CODE_ANALYZER_H_
#include <map>
#include <string>
#include <list>
#include "CLAPIAnalyzer.h"
//------------------------------------------------------------------------------------
/// OpenCL Return code analyzer
//------------------------------------------------------------------------------------
class CLRetCodeAnalyzer :
public CLAPIAnalyzer
{
public:
/// Constructor
/// \param pManager CLAPIAnalyzerManager pointer
CLRetCodeAnalyzer(CLAPIAnalyzerManager* pManager);
/// Destructor
~CLRetCodeAnalyzer(void);
/// Callback function for flattened APIs
/// \param pAPIInfo APIInfo object
void FlattenedAPIAnalyze(APIInfo* pAPIInfo);
/// Analyze API
/// \param pAPIInfo APIInfo object
void Analyze(APIInfo* pAPIInfo);
/// Generate APIAnalyzerMessage
void EndAnalyze();
/// Override clear
void Clear();
private:
/// Copy constructor
/// \param obj object
CLRetCodeAnalyzer(const CLRetCodeAnalyzer& obj);
/// Assignment operator
/// \param obj object
/// \return ref to itself
const CLRetCodeAnalyzer& operator = (const CLRetCodeAnalyzer& obj);
/// map from OCL API to the parameter index that contains the return code
/// abscence from this map indicates an API returns its return code
/// as the return value and not a parameter
std::map<CL_FUNC_TYPE, unsigned int> m_retCodeArgMap;
};
#endif //_CL_RET_CODE_ANALYZER_H_