This commit is contained in:
Evghenii
2014-01-06 08:15:50 +01:00
parent 0d944ac87e
commit b2368e243c
3 changed files with 19 additions and 7 deletions

View File

@@ -36,7 +36,7 @@
# If you have your own special version of llvm and/or clang, change
# these variables to match.
LLVM_CONFIG=$(shell which $(HOME)/usr/local/llvm/bin-trunk/bin/llvm-config)
LLVM_CONFIG=$(shell which $(HOME)/usr/local/llvm/bin-3.2/bin/llvm-config)
CLANG_INCLUDE=$(shell $(LLVM_CONFIG) --includedir)
# Enable ARM by request

View File

@@ -28,6 +28,7 @@ ISPC_FLAGS=-O3 --math-lib=default --target=nvptx64 --opt=fast-math
#
ISPC_OBJS=$(ISPC_SRC:%.ispc=objs_gpu/%_ispc.o)
ISPC_BCS=$(ISPC_SRC:%.ispc=objs_gpu/%_ispc.bc)
ISPC_PTX=$(ISPC_SRC:%.ispc=objs_gpu/%_ispc.ptx)
ISPC_HEADERS=$(ISPC_SRC:%.ispc=objs_gpu/%_ispc.h)
CXX_OBJS=$(CXX_SRC:%.cpp=objs_gpu/%_gcc.o)
CU_OBJS=$(CU_SRC:%.cu=objs_gpu/%_cu.o)
@@ -36,9 +37,15 @@ CU_OBJS=$(CU_SRC:%.cu=objs_gpu/%_cu.o)
CXX_SRC+=ispc_malloc.cpp
CXX_OBJS+=objs_gpu/ispc_malloc_gcc.o
# PTXGEN = $(HOME)/ptxgen
# PTXGEN += -opt=3
# PTXGEN += -ftz=1 -prec-div=0 -prec-sqrt=0 -fma=1
PTXGEN = $(HOME)/ptxgen
PTXGEN += -opt=3
PTXGEN += -ftz=1 -prec-div=0 -prec-sqrt=0 -fma=1
LLVM32=$(HOME)/usr/local/llvm/bin-3.2
LLVM32DIS=$(LLVM32)/bin/llvm-dis
LLC=$(HOME)/usr/local/llvm/bin-trunk/bin/llc
LLC_FLAGS=-march=nvptx64 -mcpu=sm_35
# .SUFFIXES: .bc .o .cu
@@ -51,7 +58,7 @@ ifdef CU_SRC
endif
all: dirs $(PROGgpu) $(PROGcu) $(ISPC_BCS)
all: dirs $(PROGgpu) $(PROGcu) $(ISPC_PTX) $(ISPC_BCS)
dirs:
/bin/mkdir -p objs_gpu/
@@ -82,7 +89,12 @@ objs_gpu/%_nvcc.o: %.cu
objs_gpu/%_ispc.h objs_gpu/%_ispc.bc: %.ispc
$(ISPC) $(ISPC_FLAGS) --emit-llvm -h objs_gpu/$*_ispc.h -o objs_gpu/$*_ispc.bc $<
objs_gpu/%_ispc.o: objs_gpu/%_ispc.bc
objs_gpu/%_ispc.ptx: objs_gpu/%_ispc.bc
$(LLVM32DIS) $< -o objs/$*_ispc-ll32.ll
# $(LLC) $(LLC_FLAGS) -o $@ $<
$(PTXGEN) objs/$*_ispc-ll32.ll > $@
objs_gpu/%_ispc.o: objs_gpu/%_ispc.ptx
$(PTXCC) $< $(PTXCC_FLAGS) -o $@

View File

@@ -1409,7 +1409,7 @@ ArrayType::Mangle() const {
sprintf(buf, "%d", numElements);
else
buf[0] = '\0';
return s + "[" + buf + "]";
return s + "_5B_" + buf + "_5C_";
}