added local ptr correction of store instruction. change compilation to llvm ptx for tests
This commit is contained in:
1
ctx.cpp
1
ctx.cpp
@@ -3049,6 +3049,7 @@ FunctionEmitContext::StoreInst(llvm::Value *value, llvm::Value *ptr) {
|
|||||||
llvm::dyn_cast<llvm::PointerType>(ptr->getType());
|
llvm::dyn_cast<llvm::PointerType>(ptr->getType());
|
||||||
AssertPos(currentPos, pt != NULL);
|
AssertPos(currentPos, pt != NULL);
|
||||||
|
|
||||||
|
ptr = lCorrectLocalPtr(this, ptr); /* NVPTX */
|
||||||
llvm::StoreInst *inst = new llvm::StoreInst(value, ptr, bblock);
|
llvm::StoreInst *inst = new llvm::StoreInst(value, ptr, bblock);
|
||||||
|
|
||||||
if (g->opt.forceAlignedMemory &&
|
if (g->opt.forceAlignedMemory &&
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ DIS=$HOME/usr/local/llvm/bin-3.2/bin/llvm-dis
|
|||||||
ISPC=ispc
|
ISPC=ispc
|
||||||
PTXCC=ptxcc
|
PTXCC=ptxcc
|
||||||
PTXGEN=~/ptxgen
|
PTXGEN=~/ptxgen
|
||||||
#$(cat $1 |grep -v 'width'|$ISPC --target=nvptx --emit-llvm -o -|$LLC -march=nvptx64 -mcpu=sm_35 -o $1.ptx) && \
|
$(cat $1 |grep -v 'width'|$ISPC --target=nvptx --emit-llvm -o -|$LLC -march=nvptx64 -mcpu=sm_35 -o $1.ptx) && \
|
||||||
$(cat $1 |grep -v 'width'|$ISPC --target=nvptx --emit-llvm -o -|$DIS -o $1_32_ptx.ll && $PTXGEN $1_32_ptx.ll > $1.ptx) && \
|
#$(cat $1 |grep -v 'width'|$ISPC --target=nvptx --emit-llvm -o -|$DIS -o $1_32_ptx.ll && $PTXGEN $1_32_ptx.ll > $1.ptx) && \
|
||||||
$($PTXCC $1.ptx -Xptxas=-v -o $1.ptx.o) && \
|
$($PTXCC $1.ptx -Xptxas=-v -o $1.ptx.o) && \
|
||||||
nvcc -o test_nvptx test_static_nvptx.cpp examples_ptx/nvcc_helpers.cu examples_ptx/ispc_malloc.cpp $1.ptx.o -arch=sm_35 -Iexamples_ptx/ -D_CUDA_ -lcudadevrt -DTEST_SIG=$2
|
nvcc -o test_nvptx test_static_nvptx.cpp examples_ptx/nvcc_helpers.cu examples_ptx/ispc_malloc.cpp $1.ptx.o -arch=sm_35 -Iexamples_ptx/ -D_CUDA_ -lcudadevrt -DTEST_SIG=$2
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user