summaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorYan Wang <yan.wang@linux.intel.com>2016-02-01 15:34:49 +0800
committerYang Rong <rong.r.yang@intel.com>2016-04-22 17:23:30 +0800
commit82ddab96c96c5c57160467d6a15e39e21a0041f9 (patch)
tree999f38d0b71a6d0486c267af1ce413c0b11e52fe /backend
parent92e774327b9d927ea4bb80b5e7782ce6d4b873c6 (diff)
downloadbeignet-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.hpp25
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