diff --git a/hpvm/test/dnn_benchmarks/benchmarks/alexnet/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/alexnet/Makefile
index 00b4cd0b836f81eecd0d1d3b509b0bff7673821b..0e3294437bdb00854cd3cbdec7d9dacc405e85f2 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/Makefile
index dbee3a43acff912da0f534f1f944cecbd9f1c3ee..002ecfc92ec6cf546f3cf1cb5c0d0bef5fac7419 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet2/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/Makefile
index 56306e01f1e8121fdef55208588b6c5cb2b73e7f..787eda03df21939f201d0a668680d5e69df72e84 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/alexnet_imagenet/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/Makefile
index 031e83149284f01e14c27caa55f0236a05b89054..42be9998a0e259abe1ce29c7402e8e1f78d798c4 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/lenet_mnist/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/Makefile
index b271c2d37d7378a20525dec789272cb3808dcc7d..e91c4bd2c2184c9411b93ce6f7d98d6540a15e4e 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/mobilenet/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/resnet18/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/resnet18/Makefile
index f37c9512c0cda1dfa108e55ee930820395659271..3de4101bd66621728c80927a718f93ba1adf96d2 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/resnet18/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/resnet18/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/Makefile
index 022f6d511ca835953bab992e9691e0abfb954151..1370ea035425ae3500a8239586ff8d187d027071 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/resnet50_imagenet/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/Makefile
index 84dd620476f9fc8b0d16df138d8a48fd39d0e5a7..3cc42b7709fa86bb3064256eb3bfe215550628ea 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar10/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/Makefile
index 4dc63839d8a7754f9fa033dac2a1af019b25b3b1..e64af1183e3b294e33d773a96c262bce62ed6da9 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_cifar100/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)
diff --git a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/Makefile b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/Makefile
index dac19282d24e1c0d283dc30974b0fa306579b584..3536d71cd608f5ad92d95517dfffbb09eda90f30 100644
--- a/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/Makefile
+++ b/hpvm/test/dnn_benchmarks/benchmarks/vgg16_imagenet/Makefile
@@ -1,4 +1,4 @@
-DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
+DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/tools/hpvm/test/dnn_benchmarks
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
 CC = $(HPVM_BUILD_DIR)/bin/clang++
@@ -25,30 +25,28 @@ LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -ls
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
-VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
+HPVM_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
 
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
 
-VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
+WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
+CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
 
-WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges_rt.txt
-CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs.txt
+HPVM_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
-VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
+TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/dnn_benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-TEMP_CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/predictive/temp.txt
 
-
-VISC_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
+HPVM_PRED_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(TEMP_CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 TARGET = $(BUILD_DIR)/$(APP).opt.bc
 SOURCES = $(SRC_DIR)/$(APP).cpp
-VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
+HPVM_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/hpvm-rt/visc-rt.ll
 
 
-.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).visc.ll
+.PRECIOUS: $(BUILD_DIR)/$(APP).ll $(BUILD_DIR)/$(APP).hpvm.ll
 default: $(BUILD_DIR) $(TARGET)
 
 
@@ -58,14 +56,14 @@ $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 
 
 $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
-	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
-	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
-	$(OPT) $(VISC_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP).ll -S -o  $(BUILD_DIR)/$(APP).visc.ll
+	$(OPT) -load LLVMGenHPVM.so -genhpvm -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
+	$(OPT) $(HPVM_OPTFLAGS)  $(BUILD_DIR)/$(APP).hpvm.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
+	$(OPT) $(HPVM_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
+	$(OPT) $(HPVM_PRED_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.hpvm.ll  -o  $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
+	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi.bc $(HPVM_RT_PATH) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_pred_loop_wrapperapi_linked $(LINKER_FLAGS)