Index: CMakeLists.txt =================================================================== --- CMakeLists.txt +++ CMakeLists.txt @@ -21,13 +21,10 @@ endif() if(NOT DEFINED LLVM_VERSION_MAJOR) - set(LLVM_VERSION_MAJOR 3) + set(LLVM_VERSION_MAJOR 4) endif() if(NOT DEFINED LLVM_VERSION_MINOR) - set(LLVM_VERSION_MINOR 9) -endif() -if(NOT DEFINED LLVM_VERSION_PATCH) - set(LLVM_VERSION_PATCH 0) + set(LLVM_VERSION_MINOR 0) endif() if(NOT DEFINED LLVM_VERSION_SUFFIX) set(LLVM_VERSION_SUFFIX svn) @@ -36,13 +33,13 @@ if (POLICY CMP0048) cmake_policy(SET CMP0048 NEW) set(cmake_3_0_PROJ_VERSION - VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}) + VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}) set(cmake_3_0_LANGUAGES LANGUAGES) endif() if (NOT PACKAGE_VERSION) set(PACKAGE_VERSION - "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}") + "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}") endif() project(LLVM @@ -134,7 +131,6 @@ set(CPACK_PACKAGE_VENDOR "LLVM") set(CPACK_PACKAGE_VERSION_MAJOR ${LLVM_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${LLVM_VERSION_MINOR}) -set(CPACK_PACKAGE_VERSION_PATCH ${LLVM_VERSION_PATCH}) set(CPACK_PACKAGE_VERSION ${PACKAGE_VERSION}) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.TXT") set(CPACK_NSIS_COMPRESSOR "/SOLID lzma \r\n SetCompressorDictSize 32") Index: cmake/modules/AddLLVM.cmake =================================================================== --- cmake/modules/AddLLVM.cmake +++ cmake/modules/AddLLVM.cmake @@ -257,7 +257,7 @@ # VERSION_MINOR int # Optional minor version number (defaults to LLVM_VERSION_MINOR) # VERSION_PATCHLEVEL int -# Optional patchlevel version number (defaults to LLVM_VERSION_PATCH) +# Optional patchlevel version number (defaults to 0) # VERSION_STRING # Optional version string (defaults to PACKAGE_VERSION) # PRODUCT_NAME @@ -279,7 +279,7 @@ endif() if (NOT DEFINED ARG_VERSION_PATCHLEVEL) - set(ARG_VERSION_PATCHLEVEL ${LLVM_VERSION_PATCH}) + set(ARG_VERSION_PATCHLEVEL 0) endif() if (NOT DEFINED ARG_VERSION_STRING) @@ -462,8 +462,8 @@ if(${output_name} STREQUAL "output_name-NOTFOUND") set(output_name ${name}) endif() - set(library_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}) - set(api_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}) + set(library_name ${output_name}-${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}) + set(api_name ${output_name}-${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}${LLVM_VERSION_SUFFIX}) set_target_properties(${name} PROPERTIES OUTPUT_NAME ${library_name}) llvm_install_library_symlink(${api_name} ${library_name} SHARED COMPONENT ${name} Index: cmake/modules/LLVMConfig.cmake.in =================================================================== --- cmake/modules/LLVMConfig.cmake.in +++ cmake/modules/LLVMConfig.cmake.in @@ -4,7 +4,6 @@ set(LLVM_VERSION_MAJOR @LLVM_VERSION_MAJOR@) set(LLVM_VERSION_MINOR @LLVM_VERSION_MINOR@) -set(LLVM_VERSION_PATCH @LLVM_VERSION_PATCH@) set(LLVM_PACKAGE_VERSION @PACKAGE_VERSION@) set(LLVM_BUILD_TYPE @CMAKE_BUILD_TYPE@) Index: cmake/modules/LLVMConfigVersion.cmake.in =================================================================== --- cmake/modules/LLVMConfigVersion.cmake.in +++ cmake/modules/LLVMConfigVersion.cmake.in @@ -1,13 +1,12 @@ set(PACKAGE_VERSION "@PACKAGE_VERSION@") -# LLVM is API-compatible only with matching major.minor versions -# and patch versions not less than that requested. -if("@LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@" VERSION_EQUAL - "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}" - AND NOT "@LLVM_VERSION_PATCH@" VERSION_LESS "${PACKAGE_FIND_VERSION_PATCH}") +# LLVM is API-compatible only with matching major versions +# and minor versions not less than that requested. +if("@LLVM_VERSION_MAJOR@" VERSION_EQUAL + "${PACKAGE_FIND_VERSION_MAJOR}" + AND NOT "@LLVM_VERSION_MINOR@" VERSION_LESS "${PACKAGE_FIND_VERSION_MINOR}") set(PACKAGE_VERSION_COMPATIBLE 1) - if("@LLVM_VERSION_PATCH@" VERSION_EQUAL - "${PACKAGE_FIND_VERSION_PATCH}") + if("@LLVM_VERSION_MINOR@" VERSION_EQUAL "${PACKAGE_FIND_VERSION_MINOR}") set(PACKAGE_VERSION_EXACT 1) endif() endif() Index: docs/DeveloperPolicy.rst =================================================================== --- docs/DeveloperPolicy.rst +++ docs/DeveloperPolicy.rst @@ -510,12 +510,11 @@ * Additions and changes to the IR should be reflected in ``test/Bitcode/compatibility.ll``. -* The bitcode format produced by a X.Y release will be readable by all - following X.Z releases and the (X+1).0 release. +* The current LLVM version supports loading any bitcode since version 3.0. -* After each X.Y release, ``compatibility.ll`` must be copied to - ``compatibility-X.Y.ll``. The corresponding bitcode file should be assembled - using the X.Y build and committed as ``compatibility-X.Y.ll.bc``. +* After each release, ``compatibility.ll`` must be copied to + ``compatibility-X.ll``. The corresponding bitcode file should be assembled + using the X version and committed as ``compatibility-X.ll.bc``. * Newer releases can ignore features from older releases, but they cannot miscompile them. For example, if nsw is ever replaced with something else, Index: docs/conf.py =================================================================== --- docs/conf.py +++ docs/conf.py @@ -47,10 +47,10 @@ # |version| and |release|, also used in various other places throughout the # built documents. # -# The short X.Y version. -version = '3.9' +# The short version. +version = '4' # The full version, including alpha/beta/rc tags. -release = '3.9' +release = '4' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. Index: include/llvm/Config/config.h.cmake =================================================================== --- include/llvm/Config/config.h.cmake +++ include/llvm/Config/config.h.cmake @@ -500,7 +500,7 @@ #define LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR} /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH ${LLVM_VERSION_PATCH} +#define LLVM_VERSION_PATCH 0 /* LLVM version string */ #define LLVM_VERSION_STRING "${PACKAGE_VERSION}" Index: include/llvm/Config/llvm-config.h.cmake =================================================================== --- include/llvm/Config/llvm-config.h.cmake +++ include/llvm/Config/llvm-config.h.cmake @@ -97,7 +97,7 @@ #define LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR} /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH ${LLVM_VERSION_PATCH} +#define LLVM_VERSION_PATCH 0 /* LLVM version string */ #define LLVM_VERSION_STRING "${PACKAGE_VERSION}" Index: tools/llvm-shlib/CMakeLists.txt =================================================================== --- tools/llvm-shlib/CMakeLists.txt +++ tools/llvm-shlib/CMakeLists.txt @@ -51,7 +51,7 @@ if (APPLE) set_property(TARGET LLVM APPEND_STRING PROPERTY LINK_FLAGS - " -compatibility_version 1 -current_version ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}") + " -compatibility_version 1 -current_version ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}") endif() if(TARGET libLLVMExports) @@ -90,6 +90,6 @@ set_property(TARGET LLVM-C APPEND_STRING PROPERTY LINK_FLAGS - " -compatibility_version 1 -current_version ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH} -Wl,-reexport_library ${LIB_PATH}") + " -compatibility_version 1 -current_version ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} -Wl,-reexport_library ${LIB_PATH}") endif() Index: tools/lto/CMakeLists.txt =================================================================== --- tools/lto/CMakeLists.txt +++ tools/lto/CMakeLists.txt @@ -28,5 +28,5 @@ endif() set_property(TARGET LTO APPEND_STRING PROPERTY LINK_FLAGS - " -compatibility_version 1 -current_version ${LTO_VERSION}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}") + " -compatibility_version 1 -current_version ${LTO_VERSION}.${LLVM_VERSION_MINOR}") endif()