[Beignet] [PATCH 04/18] Backend: Init the DBGInfo in all constructors.

junyan.he at inbox.com junyan.he at inbox.com
Thu Dec 24 03:01:56 PST 2015


From: Junyan He <junyan.he at linux.intel.com>

Signed-off-by: Junyan He <junyan.he at linux.intel.com>
---
 backend/src/backend/gen_encoder.cpp        | 1 +
 backend/src/backend/gen_insn_selection.cpp | 1 +
 backend/src/ir/context.cpp                 | 4 +++-
 backend/src/ir/instruction.hpp             | 3 +++
 4 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/backend/src/backend/gen_encoder.cpp b/backend/src/backend/gen_encoder.cpp
index 9f9e420..ea32dad 100644
--- a/backend/src/backend/gen_encoder.cpp
+++ b/backend/src/backend/gen_encoder.cpp
@@ -310,6 +310,7 @@ namespace gbe
     this->curr.subFlag = 0;
     this->curr.predicate = GEN_PREDICATE_NORMAL;
     this->curr.inversePredicate = 0;
+    this->DBGInfo.col = this->DBGInfo.line = 0;
   }
 
   void GenEncoder::push(void) {
diff --git a/backend/src/backend/gen_insn_selection.cpp b/backend/src/backend/gen_insn_selection.cpp
index 630f5bc..de50e57 100644
--- a/backend/src/backend/gen_insn_selection.cpp
+++ b/backend/src/backend/gen_insn_selection.cpp
@@ -824,6 +824,7 @@ namespace gbe
     this->regNum = fn.regNum();
     this->regDAG.resize(regNum);
     this->insnDAG.resize(maxInsnNum);
+    this->DBGInfo.col = this->DBGInfo.line = 0;
   }
 
   Selection::Opaque::~Opaque(void) {
diff --git a/backend/src/ir/context.cpp b/backend/src/ir/context.cpp
index e4aac08..79e6a7b 100644
--- a/backend/src/ir/context.cpp
+++ b/backend/src/ir/context.cpp
@@ -29,7 +29,9 @@ namespace gbe {
 namespace ir {
 
   Context::Context(Unit &unit) :
-    unit(unit), fn(NULL), bb(NULL), usedLabels(NULL) {}
+    unit(unit), fn(NULL), bb(NULL), usedLabels(NULL) {
+      DBGInfo.col = DBGInfo.line = 0;
+    }
 
   Context::~Context(void) {
     for (const auto &elem : fnStack) GBE_SAFE_DELETE(elem.usedLabels);
diff --git a/backend/src/ir/instruction.hpp b/backend/src/ir/instruction.hpp
index ec7b9b5..cee2275 100644
--- a/backend/src/ir/instruction.hpp
+++ b/backend/src/ir/instruction.hpp
@@ -157,11 +157,14 @@ namespace ir {
     /*! Initialize the instruction from a 8 bytes stream */
     INLINE Instruction(const char *stream) : InstructionBase(stream) {
       parent = NULL;
+      DBGInfo.col = DBGInfo.line = 0;
     }
     /*! Copy the private fields and give it the same parent */
     INLINE Instruction(const Instruction &other) :
       InstructionBase(reinterpret_cast<const char*>(&other.opcode)) {
       parent = other.parent;
+      DBGInfo.col = other.DBGInfo.col;
+      DBGInfo.line = other.DBGInfo.line;
     }
 
   private:
-- 
1.9.1





More information about the Beignet mailing list