summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/src/llvm/llvm_gen_backend.cpp2
-rw-r--r--kernels/compiler_global_constant.cl2
2 files changed, 3 insertions, 1 deletions
diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp
index 0381d1bc..b2aabc4d 100644
--- a/backend/src/llvm/llvm_gen_backend.cpp
+++ b/backend/src/llvm/llvm_gen_backend.cpp
@@ -681,6 +681,7 @@ namespace gbe
const Module::GlobalListType &globalList = TheModule->getGlobalList();
for(auto i = globalList.begin(); i != globalList.end(); i ++) {
const GlobalVariable &v = *i;
+ if(!v.isConstantUsed()) continue;
const char *name = v.getName().data();
unsigned addrSpace = v.getType()->getAddressSpace();
if(addrSpace == ir::AddressSpace::MEM_CONSTANT) {
@@ -1409,6 +1410,7 @@ namespace gbe
this->newRegister(const_cast<GlobalVariable*>(&v));
ir::Register reg = regTranslator.getScalar(const_cast<GlobalVariable*>(&v), 0);
ir::Constant &con = unit.getConstantSet().getConstant(j ++);
+ GBE_ASSERT(con.getName() == v.getName());
ctx.LOADI(ir::TYPE_S32, reg, ctx.newIntegerImmediate(con.getOffset(), ir::TYPE_S32));
} else {
GBE_ASSERT(0);
diff --git a/kernels/compiler_global_constant.cl b/kernels/compiler_global_constant.cl
index 53e24b3e..c0e23d11 100644
--- a/kernels/compiler_global_constant.cl
+++ b/kernels/compiler_global_constant.cl
@@ -1,5 +1,5 @@
constant int m[3] = {71,72,73};
-constant int n = 1;
+const constant int n = 1;
constant int o[3] = {3, 2, 1};
constant int4 a= {1, 2, 3, 4};