Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
N
ngraph
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ngraph
Commits
1650a1f0
Commit
1650a1f0
authored
Apr 26, 2019
by
Sang Ik Lee
Committed by
Scott Cyphers
Apr 26, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update LLVM to 8.0.0 (#2803)
* Update LLVM to 8.0.0 * Required codegen changes to use LLVM 8.0.0
parent
fb9b2da0
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
44 additions
and
22 deletions
+44
-22
external_llvm.cmake
cmake/external_llvm.cmake
+10
-6
external_llvm_prebuilt.cmake
cmake/external_llvm_prebuilt.cmake
+30
-14
CMakeLists.txt
src/ngraph/codegen/CMakeLists.txt
+1
-1
compiler.cpp
src/ngraph/codegen/compiler.cpp
+3
-1
No files found.
cmake/external_llvm.cmake
View file @
1650a1f0
...
...
@@ -16,7 +16,7 @@
include
(
ExternalProject
)
set
(
NGRAPH_LLVM_VERSION
5.0.2
)
set
(
NGRAPH_LLVM_VERSION
8.0.0
)
if
(
CMAKE_CXX_COMPILER_ID STREQUAL
"GNU"
)
if
(
DEFINED NGRAPH_USE_CXX_ABI
)
...
...
@@ -28,7 +28,7 @@ ExternalProject_Add(
ext_clang
PREFIX clang
URL http://releases.llvm.org/
${
NGRAPH_LLVM_VERSION
}
/cfe-
${
NGRAPH_LLVM_VERSION
}
.src.tar.xz
URL_HASH SHA1=
6581765ec52f8a6354ab56a8e55a8cac1aa5e388
URL_HASH SHA1=
3cb1e10af3955174a3ca5e560f674f24fac2a02f
CONFIGURE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND
""
...
...
@@ -43,7 +43,7 @@ ExternalProject_Add(
ext_openmp
PREFIX openmp
URL http://releases.llvm.org/
${
NGRAPH_LLVM_VERSION
}
/openmp-
${
NGRAPH_LLVM_VERSION
}
.src.tar.xz
URL_HASH SHA1=
0e78a7646b63e074e31b6a65e15446af0bdf3c07
URL_HASH SHA1=
90462a0f720a9a40ecbda9636c24d627b5dc05db
CONFIGURE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND
""
...
...
@@ -70,9 +70,9 @@ endif()
ExternalProject_Add
(
ext_llvm
PREFIX llvm
DEPENDS
ext_clang ext_openmp
DEPENDS
${
LLVM_DEPENDS
}
URL http://releases.llvm.org/
${
NGRAPH_LLVM_VERSION
}
/llvm-
${
NGRAPH_LLVM_VERSION
}
.src.tar.xz
URL_HASH SHA1=
576d005305335049b89608d897d7ec184d99c6e1
URL_HASH SHA1=
0689345d73911e24a07b24cc82dab4fb46b8c323
CMAKE_GENERATOR
${
CMAKE_GENERATOR
}
CMAKE_GENERATOR_PLATFORM
${
CMAKE_GENERATOR_PLATFORM
}
CMAKE_GENERATOR_TOOLSET
${
CMAKE_GENERATOR_TOOLSET
}
...
...
@@ -93,6 +93,7 @@ ExternalProject_Add(
-DLLVM_ENABLE_BINDINGS=OFF
-DLLVM_ENABLE_TERMINFO=OFF
-DLLVM_ENABLE_ZLIB=OFF
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
-DLIBOMP_OMPT_SUPPORT=OFF
-DCLANG_BUILD_TOOLS=OFF
-DCLANG_ENABLE_ARCMT=OFF
...
...
@@ -106,14 +107,16 @@ ExternalProject_Add(
ExternalProject_Get_Property
(
ext_llvm INSTALL_DIR
)
set
(
LLVM_LINK_LIBS
# Do not change order of libraries !!!
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangTooling
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangCodeGen
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangFrontendTool
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangFrontend
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangDriver
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangSerialization
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangCodeGen
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangParse
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangSema
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangCrossTU
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangAnalysis
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangRewriteFrontend
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangEdit
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
...
...
@@ -156,6 +159,7 @@ set(LLVM_LINK_LIBS
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMTarget
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMCoroutines
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMipo
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMAggressiveInstCombine
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMInstrumentation
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMVectorize
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMScalarOpts
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
...
...
cmake/external_llvm_prebuilt.cmake
View file @
1650a1f0
...
...
@@ -21,17 +21,34 @@ find_package(ZLIB REQUIRED)
# Override default LLVM binaries
if
(
NOT DEFINED LLVM_TARBALL_URL
)
if
(
APPLE
)
set
(
LLVM_TARBALL_URL https://releases.llvm.org/5.0.2/clang+llvm-5.0.2-x86_64-apple-darwin.tar.xz
)
set
(
NGRAPH_LLVM_VERSION 8.0.0
)
set
(
LLVM_TARBALL_URL http://releases.llvm.org/
${
NGRAPH_LLVM_VERSION
}
/clang+llvm-
${
NGRAPH_LLVM_VERSION
}
-x86_64-apple-darwin.tar.xz
)
set
(
LLVM_SHA1_HASH a5674f2ce5b9ed1b67d92689d319ed3b46d66e29
)
elseif
(
LINUX
)
set
(
NGRAPH_LLVM_VERSION 8.0.0
)
if
(
EXISTS /etc/lsb-release
)
execute_process
(
COMMAND grep DISTRIB_RELEASE /etc/lsb-release OUTPUT_VARIABLE UBUNTU_VER_LINE
)
string
(
REGEX MATCH
"[0-9.]+"
UBUNTU_VER
${
UBUNTU_VER_LINE
}
)
message
(
STATUS
"Ubuntu version:
${
UBUNTU_VER
}
detected."
)
set
(
LLVM_TARBALL_URL http://releases.llvm.org/
${
NGRAPH_LLVM_VERSION
}
/clang+llvm-
${
NGRAPH_LLVM_VERSION
}
-x86_64-linux-gnu-ubuntu-
${
UBUNTU_VER
}
.tar.xz
)
if
(
UBUNTU_VER MATCHES
"14.04"
)
set
(
LLVM_SHA1_HASH 552ea458b70961b7922a4bbe9de1434688342dbf
)
elseif
(
UBUNTU_VER MATCHES
"16.04"
)
set
(
LLVM_SHA1_HASH 2be69be355b012ae206dbc0ea7d84b831d77dc27
)
elseif
(
UBUNTU_VER MATCHES
"18.04"
)
set
(
LLVM_SHA1_HASH 6aeb8aa0998d37be67d886b878f27de5e5ccc5e4
)
else
()
message
(
FATAL_ERROR
"No prebuilt LLVM available for Ubuntu
${
UBUNTU_VER
}
on llvm.org, please set LLVM_TARBALL_URL manually."
)
endif
()
else
()
message
(
FATAL_ERROR
"Prebuilt LLVM: Only Ubuntu Linux is supported."
)
endif
()
else
()
set
(
LLVM_TARBALL_URL https://releases.llvm.org/5.0.2/clang+llvm-5.0.2-x86_64-linux-gnu-ubuntu-16.04.tar.xz
)
message
(
FATAL_ERROR
"Prebuilt LLVM: unsupported OS."
)
endif
()
endif
()
if
(
NOT DEFINED LLVM_SHA1_HASH
)
if
(
APPLE
)
set
(
LLVM_SHA1_HASH 8c8ce5cb5e057aa6806275c3f28cd09b09f48b9b
)
else
()
set
(
LLVM_SHA1_HASH d16c7bfaa67b82042bedd5891809a608733cfc0e
)
else
()
if
(
NOT DEFINED LLVM_SHA1_HASH
)
message
(
FATAL_ERROR
"Prebuilt LLVM: please provide LLVM_SHA_HASH."
)
endif
()
endif
()
...
...
@@ -52,19 +69,17 @@ ExternalProject_Get_Property(ext_llvm SOURCE_DIR)
set
(
INSTALL_DIR
${
SOURCE_DIR
}
)
set
(
LLVM_LINK_LIBS
# Do not change order of libraries !!!
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangTooling
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangCodeGen
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangFrontendTool
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangFrontend
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangDriver
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangSerialization
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangCodeGen
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangParse
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangSema
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangStaticAnalyzerFrontend
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangStaticAnalyzerCheckers
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangStaticAnalyzerCore
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangCrossTU
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangAnalysis
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangARCMigrate
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangRewriteFrontend
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangEdit
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
clangAST
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
...
...
@@ -106,6 +121,7 @@ set(LLVM_LINK_LIBS
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMTarget
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMCoroutines
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMipo
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMAggressiveInstCombine
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMInstrumentation
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMVectorize
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
${
INSTALL_DIR
}
/lib/
${
CMAKE_STATIC_LIBRARY_PREFIX
}
LLVMScalarOpts
${
CMAKE_STATIC_LIBRARY_SUFFIX
}
...
...
src/ngraph/codegen/CMakeLists.txt
View file @
1650a1f0
...
...
@@ -38,7 +38,7 @@ endif()
get_target_property
(
LLVM_INCLUDE_DIR libllvm INTERFACE_INCLUDE_DIRECTORIES
)
# find_file(HEADER_1 cmath HINTS /usr/include/c++/7)
get_filename_component
(
CLANG_INCLUDE_DIR
${
LLVM_INCLUDE_DIR
}
/../lib/clang/
5.0.2
/include ABSOLUTE
)
get_filename_component
(
CLANG_INCLUDE_DIR
${
LLVM_INCLUDE_DIR
}
/../lib/clang/
${
NGRAPH_LLVM_VERSION
}
/include ABSOLUTE
)
if
(
NGRAPH_CPU_ENABLE
)
get_target_property
(
MKLDNN_INCLUDE_DIR libmkldnn INTERFACE_INCLUDE_DIRECTORIES
)
...
...
src/ngraph/codegen/compiler.cpp
View file @
1650a1f0
...
...
@@ -227,6 +227,8 @@ void codegen::CompilerCore::initialize()
auto
LO
=
m_compiler
->
getInvocation
().
getLangOpts
();
LO
->
CPlusPlus
=
1
;
LO
->
CPlusPlus11
=
1
;
// Strange but need to manually disable c++14
LO
->
CPlusPlus14
=
0
;
LO
->
Bool
=
1
;
LO
->
Exceptions
=
1
;
LO
->
CXXExceptions
=
1
;
...
...
@@ -239,7 +241,7 @@ void codegen::CompilerCore::initialize()
// CodeGen options
auto
&
CGO
=
m_compiler
->
getInvocation
().
getCodeGenOpts
();
CGO
.
OptimizationLevel
=
3
;
CGO
.
RelocationModel
=
"static"
;
CGO
.
RelocationModel
=
llvm
::
Reloc
::
Model
::
Static
;
// CGO.CodeModel = "medium";
CGO
.
ThreadModel
=
"posix"
;
CGO
.
FloatABI
=
"hard"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment