cleaned up a bit code for treatment of non-static uniform variables. all stored in shared memory

This commit is contained in:
Evghenii
2014-01-09 13:02:50 +01:00
parent db6f526b78
commit 1ed438dcdb
2 changed files with 120 additions and 3 deletions

View File

@@ -1848,7 +1848,7 @@ static llvm::Value* lAddWarpOffset(FunctionEmitContext *ctx, llvm::Value *value)
return llvm::GetElementPtrInst::Create(value, __offset, "warpOffset_gep", ctx->GetCurrentBasicBlock());
}
llvm::Value* lConvertGepToGenericPtr(FunctionEmitContext *ctx, llvm::Value *value, const SourcePos &currentPos)
static llvm::Value* lConvertGepToGenericPtr(FunctionEmitContext *ctx, llvm::Value *value, const SourcePos &currentPos)
{
if (!value->getType()->isPointerTy() || g->target->getISA() != Target::NVPTX)
return value;
@@ -1856,6 +1856,7 @@ llvm::Value* lConvertGepToGenericPtr(FunctionEmitContext *ctx, llvm::Value *valu
const int addressSpace = pt->getAddressSpace();
if (addressSpace != 3 && addressSpace != 4)
return value;
assert(0);
llvm::Type *elTy = pt->getElementType();
assert(elTy->isArrayTy());