summarylogtreecommitdiffstats
path: root/clangfix.patch
blob: 92fdcb9b7df2cdb8d3b568e5c3ec67cab6cde1dc (plain)
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
61
62
63
From c7d3c107303f5b511087aa37d20811bbd3bb4565 Mon Sep 17 00:00:00 2001
From: Pan Xiuli <xiuli.pan@intel.com>
Date: Fri, 29 Apr 2016 14:32:04 +0800
Subject: Backend: Fix bug build with clang

When using clang template name can not be the same with class variable.
This bug will cause the gen ir load/store switch and casue self test
error.

Signed-off-by: Pan Xiuli <xiuli.pan@intel.com>
Reviewed-by: Yang Rong <rong.r.yang@intel.com>

diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp
index 51a1dab..66293fc 100644
--- a/backend/src/llvm/llvm_gen_backend.cpp
+++ b/backend/src/llvm/llvm_gen_backend.cpp
@@ -443,7 +443,7 @@ namespace gbe
       void         emitBatchLoadOrStore(const ir::Type type, const uint32_t elemNum, Value *llvmValues, Type * elemType);
       ir::Register getOffsetAddress(ir::Register basePtr, unsigned offset);
       void         shootMessage(ir::Type type, ir::Register offset, ir::Tuple value, unsigned elemNum);
-      template <bool isLoad, typename T>
+      template <bool IsLoad, typename T>
       void         emitLoadOrStore(T &I);
     private:
       ir::Context             &ctx;
@@ -642,7 +642,7 @@ namespace gbe
      */
     INLINE void simplifyTerminator(BasicBlock *bb);
     /*! Helper function to emit loads and stores */
-    template <bool isLoad, typename T> void emitLoadOrStore(T &I);
+    template <bool IsLoad, typename T> void emitLoadOrStore(T &I);
     /*! Will try to remove MOVs due to PHI resolution */
     void removeMOVs(const ir::Liveness &liveness, ir::Function &fn);
     /*! Optimize phi move based on liveness information */
@@ -712,7 +712,7 @@ namespace gbe
     void visitUnreachableInst(UnreachableInst &I) {NOT_SUPPORTED;}
     void visitGetElementPtrInst(GetElementPtrInst &I) {NOT_SUPPORTED;}
     void visitInsertValueInst(InsertValueInst &I) {NOT_SUPPORTED;}
-    template <bool isLoad, typename T> void visitLoadOrStore(T &I);
+    template <bool IsLoad, typename T> void visitLoadOrStore(T &I);
 
     INLINE void gatherBTI(Value *pointer, ir::BTI &bti);
     // batch vec4/8/16 load/store
@@ -4863,7 +4863,7 @@ namespace gbe
     }
   }
 
-  template <bool isLoad, typename T>
+  template <bool IsLoad, typename T>
   void MemoryInstHelper::emitLoadOrStore(T &I) {
     Value *llvmPtr = I.getPointerOperand();
     Value *llvmValues = getLoadOrStoreValue(I);
@@ -4873,7 +4873,7 @@ namespace gbe
     const ir::Register pointer = writer->getRegister(llvmPtr);
     const ir::RegisterFamily pointerFamily = ctx.getPointerFamily();
 
-    this->isLoad = isLoad;
+    this->isLoad = IsLoad;
     Type *scalarType = llvmType;
     if (!isScalarType(llvmType)) {
       VectorType *vectorType = cast<VectorType>(llvmType);
-- 
cgit v0.10.2