Skip to content

Commit 8b1a840

Browse files
committed
Creating branches/google/stable and tags/google/stable/2018-08-24 from r340178
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/google/stable@340673 91177308-0d34-0410-b5e6-96231b3b80d8
2 parents 81aee6a + 681bdae commit 8b1a840

File tree

8,445 files changed

+724065
-231391
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

8,445 files changed

+724065
-231391
lines changed

.gitattributes

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# binary files
22
test/Object/Inputs/*.a-* binary
3-
test/tools/dsymutil/Inputs/* binary
3+
test/tools/dsymutil/Inputs/*.o binary
4+
test/tools/dsymutil/Inputs/*.a binary
5+
test/tools/dsymutil/Inputs/*.i386 binary
6+
test/tools/dsymutil/Inputs/*.x86_64 binary
7+
test/tools/dsymutil/Inputs/*.armv7m binary
8+
test/tools/dsymutil/Inputs/*.dylib binary
49
test/tools/llvm-ar/Inputs/*.lib binary
510
test/tools/llvm-objdump/Inputs/*.a binary
611
test/tools/llvm-rc/Inputs/* binary

BRANCH_HISTORY

Lines changed: 0 additions & 7 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 33 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,20 @@
22

33
cmake_minimum_required(VERSION 3.4.3)
44

5-
cmake_policy(SET CMP0022 NEW)
6-
7-
cmake_policy(SET CMP0048 NEW)
8-
95
# CMake 3.1 and higher include generator expressions of the form
106
# $<TARGETLIB:obj> in the SOURCES property. These need to be
117
# stripped everywhere that access the SOURCES property, so we just
128
# defer to the OLD behavior of not including generator expressions
139
# in the output for now.
1410
cmake_policy(SET CMP0051 OLD)
1511

16-
cmake_policy(SET CMP0056 NEW)
17-
18-
cmake_policy(SET CMP0057 NEW)
19-
2012
if(POLICY CMP0068)
2113
cmake_policy(SET CMP0068 NEW)
2214
set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON)
2315
endif()
2416

2517
if(NOT DEFINED LLVM_VERSION_MAJOR)
26-
set(LLVM_VERSION_MAJOR 7)
18+
set(LLVM_VERSION_MAJOR 8)
2719
endif()
2820
if(NOT DEFINED LLVM_VERSION_MINOR)
2921
set(LLVM_VERSION_MINOR 0)
@@ -92,7 +84,7 @@ if(CMAKE_HOST_APPLE AND APPLE)
9284

9385
foreach(lang ${languages})
9486
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
95-
"${CMAKE_LIBTOOL} -static ${LIBTOOL_NO_WARNING_FLAG} -o <TARGET> \
87+
"\"${CMAKE_LIBTOOL}\" -static ${LIBTOOL_NO_WARNING_FLAG} -o <TARGET> \
9688
<LINK_FLAGS> <OBJECTS> ")
9789
endforeach()
9890
endif()
@@ -231,10 +223,6 @@ if(WIN32 AND NOT UNIX)
231223
set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_icon.ico")
232224
set(CPACK_NSIS_MODIFY_PATH "ON")
233225
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON")
234-
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
235-
"ExecWait '$INSTDIR/tools/msbuild/install.bat'")
236-
set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
237-
"ExecWait '$INSTDIR/tools/msbuild/uninstall.bat'")
238226
if( CMAKE_CL_64 )
239227
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
240228
endif()
@@ -248,29 +236,11 @@ include(CPack)
248236
# versions).
249237
if( CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR AND NOT MSVC_IDE )
250238
message(FATAL_ERROR "In-source builds are not allowed.
251-
CMake would overwrite the makefiles distributed with LLVM.
252239
Please create a directory and run cmake from there, passing the path
253240
to this source directory as the last argument.
254241
This process created the file `CMakeCache.txt' and the directory `CMakeFiles'.
255242
Please delete them.")
256243
endif()
257-
if( NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
258-
file(GLOB_RECURSE
259-
tablegenned_files_on_include_dir
260-
"${CMAKE_CURRENT_SOURCE_DIR}/include/llvm/*.gen")
261-
file(GLOB_RECURSE
262-
tablegenned_files_on_lib_dir
263-
"${CMAKE_CURRENT_SOURCE_DIR}/lib/Target/*.inc")
264-
if( tablegenned_files_on_include_dir OR tablegenned_files_on_lib_dir)
265-
message(FATAL_ERROR "Apparently there is a previous in-source build,
266-
probably as the result of running `configure' and `make' on
267-
${CMAKE_CURRENT_SOURCE_DIR}.
268-
This may cause problems. The suspicious files are:
269-
${tablegenned_files_on_lib_dir}
270-
${tablegenned_files_on_include_dir}
271-
Please clean the source directory.")
272-
endif()
273-
endif()
274244

275245
string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
276246

@@ -429,15 +399,29 @@ option(LLVM_USE_OPROFILE
429399
option(LLVM_EXTERNALIZE_DEBUGINFO
430400
"Generate dSYM files and strip executables and libraries (Darwin Only)" OFF)
431401

402+
option(LLVM_CODESIGNING_IDENTITY
403+
"Sign executables and dylibs with the given identity (Darwin Only)" OFF)
404+
432405
# If enabled, verify we are on a platform that supports oprofile.
433406
if( LLVM_USE_OPROFILE )
434407
if( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
435408
message(FATAL_ERROR "OProfile support is available on Linux only.")
436409
endif( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
437410
endif( LLVM_USE_OPROFILE )
438411

412+
option(LLVM_USE_PERF
413+
"Use perf JIT interface to inform perf about JIT code" OFF)
414+
415+
# If enabled, verify we are on a platform that supports perf.
416+
if( LLVM_USE_PERF )
417+
if( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
418+
message(FATAL_ERROR "perf support is available on Linux only.")
419+
endif( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
420+
endif( LLVM_USE_PERF )
421+
439422
set(LLVM_USE_SANITIZER "" CACHE STRING
440423
"Define the sanitizer used to build binaries and tests.")
424+
option(LLVM_OPTIMIZE_SANITIZED_BUILDS "Pass -O1 on debug sanitizer builds" ON)
441425
set(LLVM_LIB_FUZZING_ENGINE "" CACHE PATH
442426
"Path to fuzzing library for linking with fuzz targets")
443427

@@ -519,6 +503,7 @@ option (LLVM_INCLUDE_DOCS "Generate build targets for llvm documentation." ON)
519503
option (LLVM_ENABLE_DOXYGEN "Use doxygen to generate llvm API documentation." OFF)
520504
option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
521505
option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
506+
option (LLVM_ENABLE_BINDINGS "Build bindings." ON)
522507

523508
set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html"
524509
CACHE STRING "Doxygen-generated HTML documentation install directory")
@@ -539,15 +524,17 @@ if(NOT DEFINED LLVM_DYLIB_COMPONENTS)
539524
"Semicolon-separated list of components to include in libLLVM, or \"all\".")
540525
endif()
541526
option(LLVM_LINK_LLVM_DYLIB "Link tools against the libllvm dynamic library" OFF)
542-
option(LLVM_BUILD_LLVM_C_DYLIB "Build libllvm-c re-export library (Darwin Only)" OFF)
527+
if(MSVC)
528+
option(LLVM_BUILD_LLVM_C_DYLIB "Build LLVM-C.dll (Windows only)" OFF)
529+
else()
530+
option(LLVM_BUILD_LLVM_C_DYLIB "Build libllvm-c re-export library (Darwin only)" OFF)
531+
endif()
543532
set(LLVM_BUILD_LLVM_DYLIB_default OFF)
544-
if(LLVM_LINK_LLVM_DYLIB OR LLVM_BUILD_LLVM_C_DYLIB)
533+
if(LLVM_LINK_LLVM_DYLIB OR (LLVM_BUILD_LLVM_C_DYLIB AND NOT MSVC))
545534
set(LLVM_BUILD_LLVM_DYLIB_default ON)
546535
endif()
547536
option(LLVM_BUILD_LLVM_DYLIB "Build libllvm dynamic library" ${LLVM_BUILD_LLVM_DYLIB_default})
548537

549-
option(LLVM_DYLIB_SYMBOL_VERSIONING OFF)
550-
551538
option(LLVM_OPTIMIZED_TABLEGEN "Force TableGen to be built with optimization" OFF)
552539
if(CMAKE_CROSSCOMPILING OR (LLVM_OPTIMIZED_TABLEGEN AND (LLVM_ENABLE_ASSERTIONS OR CMAKE_CONFIGURATION_TYPES)))
553540
set(LLVM_USE_HOST_TOOLS ON)
@@ -582,6 +569,9 @@ endif()
582569
set(LLVM_TARGET_TRIPLE_ENV CACHE STRING "The name of environment variable to override default target. Disabled by blank.")
583570
mark_as_advanced(LLVM_TARGET_TRIPLE_ENV)
584571

572+
set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL
573+
"Enable per-target runtimes directory")
574+
585575
# All options referred to from HandleLLVMOptions have to be specified
586576
# BEFORE this include, otherwise options will not be correctly set on
587577
# first cmake run
@@ -629,7 +619,7 @@ endif()
629619
# - We generate the library table used by llvm-config.
630620
#
631621
# - We generate the dependencies for the CMake fragment, so that we will
632-
# automatically reconfigure outselves.
622+
# automatically reconfigure ourselves.
633623

634624
set(LLVMBUILDTOOL "${LLVM_MAIN_SRC_DIR}/utils/llvm-build/llvm-build")
635625
set(LLVMCONFIGLIBRARYDEPENDENCIESINC
@@ -644,6 +634,9 @@ endif (LLVM_USE_INTEL_JITEVENTS)
644634
if (LLVM_USE_OPROFILE)
645635
set(LLVMOPTIONALCOMPONENTS ${LLVMOPTIONALCOMPONENTS} OProfileJIT)
646636
endif (LLVM_USE_OPROFILE)
637+
if (LLVM_USE_PERF)
638+
set(LLVMOPTIONALCOMPONENTS ${LLVMOPTIONALCOMPONENTS} PerfJITEvents)
639+
endif (LLVM_USE_PERF)
647640

648641
message(STATUS "Constructing LLVMBuild project information")
649642
execute_process(
@@ -983,6 +976,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
983976

984977
if (NOT CMAKE_CONFIGURATION_TYPES)
985978
add_llvm_install_targets(install-llvm-headers
979+
DEPENDS llvm-headers
986980
COMPONENT llvm-headers)
987981
endif()
988982
endif()
@@ -997,7 +991,7 @@ if(LLVM_DISTRIBUTION_COMPONENTS)
997991
add_custom_target(distribution)
998992
add_custom_target(install-distribution)
999993
add_custom_target(install-distribution-stripped)
1000-
foreach(target ${LLVM_DISTRIBUTION_COMPONENTS})
994+
foreach(target ${LLVM_DISTRIBUTION_COMPONENTS} ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
1001995
if(TARGET ${target})
1002996
add_dependencies(distribution ${target})
1003997
else()
@@ -1021,6 +1015,6 @@ if(LLVM_DISTRIBUTION_COMPONENTS)
10211015
endif()
10221016

10231017
# This allows us to deploy the Universal CRT DLLs by passing -DCMAKE_INSTALL_UCRT_LIBRARIES=ON to CMake
1024-
if (MSVC AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
1018+
if (MSVC AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_INSTALL_UCRT_LIBRARIES)
10251019
include(InstallRequiredSystemLibraries)
10261020
endif()

CODE_OWNERS.TXT

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ beautification by scripts. The fields are: name (N), email (E), web-address
99
(S) and (I) IRC handle. Each entry should contain at least the (N), (E) and
1010
(D) fields.
1111

12+
N: Simon Atanasyan
13+
14+
D: MIPS Backend (lib/Target/Mips/*)
15+
1216
N: Justin Bogner
1317
1418
D: InstrProfiling and related parts of ProfileData
@@ -64,10 +68,6 @@ N: Quentin Colombet
6468
6569
D: Loop Strength Reduction, Register allocators
6670

67-
N: Simon Dardis
68-
69-
D: MIPS Backend (lib/Target/Mips/*)
70-
7171
N: Andrea Di Biagio
7272
7373
@@ -218,3 +218,7 @@ D: Release management (x.y.0 releases)
218218
N: whitequark
219219
220220
D: C API, OCaml bindings
221+
222+
N: Jake Ehrlich
223+
224+
D: llvm-objcopy (tools/llvm-objcopy)

CREDITS.TXT

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ D: MingW Win32 API portability layer
2323

2424
N: Aaron Ballman
2525
26-
D: __declspec attributes, Windows support, general bug fixing
26+
D: Clang frontend, frontend attributes, Windows support, general bug fixing
27+
I: AaronBallman
2728

2829
N: Nate Begeman
2930
@@ -35,6 +36,13 @@ E: [email protected]
3536
D: ET-Forest implementation.
3637
D: Sparse bitmap
3738

39+
N: Geoff Berry
40+
41+
42+
D: AArch64 backend improvements
43+
D: Added EarlyCSE MemorySSA support
44+
D: CodeGen improvements
45+
3846
N: David Blaikie
3947
4048
D: General bug fixing/fit & finish, mostly in Clang
@@ -107,8 +115,8 @@ E: [email protected]
107115
D: Bug fixes and minor improvements
108116

109117
N: Rafael Avila de Espindola
110-
111-
D: The ARM backend
118+
E: rafael@espindo.la
119+
D: MC and LLD work
112120

113121
N: Dave Estes
114122
@@ -224,6 +232,11 @@ N: Rod Kay
224232
225233
D: Author of LLVM Ada bindings
226234

235+
N: Erich Keane
236+
237+
D: A variety of Clang contributions including function multiversioning, regcall/vectorcall.
238+
I: ErichKeane
239+
227240
N: Eric Kidd
228241
W: http://randomhacks.net/
229242
D: llvm-config script
@@ -485,3 +498,7 @@ D: Bunches of stuff
485498
N: Bob Wilson
486499
487500
D: Advanced SIMD (NEON) support in the ARM backend.
501+
502+
N: QingShan Zhang
503+
504+
D: PowerPC Backend Developer

LICENSE.TXT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ LLVM Release License
44
University of Illinois/NCSA
55
Open Source License
66

7-
Copyright (c) 2003-2017 University of Illinois at Urbana-Champaign.
7+
Copyright (c) 2003-2018 University of Illinois at Urbana-Champaign.
88
All rights reserved.
99

1010
Developed by:

README.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Low Level Virtual Machine (LLVM)
1+
The LLVM Compiler Infrastructure
22
================================
33

44
This directory and its subdirectories contain source code for LLVM,
@@ -16,4 +16,3 @@ documentation setup.
1616
If you are writing a package for LLVM, see docs/Packaging.rst for our
1717
suggestions.
1818

19-

RELEASE_TESTERS.TXT

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,3 @@ N: Diana Picus
4545
4646
T: ARM, AArch64
4747
O: Linux
48-
49-
N: Simon Dardis
50-
51-
T: MIPS
52-
O: Linux

bindings/go/llvm/DIBuilderBindings.cpp

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)