diff options
author | Yan Wang <yan.wang@linux.intel.com> | 2016-02-01 15:34:49 +0800 |
---|---|---|
committer | Yang Rong <rong.r.yang@intel.com> | 2016-04-22 17:23:30 +0800 |
commit | 82ddab96c96c5c57160467d6a15e39e21a0041f9 (patch) | |
tree | 999f38d0b71a6d0486c267af1ce413c0b11e52fe /backend | |
parent | 92e774327b9d927ea4bb80b5e7782ce6d4b873c6 (diff) | |
download | beignet-82ddab96c96c5c57160467d6a15e39e21a0041f9.tar.gz |
Add PrintfLog structure.
Contributor: Junyan He <junyan.he@linux.intel.com>
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
Reviewed-by: Yan Wang <yan.wang@linux.intel.com>
Reviewed-by: Junyan He <junyan.he@linux.intel.com>
Diffstat (limited to 'backend')
-rw-r--r-- | backend/src/ir/printf.hpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/backend/src/ir/printf.hpp b/backend/src/ir/printf.hpp index def6331f..6b2b7413 100644 --- a/backend/src/ir/printf.hpp +++ b/backend/src/ir/printf.hpp @@ -144,6 +144,31 @@ namespace gbe } }; + struct PrintfLog { + uint32_t magic; // 0xAABBCCDD as magic for ASSERT. + uint32_t size; // Size of this printf log, include header. + uint32_t statementNum; // which printf within one kernel. + const char* content; + + PrintfLog(const char* p) { + GBE_ASSERT(*((uint32_t *)p) == 0xAABBCCDD); + magic = *((uint32_t *)p); + p += sizeof(uint32_t); + size = *((uint32_t *)p); + p += sizeof(uint32_t); + statementNum = *((uint32_t *)p); + p += sizeof(uint32_t); + content = p; + } + + template <typename T> + T getData(void) { + T D = *((T *)content); + content += sizeof(T); + return D; + } + }; + class Context; class PrintfSet //: public Serializable |