diff options
-rw-r--r-- | backend/src/llvm/llvm_gen_backend.cpp | 2 | ||||
-rw-r--r-- | kernels/compiler_global_constant.cl | 2 |
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}; |