diff --git a/hpvm/lib/Transforms/BuildDFG/CMakeLists.txt b/hpvm/lib/Transforms/BuildDFG/CMakeLists.txt
index 0b1fa4837cdfbfc4288a92ce7106d30ca3a6d74d..f4c0503e4dc398f1fe8f21c07054c20606ead3e6 100644
--- a/hpvm/lib/Transforms/BuildDFG/CMakeLists.txt
+++ b/hpvm/lib/Transforms/BuildDFG/CMakeLists.txt
@@ -2,7 +2,8 @@ if(WIN32 OR CYGWIN)
   set(LLVM_LINK_COMPONENTS Core Support)
 endif()
 
-add_llvm_loadable_module( LLVMBuildDFG
+add_llvm_library( LLVMBuildDFG
+  MODULE
   BuildDFG.cpp
 
   DEPENDS
diff --git a/hpvm/lib/Transforms/CMakeLists.txt b/hpvm/lib/Transforms/CMakeLists.txt
index 2983462d1eb028c49647accc9ac81a9ac5582f4d..8049471a16910a0b33b8e60ebca577d395627222 100644
--- a/hpvm/lib/Transforms/CMakeLists.txt
+++ b/hpvm/lib/Transforms/CMakeLists.txt
@@ -1,7 +1,7 @@
 add_subdirectory(BuildDFG)
 add_subdirectory(ClearDFG)
 add_subdirectory(DFG2LLVM_NVPTX)
-add_subdirectory(DFG2LLVM_SPIR)
+#add_subdirectory(DFG2LLVM_SPIR)
 add_subdirectory(DFG2LLVM_X86)
 add_subdirectory(GenVISC)
 add_subdirectory(LocalMem)
diff --git a/hpvm/lib/Transforms/ClearDFG/CMakeLists.txt b/hpvm/lib/Transforms/ClearDFG/CMakeLists.txt
index f928c8acda4c44828219986e43caf134af9c4c0a..af1e9b324c2640b65c85ede705ab899530bcdccf 100644
--- a/hpvm/lib/Transforms/ClearDFG/CMakeLists.txt
+++ b/hpvm/lib/Transforms/ClearDFG/CMakeLists.txt
@@ -2,7 +2,8 @@ if(WIN32 OR CYGWIN)
   set(LLVM_LINK_COMPONENTS Core Support)
 endif()
 
-add_llvm_loadable_module( LLVMClearDFG
+add_llvm_library( LLVMClearDFG
+  MODULE
   ClearDFG.cpp
 
   DEPENDS
diff --git a/hpvm/lib/Transforms/DFG2LLVM_NVPTX/CMakeLists.txt b/hpvm/lib/Transforms/DFG2LLVM_NVPTX/CMakeLists.txt
index 430bea76938f32e6b22019112b6395aa12ae57fd..ce2d4c80fd3f885e1d3c6e83d43f35480f9770c8 100644
--- a/hpvm/lib/Transforms/DFG2LLVM_NVPTX/CMakeLists.txt
+++ b/hpvm/lib/Transforms/DFG2LLVM_NVPTX/CMakeLists.txt
@@ -2,7 +2,8 @@ if(WIN32 OR CYGWIN)
   set(LLVM_LINK_COMPONENTS Core Support)
 endif()
 
-add_llvm_loadable_module( LLVMDFG2LLVM_NVPTX
+add_llvm_library( LLVMDFG2LLVM_NVPTX
+  MODULE
   DFG2LLVM_NVPTX.cpp
 
   DEPENDS
diff --git a/hpvm/lib/Transforms/DFG2LLVM_SPIR/CMakeLists.txt b/hpvm/lib/Transforms/DFG2LLVM_SPIR/CMakeLists.txt
index 43e2254c7930d8f36142338412ec0a1b87f789ab..15d3ab08ad185a6df26a02e4c4463936c9b963c5 100644
--- a/hpvm/lib/Transforms/DFG2LLVM_SPIR/CMakeLists.txt
+++ b/hpvm/lib/Transforms/DFG2LLVM_SPIR/CMakeLists.txt
@@ -2,7 +2,8 @@ if(WIN32 OR CYGWIN)
   set(LLVM_LINK_COMPONENTS Core Support)
 endif()
 
-add_llvm_loadable_module( LLVMDFG2LLVM_SPIR
+add_llvm_library( LLVMDFG2LLVM_SPIR
+  MODULE
   DFG2LLVM_SPIR.cpp
 
   DEPENDS
diff --git a/hpvm/lib/Transforms/DFG2LLVM_X86/CMakeLists.txt b/hpvm/lib/Transforms/DFG2LLVM_X86/CMakeLists.txt
index 6a78066c44c21fc10e2e117143ca174604d53da9..b79c6a3bf919bffeed21f156c84d3fce943d7cbd 100644
--- a/hpvm/lib/Transforms/DFG2LLVM_X86/CMakeLists.txt
+++ b/hpvm/lib/Transforms/DFG2LLVM_X86/CMakeLists.txt
@@ -2,7 +2,8 @@ if(WIN32 OR CYGWIN)
   set(LLVM_LINK_COMPONENTS Core Support)
 endif()
 
-add_llvm_loadable_module( LLVMDFG2LLVM_X86
+add_llvm_library( LLVMDFG2LLVM_X86
+  MODULE
   DFG2LLVM_X86.cpp
 
   DEPENDS intrinsics_gen
diff --git a/hpvm/lib/Transforms/GenVISC/CMakeLists.txt b/hpvm/lib/Transforms/GenVISC/CMakeLists.txt
index 710e8f2729fc3149f744d0b5665ba3d5ea58121a..ed087f63b4933a33792d7cd773acdf8fab1ac8e3 100644
--- a/hpvm/lib/Transforms/GenVISC/CMakeLists.txt
+++ b/hpvm/lib/Transforms/GenVISC/CMakeLists.txt
@@ -2,7 +2,8 @@ if(WIN32 OR CYGWIN)
   set(LLVM_LINK_COMPONENTS Core Support)
 endif()
 
-add_llvm_loadable_module( LLVMGenVISC
+add_llvm_library( LLVMGenVISC
+  MODULE
   GenVISC.cpp
 
   DEPENDS
diff --git a/hpvm/lib/Transforms/LocalMem/CMakeLists.txt b/hpvm/lib/Transforms/LocalMem/CMakeLists.txt
index fa9133259445849186f5e4d9334dff866ee8ba92..d8dd607cee9d99610fc5cd658c510f42de98ed50 100644
--- a/hpvm/lib/Transforms/LocalMem/CMakeLists.txt
+++ b/hpvm/lib/Transforms/LocalMem/CMakeLists.txt
@@ -2,7 +2,8 @@ if(WIN32 OR CYGWIN)
   set(LLVM_LINK_COMPONENTS Core Support)
 endif()
 
-add_llvm_loadable_module( LLVMLocalMem
+add_llvm_library( LLVMLocalMem
+  MODULE
   LocalMem.cpp
 
   DEPENDS