Skip to content

Commit

Permalink
Initial import of LLVM 3.3
Browse files Browse the repository at this point in the history
  • Loading branch information
Pascal Junod committed Jan 6, 2014
1 parent 0906a82 commit 51299c0
Show file tree
Hide file tree
Showing 9,524 changed files with 720,229 additions and 261,802 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
49 changes: 34 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ set(CMAKE_MODULE_PATH
)

set(LLVM_VERSION_MAJOR 3)
set(LLVM_VERSION_MINOR 2)
set(LLVM_VERSION_MINOR 3)

set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}svn")

Expand All @@ -20,6 +20,15 @@ if ( LLVM_USE_FOLDERS )
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
endif()

include(VersionFromVCS)

option(LLVM_APPEND_VC_REV
"Append the version control system revision id to LLVM version" OFF)

if( LLVM_APPEND_VC_REV )
add_version_info_from_vcs(PACKAGE_VERSION)
endif()

set(PACKAGE_NAME LLVM)
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "http://o-llvm.org")
Expand Down Expand Up @@ -65,8 +74,8 @@ set(LLVM_EXAMPLES_BINARY_DIR ${LLVM_BINARY_DIR}/examples)
set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )

set(LLVM_ALL_TARGETS
AArch64
ARM
CellSPU
CppBackend
Hexagon
Mips
Expand All @@ -75,20 +84,16 @@ set(LLVM_ALL_TARGETS
NVPTX
PowerPC
Sparc
SystemZ
X86
XCore
)

# List of targets with JIT support:
set(LLVM_TARGETS_WITH_JIT X86 PowerPC ARM Mips)
set(LLVM_TARGETS_WITH_JIT X86 PowerPC ARM Mips SystemZ)

if( MSVC )
set(LLVM_TARGETS_TO_BUILD X86
CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
else( MSVC )
set(LLVM_TARGETS_TO_BUILD "all"
set(LLVM_TARGETS_TO_BUILD "all"
CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
endif( MSVC )

set(LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ""
CACHE STRING "Semicolon-separated list of experimental targets to build.")
Expand Down Expand Up @@ -120,6 +125,8 @@ set(LLVM_TARGET_ARCH "host"

option(LLVM_ENABLE_THREADS "Use threads if available." ON)

option(LLVM_ENABLE_ZLIB "Use zlib for compression/decompression if available." ON)

if( LLVM_TARGETS_TO_BUILD STREQUAL "all" )
set( LLVM_TARGETS_TO_BUILD ${LLVM_ALL_TARGETS} )
endif()
Expand Down Expand Up @@ -177,13 +184,16 @@ endif( LLVM_USE_INTEL_JITEVENTS )
option(LLVM_USE_OPROFILE
"Use opagent JIT interface to inform OProfile about JIT code" OFF)

# If enabled, ierify we are on a platform that supports oprofile.
# If enabled, verify we are on a platform that supports oprofile.
if( LLVM_USE_OPROFILE )
if( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
message(FATAL_ERROR "OProfile support is available on Linux only.")
endif( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
endif( LLVM_USE_OPROFILE )

set(LLVM_USE_SANITIZER "" CACHE STRING
"Define the sanitizer used to build binaries and tests.")

# Define an option controlling whether we should build for 32-bit on 64-bit
# platforms, where supported.
if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
Expand Down Expand Up @@ -234,8 +244,7 @@ include(config-ix)
# invocation time.
set(LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_HOST_TRIPLE}" CACHE STRING
"Default target for which LLVM will generate code." )
set(TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}" CACHE STRING
"Default target for which LLVM will generate code." )
set(TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}")

include(HandleLLVMOptions)

Expand Down Expand Up @@ -368,10 +377,21 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)

include_directories( ${LLVM_BINARY_DIR}/include ${LLVM_MAIN_INCLUDE_DIR})

if( ${CMAKE_SYSTEM_NAME} MATCHES FreeBSD )
# On FreeBSD, /usr/local/* is not used by default. In order to build LLVM
# with libxml2, iconv.h, etc., we must add /usr/local paths.
include_directories("/usr/local/include")
link_directories("/usr/local/lib")
endif( ${CMAKE_SYSTEM_NAME} MATCHES FreeBSD )

if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include llvm/Support/Solaris.h")
endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )

# Make sure we don't get -rdynamic in every binary. For those that need it,
# use set_target_properties(target PROPERTIES ENABLE_EXPORTS 1)
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")

include(AddLLVM)
include(TableGen)

Expand All @@ -397,8 +417,6 @@ add_subdirectory(utils/count)
add_subdirectory(utils/not)
add_subdirectory(utils/llvm-lit)
add_subdirectory(utils/yaml-bench)
add_subdirectory(utils/obj2yaml)
add_subdirectory(utils/yaml2obj)

add_subdirectory(projects)

Expand All @@ -419,7 +437,7 @@ if( LLVM_INCLUDE_TESTS )
add_subdirectory(utils/unittest)
add_subdirectory(unittests)
if (MSVC)
# This utility is used to prevent chrashing tests from calling Dr. Watson on
# This utility is used to prevent crashing tests from calling Dr. Watson on
# Windows.
add_subdirectory(utils/KillTheDoctor)
endif()
Expand Down Expand Up @@ -469,6 +487,7 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
set(CPACK_PACKAGE_VENDOR "LLVM")
set(CPACK_PACKAGE_VERSION_MAJOR ${LLVM_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${LLVM_VERSION_MINOR})
add_version_info_from_vcs(CPACK_PACKAGE_VERSION_PATCH)
include(CPack)

# Workaround for MSVS10 to avoid the Dialog Hell
Expand Down
104 changes: 94 additions & 10 deletions CODE_OWNERS.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -8,48 +8,132 @@ beautification by scripts. The fields are: name (N), email (E), web-address
(W), PGP key ID and fingerprint (P), description (D), and snail-mail address
(S).

N: Joe Abbey
E: [email protected]
D: LLVM Bitcode (lib/Bitcode/* include/llvm/Bitcode/*)

N: Owen Anderson
E: [email protected]
D: SelectionDAG (lib/CodeGen/SelectionDAG/*)

N: Rafael Avila de Espindola
E: [email protected]
D: Gold plugin (tools/gold/*)

N: Chandler Carruth
E: [email protected]
E: [email protected]
D: Config, ADT, Support, inlining & related passes, SROA/mem2reg & related passes, CMake, library layering

N: Evan Cheng
E: [email protected]
D: Code generator and all targets
D: ARM target, parts of code generator not covered by someone else

N: Eric Christopher
E: [email protected]
D: Debug Information, autotools/configure/make build, inline assembly

N: Greg Clayton
D: LLDB

N: Peter Collingbourne
D: libclc

N: Doug Gregor
D: Clang Frontend Libraries
N: Anshuman Dasgupta
E: [email protected]
D: Hexagon Backend

N: Hal Finkel
E: [email protected]
D: BBVectorize and the PowerPC target

N: Venkatraman Govindaraju
E: [email protected]
D: Sparc Backend (lib/Target/Sparc/*)

N: Tobias Grosser
D: Polly

N: James Grosbach
E: [email protected]
D: MC layer

N: Howard Hinnant
D: libc++

N: Justin Holewinski
E: [email protected]
D: NVPTX Target (lib/Target/NVPTX/*)

N: Andy Kaylor
E: [email protected]
D: MCJIT, RuntimeDyld and JIT event listeners

N: Galina Kistanova
E: [email protected]
D: LLVM Buildbot

N: Anton Korobeynikov
E: [email protected]
D: Exception handling, debug information, and Windows codegen
E: [email protected]
D: Exception handling, Windows codegen, ARM EABI

N: Benjamin Kramer
E: [email protected]
D: DWARF Parser

N: Ted Kremenek
D: Clang Static Analyzer
N: Sergei Larin
E: [email protected]
D: VLIW Instruction Scheduling, Packetization

N: Chris Lattner
E: [email protected]
W: http://nondot.org/~sabre/
D: Everything not covered by someone else

N: John McCall
E: rjmccall@apple.com
D: Clang LLVM IR generation
N: Tim Northover
E: Tim.Northover@arm.com
D: AArch64 backend

N: Jakob Olesen
D: Register allocators and TableGen

N: Richard Osborne
E: [email protected]
D: XCore Backend

N: Chad Rosier
E: [email protected]
D: Fast-Isel

N: Nadav Rotem
E: [email protected]
D: X86 Backend, Loop Vectorizer

N: Richard Sandiford
E: [email protected]
D: SystemZ Backend

N: Duncan Sands
E: [email protected]
D: DragonEgg

N: Michael Spencer
E: [email protected]
D: Windows parts of Support, Object, ar, nm, objdump, ranlib, size

N: Tom Stellard
E: [email protected]
E: [email protected]
D: R600 Backend

N: Andrew Trick
E: [email protected]
D: IndVar Simplify, Loop Strength Reduction, Instruction Scheduling

N: Bill Wendling
E: [email protected]
D: libLTO, IR Linker

N: Obfuscator-LLVM team
E: [email protected]
D: Obfuscator
24 changes: 18 additions & 6 deletions CREDITS.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ D: The Sparc64 backend, provider of much wisdom, and motivator for LLVM
N: Owen Anderson
E: [email protected]
D: LCSSA pass and related LoopUnswitch work
D: GVNPRE pass, TargetData refactoring, random improvements
D: GVNPRE pass, DataLayout refactoring, random improvements

N: Henrik Bach
D: MingW Win32 API portability layer
Expand Down Expand Up @@ -60,9 +60,11 @@ D: Loop unrolling with run-time trip counts.

N: Chandler Carruth
E: [email protected]
E: [email protected]
D: Hashing algorithms and interfaces
D: Inline cost analysis
D: Machine block placement pass
D: SROA

N: Casey Carter
E: [email protected]
Expand Down Expand Up @@ -98,7 +100,7 @@ E: [email protected]
D: Deterministic finite automaton based infrastructure for VLIW packetization

N: Stefanus Du Toit
E: stefanus.dutoit@rapidmind.com
E: stefanus.du.toit@intel.com
D: Bug fixes and minor improvements

N: Rafael Avila de Espindola
Expand Down Expand Up @@ -141,7 +143,7 @@ E: [email protected]
D: Author of llvmc2

N: Dan Gohman
E: gohman@apple.com
E: dan433584@gmail.com
D: Miscellaneous bug fixes

N: David Goodwin
Expand Down Expand Up @@ -249,6 +251,12 @@ D: The initial llvm-ar tool, converted regression testsuite to dejagnu
D: Modulo scheduling in the SparcV9 backend
D: Release manager (1.7+)

N: Sylvestre Ledru
E: [email protected]
W: http://sylvesre.ledru.info/
D: Debian and Ubuntu packaging
D: Continous integration with jenkins

N: Andrew Lenharth
E: [email protected]
W: http://www.lenharth.org/~andrewl/
Expand Down Expand Up @@ -361,8 +369,8 @@ D: ARM fast-isel improvements
D: Performance monitoring

N: Nadav Rotem
E: nadav.rotem@intel.com
D: Vector code generation improvements.
E: nrotem@apple.com
D: X86 code generation improvements, Loop Vectorizer.

N: Roman Samoilov
E: [email protected]
Expand Down Expand Up @@ -402,6 +410,10 @@ E: [email protected]
W: http://reidspencer.com/
D: Lots of stuff, see: http://wiki.llvm.org/index.php/User:Reid

N: Craig Topper
E: [email protected]
D: X86 codegen and disassembler improvements. AVX2 support.

N: Edwin Torok
E: [email protected]
D: Miscellaneous bug fixes
Expand All @@ -417,7 +429,7 @@ D: Thread Local Storage implementation

N: Bill Wendling
E: [email protected]
D: Exception handling
D: Release manager
D: Bunches of stuff

N: Bob Wilson
Expand Down
6 changes: 3 additions & 3 deletions LICENSE.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ LLVM Release License
University of Illinois/NCSA
Open Source License

Copyright (c) 2003-2012 University of Illinois at Urbana-Champaign.
Copyright (c) 2003-2013 University of Illinois at Urbana-Champaign.
All rights reserved.

Developed by:
Expand Down Expand Up @@ -64,8 +64,8 @@ Program Directory
Autoconf llvm/autoconf
llvm/projects/ModuleMaker/autoconf
llvm/projects/sample/autoconf
CellSPU backend llvm/lib/Target/CellSPU/README.txt
Google Test llvm/utils/unittest/googletest
OpenBSD regex llvm/lib/Support/{reg*, COPYRIGHT.regex}
Obfuscator llvm/lib/Transforms/Obfuscation/LICENSE-OBFUSCATOR.TXT
pyyaml tests llvm/test/YAMLParser/{*.data, LICENSE.TXT}
ARM contributions llvm/lib/Target/ARM/LICENSE.TXT
Obfuscator llvm/lib/Transforms/Obfuscation/LICENSE-OBFUSCATOR.TXT
Loading

0 comments on commit 51299c0

Please sign in to comment.