Merge branch 'upstream'
Former-commit-id: b96acc11060aa8aee7fd2158018d73bc86044246
This commit is contained in:
commit
62a6f93c60
@ -1 +1 @@
|
|||||||
2ce6c2131f7b8b3079c900084af3240c24f86340
|
ec4573a886d6efd9e2214b4dd0417f3244b35889
|
@ -1 +1 @@
|
|||||||
c0e743df5fbb47a5fe35a704f8e79be992a3eadc
|
fe41ec21f58c4a07e394fbfd0cba222410f7a56a
|
1
external/helix-binaries/README.md
vendored
Normal file
1
external/helix-binaries/README.md
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
95
external/helix-binaries/xunit-reporter.py
vendored
Normal file
95
external/helix-binaries/xunit-reporter.py
vendored
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import re
|
||||||
|
import os
|
||||||
|
import urlparse
|
||||||
|
import helix.azure_storage
|
||||||
|
import helix.event
|
||||||
|
import helix.settings
|
||||||
|
import helix.logs
|
||||||
|
|
||||||
|
log = helix.logs.get_logger()
|
||||||
|
|
||||||
|
acceptableXUnitFileNames = [
|
||||||
|
"testResults.xml",
|
||||||
|
"test-results.xml",
|
||||||
|
"test_results.xml"
|
||||||
|
]
|
||||||
|
|
||||||
|
class HelixHelper:
|
||||||
|
def __init__(self, settings):
|
||||||
|
self.settings = settings
|
||||||
|
self.event_client = helix.event.create_from_uri(settings.event_uri)
|
||||||
|
self.upload_client = helix.azure_storage.get_upload_client(settings)
|
||||||
|
|
||||||
|
def error(self, error_type, message, log_uri=None):
|
||||||
|
self.event_client.error(self.settings, error_type, message, log_uri)
|
||||||
|
|
||||||
|
def xunit(self, results_uri, test_count):
|
||||||
|
self.event_client.send(
|
||||||
|
{
|
||||||
|
'Type': 'XUnitTestResult',
|
||||||
|
'WorkItemId': self.settings.workitem_id,
|
||||||
|
'WorkItemFriendlyName': self.settings.workitem_friendly_name,
|
||||||
|
'CorrelationId': self.settings.correlation_id,
|
||||||
|
'ResultsXmlUri': results_uri,
|
||||||
|
'TestCount': test_count,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
def upload_file_to_storage(self, file_path):
|
||||||
|
""" Copy file specified to azure storage account using Helix infrastructure
|
||||||
|
:param file_path: Path to file to be copied to Azure storage
|
||||||
|
:type file_path:string
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
return self.upload_client.upload(file_path, os.path.basename(file_path))
|
||||||
|
except ValueError:
|
||||||
|
self.error("FailedUpload", "Failed to upload "+file_path+"after retry")
|
||||||
|
|
||||||
|
def findXUnitResults(search_dir):
|
||||||
|
for root, dirs, files in os.walk(search_dir):
|
||||||
|
for file_name in files:
|
||||||
|
if file_name in acceptableXUnitFileNames:
|
||||||
|
return os.path.join(root, file_name)
|
||||||
|
return None
|
||||||
|
|
||||||
|
def main():
|
||||||
|
settings = helix.settings.settings_from_env()
|
||||||
|
|
||||||
|
if settings.output_uri is None or settings.event_uri is None:
|
||||||
|
log.error("Unable to report xunit results: output_uri and/or event_uri are not set.")
|
||||||
|
return 1
|
||||||
|
|
||||||
|
helper = HelixHelper(settings)
|
||||||
|
working_dir = settings.workitem_working_dir
|
||||||
|
|
||||||
|
results_path = findXUnitResults(working_dir)
|
||||||
|
|
||||||
|
if results_path is None:
|
||||||
|
log.error("Unable to report xunit results: no test results xml file found.")
|
||||||
|
return 2
|
||||||
|
|
||||||
|
log.info("Uploading results from {}".format(results_path))
|
||||||
|
|
||||||
|
with file(results_path) as result_file:
|
||||||
|
test_count = 0
|
||||||
|
total_regex = re.compile(r'total="(\d+)"')
|
||||||
|
for line in result_file:
|
||||||
|
if '<assembly ' in line:
|
||||||
|
match = total_regex.search(line)
|
||||||
|
if match is not None:
|
||||||
|
test_count = int(match.groups()[0])
|
||||||
|
break
|
||||||
|
|
||||||
|
result_url = helper.upload_file_to_storage(results_path)
|
||||||
|
|
||||||
|
log.info("Sending completion event")
|
||||||
|
helper.xunit(result_url, test_count)
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
import sys
|
||||||
|
sys.exit(main())
|
3
external/llvm/.arcconfig
vendored
Normal file
3
external/llvm/.arcconfig
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"conduit_uri" : "https://reviews.llvm.org/"
|
||||||
|
}
|
2
external/llvm/.clang-format
vendored
Normal file
2
external/llvm/.clang-format
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
BasedOnStyle: LLVM
|
||||||
|
|
17
external/llvm/.clang-tidy
vendored
Normal file
17
external/llvm/.clang-tidy
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,-misc-unused-parameters,readability-identifier-naming'
|
||||||
|
CheckOptions:
|
||||||
|
- key: readability-identifier-naming.ClassCase
|
||||||
|
value: CamelCase
|
||||||
|
- key: readability-identifier-naming.EnumCase
|
||||||
|
value: CamelCase
|
||||||
|
- key: readability-identifier-naming.FunctionCase
|
||||||
|
value: camelBack
|
||||||
|
- key: readability-identifier-naming.MemberCase
|
||||||
|
value: CamelCase
|
||||||
|
- key: readability-identifier-naming.ParameterCase
|
||||||
|
value: CamelCase
|
||||||
|
- key: readability-identifier-naming.UnionCase
|
||||||
|
value: CamelCase
|
||||||
|
- key: readability-identifier-naming.VariableCase
|
||||||
|
value: CamelCase
|
||||||
|
|
12
external/llvm/.gitattributes
vendored
Normal file
12
external/llvm/.gitattributes
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# binary files
|
||||||
|
test/Object/Inputs/*.a-* binary
|
||||||
|
test/tools/dsymutil/Inputs/* binary
|
||||||
|
test/tools/llvm-ar/Inputs/*.lib binary
|
||||||
|
test/tools/llvm-objdump/Inputs/*.a binary
|
||||||
|
test/tools/llvm-rc/Inputs/* binary
|
||||||
|
test/tools/llvm-strings/Inputs/numbers binary
|
||||||
|
test/MC/AsmParser/incbin_abcd binary
|
||||||
|
test/YAMLParser/spec-09-02.test binary
|
||||||
|
|
||||||
|
# Windows line ending test
|
||||||
|
test/MC/AsmParser/preserve-comments-crlf.s text eol=crlf
|
76
external/llvm/.gitignore
vendored
Normal file
76
external/llvm/.gitignore
vendored
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
#==============================================================================#
|
||||||
|
# This file specifies intentionally untracked files that git should ignore.
|
||||||
|
# See: http://www.kernel.org/pub/software/scm/git/docs/gitignore.html
|
||||||
|
#
|
||||||
|
# This file is intentionally different from the output of `git svn show-ignore`,
|
||||||
|
# as most of those are useless.
|
||||||
|
#==============================================================================#
|
||||||
|
|
||||||
|
#==============================================================================#
|
||||||
|
# File extensions to be ignored anywhere in the tree.
|
||||||
|
#==============================================================================#
|
||||||
|
# Temp files created by most text editors.
|
||||||
|
*~
|
||||||
|
# Merge files created by git.
|
||||||
|
*.orig
|
||||||
|
# Byte compiled python modules.
|
||||||
|
*.pyc
|
||||||
|
# vim swap files
|
||||||
|
.*.sw?
|
||||||
|
.sw?
|
||||||
|
#OS X specific files.
|
||||||
|
.DS_store
|
||||||
|
|
||||||
|
# Nested build directory
|
||||||
|
/build
|
||||||
|
|
||||||
|
#==============================================================================#
|
||||||
|
# Explicit files to ignore (only matches one).
|
||||||
|
#==============================================================================#
|
||||||
|
# Various tag programs
|
||||||
|
/tags
|
||||||
|
/TAGS
|
||||||
|
/GPATH
|
||||||
|
/GRTAGS
|
||||||
|
/GSYMS
|
||||||
|
/GTAGS
|
||||||
|
.gitusers
|
||||||
|
autom4te.cache
|
||||||
|
cscope.files
|
||||||
|
cscope.out
|
||||||
|
autoconf/aclocal.m4
|
||||||
|
autoconf/autom4te.cache
|
||||||
|
/compile_commands.json
|
||||||
|
|
||||||
|
#==============================================================================#
|
||||||
|
# Directories to ignore (do not add trailing '/'s, they skip symlinks).
|
||||||
|
#==============================================================================#
|
||||||
|
# External projects that are tracked independently.
|
||||||
|
projects/*
|
||||||
|
!projects/*.*
|
||||||
|
!projects/Makefile
|
||||||
|
runtimes/*
|
||||||
|
!runtimes/*.*
|
||||||
|
# Clang, which is tracked independently.
|
||||||
|
tools/clang
|
||||||
|
# LLDB, which is tracked independently.
|
||||||
|
tools/lldb
|
||||||
|
# lld, which is tracked independently.
|
||||||
|
tools/lld
|
||||||
|
# llgo, which is tracked independently.
|
||||||
|
tools/llgo
|
||||||
|
# Polly, which is tracked independently.
|
||||||
|
tools/polly
|
||||||
|
# avrlit, which is tracked independently.
|
||||||
|
tools/avrlit
|
||||||
|
# Sphinx build tree, if building in-source dir.
|
||||||
|
docs/_build
|
||||||
|
# VS2017 and VSCode config files.
|
||||||
|
.vscode
|
||||||
|
.vs
|
||||||
|
|
||||||
|
#==============================================================================#
|
||||||
|
# Files created in tree by the Go bindings.
|
||||||
|
#==============================================================================#
|
||||||
|
bindings/go/llvm/llvm_config.go
|
||||||
|
bindings/go/llvm/workdir
|
1027
external/llvm/CMakeLists.txt
vendored
Normal file
1027
external/llvm/CMakeLists.txt
vendored
Normal file
File diff suppressed because it is too large
Load Diff
215
external/llvm/CODE_OWNERS.TXT
vendored
Normal file
215
external/llvm/CODE_OWNERS.TXT
vendored
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
This file is a list of the people responsible for ensuring that patches for a
|
||||||
|
particular part of LLVM are reviewed, either by themself or by someone else.
|
||||||
|
They are also the gatekeepers for their part of LLVM, with the final word on
|
||||||
|
what goes in or not.
|
||||||
|
|
||||||
|
The list is sorted by surname and formatted to allow easy grepping and
|
||||||
|
beautification by scripts. The fields are: name (N), email (E), web-address
|
||||||
|
(W), PGP key ID and fingerprint (P), description (D), snail-mail address
|
||||||
|
(S) and (I) IRC handle. Each entry should contain at least the (N), (E) and
|
||||||
|
(D) fields.
|
||||||
|
|
||||||
|
N: Justin Bogner
|
||||||
|
E: mail@justinbogner.com
|
||||||
|
D: InstrProfiling and related parts of ProfileData
|
||||||
|
D: SelectionDAG (lib/CodeGen/SelectionDAG/*)
|
||||||
|
|
||||||
|
N: Alex Bradbury
|
||||||
|
E: asb@lowrisc.org
|
||||||
|
D: RISC-V backend (lib/Target/RISCV/*)
|
||||||
|
|
||||||
|
N: Matthias Braun
|
||||||
|
E: matze@braunis.de
|
||||||
|
I: MatzeB
|
||||||
|
D: Instruction Scheduling
|
||||||
|
|
||||||
|
N: Chandler Carruth
|
||||||
|
E: chandlerc@gmail.com
|
||||||
|
E: chandlerc@google.com
|
||||||
|
D: Config, ADT, Support, inlining & related passes, SROA/mem2reg & related passes, CMake, library layering
|
||||||
|
|
||||||
|
N: Evan Cheng
|
||||||
|
E: evan.cheng@apple.com
|
||||||
|
D: parts of code generator not covered by someone else
|
||||||
|
|
||||||
|
N: Eric Christopher
|
||||||
|
E: echristo@gmail.com
|
||||||
|
D: Debug Information, inline assembly
|
||||||
|
|
||||||
|
N: Andrey Churbanov
|
||||||
|
E: andrey.churbanov@intel.com
|
||||||
|
D: OpenMP runtime library
|
||||||
|
|
||||||
|
N: Greg Clayton
|
||||||
|
E: clayborg@gmail.com
|
||||||
|
D: LLDB
|
||||||
|
|
||||||
|
N: Pete Couperus
|
||||||
|
E: petecoup@synopsys.com
|
||||||
|
D: ARC backend (lib/Target/ARC/*)
|
||||||
|
|
||||||
|
N: Sanjoy Das
|
||||||
|
E: sanjoy@playingwithpointers.com
|
||||||
|
D: IndVar Simplify, Scalar Evolution
|
||||||
|
|
||||||
|
N: Marshall Clow
|
||||||
|
E: mclow.lists@gmail.com
|
||||||
|
D: libc++
|
||||||
|
|
||||||
|
N: Peter Collingbourne
|
||||||
|
E: peter@pcc.me.uk
|
||||||
|
D: llgo, libLTO (lib/LTO/* tools/lto/*), LLVM Bitcode (lib/Bitcode/* include/llvm/Bitcode/*)
|
||||||
|
|
||||||
|
N: Quentin Colombet
|
||||||
|
E: qcolombet@apple.com
|
||||||
|
D: Loop Strength Reduction, Register allocators
|
||||||
|
|
||||||
|
N: Simon Dardis
|
||||||
|
E: simon.dardis@mips.com
|
||||||
|
D: MIPS Backend (lib/Target/Mips/*)
|
||||||
|
|
||||||
|
N: Duncan P. N. Exon Smith
|
||||||
|
E: dexonsmith@apple.com
|
||||||
|
D: Branch weights and BlockFrequencyInfo
|
||||||
|
|
||||||
|
N: Hal Finkel
|
||||||
|
E: hfinkel@anl.gov
|
||||||
|
D: The loop reroller, alias analysis and the PowerPC target
|
||||||
|
|
||||||
|
N: Dan Gohman
|
||||||
|
E: sunfish@mozilla.com
|
||||||
|
D: WebAssembly Backend (lib/Target/WebAssembly/*)
|
||||||
|
|
||||||
|
N: Renato Golin
|
||||||
|
E: renato.golin@linaro.org
|
||||||
|
D: ARM Linux support
|
||||||
|
|
||||||
|
N: Venkatraman Govindaraju
|
||||||
|
E: venkatra@cs.wisc.edu
|
||||||
|
D: Sparc Backend (lib/Target/Sparc/*)
|
||||||
|
|
||||||
|
N: Tobias Grosser
|
||||||
|
E: tobias@grosser.es
|
||||||
|
D: Polly
|
||||||
|
|
||||||
|
N: James Grosbach
|
||||||
|
E: grosbach@apple.com
|
||||||
|
D: MC layer
|
||||||
|
|
||||||
|
N: Justin Holewinski
|
||||||
|
E: jholewinski@nvidia.com
|
||||||
|
D: NVPTX Target (lib/Target/NVPTX/*)
|
||||||
|
|
||||||
|
N: Lang Hames
|
||||||
|
E: lhames@gmail.com
|
||||||
|
D: MCJIT, RuntimeDyld and JIT event listeners, Orcish Warchief
|
||||||
|
|
||||||
|
N: Teresa Johnson
|
||||||
|
E: tejohnson@google.com
|
||||||
|
D: Gold plugin (tools/gold/*) and IR Linker
|
||||||
|
|
||||||
|
N: Galina Kistanova
|
||||||
|
E: gkistanova@gmail.com
|
||||||
|
D: LLVM Buildbot
|
||||||
|
|
||||||
|
N: Anton Korobeynikov
|
||||||
|
E: anton@korobeynikov.info
|
||||||
|
D: Exception handling, Windows codegen, ARM EABI
|
||||||
|
|
||||||
|
N: Benjamin Kramer
|
||||||
|
E: benny.kra@gmail.com
|
||||||
|
D: DWARF Parser
|
||||||
|
|
||||||
|
N: Michael Kuperstein
|
||||||
|
E: mkuper@google.com
|
||||||
|
D: Loop Vectorizer
|
||||||
|
|
||||||
|
N: Sergei Larin
|
||||||
|
E: slarin@codeaurora.org
|
||||||
|
D: VLIW Instruction Scheduling, Packetization
|
||||||
|
|
||||||
|
N: Chris Lattner
|
||||||
|
E: sabre@nondot.org
|
||||||
|
W: http://nondot.org/~sabre/
|
||||||
|
D: Everything not covered by someone else
|
||||||
|
|
||||||
|
N: Robert Lytton
|
||||||
|
E: robert@xmos.com
|
||||||
|
D: XCore Backend
|
||||||
|
|
||||||
|
N: David Majnemer
|
||||||
|
E: david.majnemer@gmail.com
|
||||||
|
D: IR Constant Folder, InstCombine
|
||||||
|
|
||||||
|
N: Dylan McKay
|
||||||
|
E: me@dylanmckay.io
|
||||||
|
D: AVR Backend
|
||||||
|
|
||||||
|
N: Tim Northover
|
||||||
|
E: t.p.northover@gmail.com
|
||||||
|
D: AArch64 backend, misc ARM backend
|
||||||
|
|
||||||
|
N: Diego Novillo
|
||||||
|
E: dnovillo@google.com
|
||||||
|
D: SampleProfile and related parts of ProfileData
|
||||||
|
|
||||||
|
N: Jakob Olesen
|
||||||
|
E: stoklund@2pi.dk
|
||||||
|
D: TableGen
|
||||||
|
|
||||||
|
N: Krzysztof Parzyszek
|
||||||
|
E: kparzysz@codeaurora.org
|
||||||
|
D: Hexagon Backend
|
||||||
|
|
||||||
|
N: Jacques Pienaar
|
||||||
|
E: jpienaar@google.com
|
||||||
|
D: Lanai Backend
|
||||||
|
|
||||||
|
N: Paul Robinson
|
||||||
|
E: paul_robinson@playstation.sony.com
|
||||||
|
D: Sony PlayStation®4 support
|
||||||
|
|
||||||
|
N: Chad Rosier
|
||||||
|
E: mcrosier@codeaurora.org
|
||||||
|
D: Fast-Isel
|
||||||
|
|
||||||
|
N: Duncan Sands
|
||||||
|
E: baldrick@free.fr
|
||||||
|
D: DragonEgg
|
||||||
|
|
||||||
|
N: Kostya Serebryany
|
||||||
|
E: kcc@google.com
|
||||||
|
D: AddressSanitizer, ThreadSanitizer (LLVM parts)
|
||||||
|
|
||||||
|
N: Michael Spencer
|
||||||
|
E: bigcheesegs@gmail.com
|
||||||
|
D: Windows parts of Support, Object, ar, nm, objdump, ranlib, size
|
||||||
|
|
||||||
|
N: Alexei Starovoitov
|
||||||
|
E: alexei.starovoitov@gmail.com
|
||||||
|
D: BPF backend
|
||||||
|
|
||||||
|
N: Tom Stellard
|
||||||
|
E: tstellar@redhat.com
|
||||||
|
D: Stable release management (x.y.[1-9] releases), AMDGPU Backend, libclc
|
||||||
|
|
||||||
|
N: Evgeniy Stepanov
|
||||||
|
E: eugenis@google.com
|
||||||
|
D: MemorySanitizer (LLVM part)
|
||||||
|
|
||||||
|
N: Craig Topper
|
||||||
|
E: craig.topper@gmail.com
|
||||||
|
E: craig.topper@intel.com
|
||||||
|
D: X86 Backend
|
||||||
|
|
||||||
|
N: Ulrich Weigand
|
||||||
|
E: uweigand@de.ibm.com
|
||||||
|
D: SystemZ Backend
|
||||||
|
|
||||||
|
N: Hans Wennborg
|
||||||
|
E: hans@chromium.org
|
||||||
|
D: Release management (x.y.0 releases)
|
||||||
|
|
||||||
|
N: whitequark
|
||||||
|
E: whitequark@whitequark.org
|
||||||
|
D: OCaml bindings
|
482
external/llvm/CREDITS.TXT
vendored
Normal file
482
external/llvm/CREDITS.TXT
vendored
Normal file
@ -0,0 +1,482 @@
|
|||||||
|
This file is a partial list of people who have contributed to the LLVM
|
||||||
|
project. If you have contributed a patch or made some other contribution to
|
||||||
|
LLVM, please submit a patch to this file to add yourself, and it will be
|
||||||
|
done!
|
||||||
|
|
||||||
|
The list is sorted by surname and formatted to allow easy grepping and
|
||||||
|
beautification by scripts. The fields are: name (N), email (E), web-address
|
||||||
|
(W), PGP key ID and fingerprint (P), description (D), snail-mail address
|
||||||
|
(S), and (I) IRC handle.
|
||||||
|
|
||||||
|
N: Vikram Adve
|
||||||
|
E: vadve@cs.uiuc.edu
|
||||||
|
W: http://www.cs.uiuc.edu/~vadve/
|
||||||
|
D: The Sparc64 backend, provider of much wisdom, and motivator for LLVM
|
||||||
|
|
||||||
|
N: Owen Anderson
|
||||||
|
E: resistor@mac.com
|
||||||
|
D: LCSSA pass and related LoopUnswitch work
|
||||||
|
D: GVNPRE pass, DataLayout refactoring, random improvements
|
||||||
|
|
||||||
|
N: Henrik Bach
|
||||||
|
D: MingW Win32 API portability layer
|
||||||
|
|
||||||
|
N: Aaron Ballman
|
||||||
|
E: aaron@aaronballman.com
|
||||||
|
D: __declspec attributes, Windows support, general bug fixing
|
||||||
|
|
||||||
|
N: Nate Begeman
|
||||||
|
E: natebegeman@mac.com
|
||||||
|
D: PowerPC backend developer
|
||||||
|
D: Target-independent code generator and analysis improvements
|
||||||
|
|
||||||
|
N: Daniel Berlin
|
||||||
|
E: dberlin@dberlin.org
|
||||||
|
D: ET-Forest implementation.
|
||||||
|
D: Sparse bitmap
|
||||||
|
|
||||||
|
N: David Blaikie
|
||||||
|
E: dblaikie@gmail.com
|
||||||
|
D: General bug fixing/fit & finish, mostly in Clang
|
||||||
|
|
||||||
|
N: Neil Booth
|
||||||
|
E: neil@daikokuya.co.uk
|
||||||
|
D: APFloat implementation.
|
||||||
|
|
||||||
|
N: Alex Bradbury
|
||||||
|
E: asb@lowrisc.org
|
||||||
|
D: RISC-V backend
|
||||||
|
|
||||||
|
N: Misha Brukman
|
||||||
|
E: brukman+llvm@uiuc.edu
|
||||||
|
W: http://misha.brukman.net
|
||||||
|
D: Portions of X86 and Sparc JIT compilers, PowerPC backend
|
||||||
|
D: Incremental bitcode loader
|
||||||
|
|
||||||
|
N: Cameron Buschardt
|
||||||
|
E: buschard@uiuc.edu
|
||||||
|
D: The `mem2reg' pass - promotes values stored in memory to registers
|
||||||
|
|
||||||
|
N: Brendon Cahoon
|
||||||
|
E: bcahoon@codeaurora.org
|
||||||
|
D: Loop unrolling with run-time trip counts.
|
||||||
|
|
||||||
|
N: Chandler Carruth
|
||||||
|
E: chandlerc@gmail.com
|
||||||
|
E: chandlerc@google.com
|
||||||
|
D: Hashing algorithms and interfaces
|
||||||
|
D: Inline cost analysis
|
||||||
|
D: Machine block placement pass
|
||||||
|
D: SROA
|
||||||
|
|
||||||
|
N: Casey Carter
|
||||||
|
E: ccarter@uiuc.edu
|
||||||
|
D: Fixes to the Reassociation pass, various improvement patches
|
||||||
|
|
||||||
|
N: Evan Cheng
|
||||||
|
E: evan.cheng@apple.com
|
||||||
|
D: ARM and X86 backends
|
||||||
|
D: Instruction scheduler improvements
|
||||||
|
D: Register allocator improvements
|
||||||
|
D: Loop optimizer improvements
|
||||||
|
D: Target-independent code generator improvements
|
||||||
|
|
||||||
|
N: Dan Villiom Podlaski Christiansen
|
||||||
|
E: danchr@gmail.com
|
||||||
|
E: danchr@cs.au.dk
|
||||||
|
W: http://villiom.dk
|
||||||
|
D: LLVM Makefile improvements
|
||||||
|
D: Clang diagnostic & driver tweaks
|
||||||
|
S: Aarhus, Denmark
|
||||||
|
|
||||||
|
N: Jeff Cohen
|
||||||
|
E: jeffc@jolt-lang.org
|
||||||
|
W: http://jolt-lang.org
|
||||||
|
D: Native Win32 API portability layer
|
||||||
|
|
||||||
|
N: John T. Criswell
|
||||||
|
E: criswell@uiuc.edu
|
||||||
|
D: Original Autoconf support, documentation improvements, bug fixes
|
||||||
|
|
||||||
|
N: Anshuman Dasgupta
|
||||||
|
E: adasgupt@codeaurora.org
|
||||||
|
D: Deterministic finite automaton based infrastructure for VLIW packetization
|
||||||
|
|
||||||
|
N: Stefanus Du Toit
|
||||||
|
E: stefanus.du.toit@intel.com
|
||||||
|
D: Bug fixes and minor improvements
|
||||||
|
|
||||||
|
N: Rafael Avila de Espindola
|
||||||
|
E: rafael.espindola@gmail.com
|
||||||
|
D: The ARM backend
|
||||||
|
|
||||||
|
N: Dave Estes
|
||||||
|
E: cestes@codeaurora.org
|
||||||
|
D: AArch64 machine description for Cortex-A53
|
||||||
|
|
||||||
|
N: Alkis Evlogimenos
|
||||||
|
E: alkis@evlogimenos.com
|
||||||
|
D: Linear scan register allocator, many codegen improvements, Java frontend
|
||||||
|
|
||||||
|
N: Hal Finkel
|
||||||
|
E: hfinkel@anl.gov
|
||||||
|
D: Basic-block autovectorization, PowerPC backend improvements
|
||||||
|
|
||||||
|
N: Eric Fiselier
|
||||||
|
E: eric@efcs.ca
|
||||||
|
D: LIT patches and documentation.
|
||||||
|
|
||||||
|
N: Ryan Flynn
|
||||||
|
E: pizza@parseerror.com
|
||||||
|
D: Miscellaneous bug fixes
|
||||||
|
|
||||||
|
N: Brian Gaeke
|
||||||
|
E: gaeke@uiuc.edu
|
||||||
|
W: http://www.students.uiuc.edu/~gaeke/
|
||||||
|
D: Portions of X86 static and JIT compilers; initial SparcV8 backend
|
||||||
|
D: Dynamic trace optimizer
|
||||||
|
D: FreeBSD/X86 compatibility fixes, the llvm-nm tool
|
||||||
|
|
||||||
|
N: Nicolas Geoffray
|
||||||
|
E: nicolas.geoffray@lip6.fr
|
||||||
|
W: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/
|
||||||
|
D: PPC backend fixes for Linux
|
||||||
|
|
||||||
|
N: Louis Gerbarg
|
||||||
|
E: lgg@apple.com
|
||||||
|
D: Portions of the PowerPC backend
|
||||||
|
|
||||||
|
N: Saem Ghani
|
||||||
|
E: saemghani@gmail.com
|
||||||
|
D: Callgraph class cleanups
|
||||||
|
|
||||||
|
N: Mikhail Glushenkov
|
||||||
|
E: foldr@codedgers.com
|
||||||
|
D: Author of llvmc2
|
||||||
|
|
||||||
|
N: Dan Gohman
|
||||||
|
E: sunfish@mozilla.com
|
||||||
|
D: Miscellaneous bug fixes
|
||||||
|
D: WebAssembly Backend
|
||||||
|
|
||||||
|
N: David Goodwin
|
||||||
|
E: david@goodwinz.net
|
||||||
|
D: Thumb-2 code generator
|
||||||
|
|
||||||
|
N: David Greene
|
||||||
|
E: greened@obbligato.org
|
||||||
|
D: Miscellaneous bug fixes
|
||||||
|
D: Register allocation refactoring
|
||||||
|
|
||||||
|
N: Gabor Greif
|
||||||
|
E: ggreif@gmail.com
|
||||||
|
D: Improvements for space efficiency
|
||||||
|
|
||||||
|
N: James Grosbach
|
||||||
|
E: grosbach@apple.com
|
||||||
|
I: grosbach
|
||||||
|
D: SjLj exception handling support
|
||||||
|
D: General fixes and improvements for the ARM back-end
|
||||||
|
D: MCJIT
|
||||||
|
D: ARM integrated assembler and assembly parser
|
||||||
|
D: Led effort for the backend formerly known as ARM64
|
||||||
|
|
||||||
|
N: Lang Hames
|
||||||
|
E: lhames@gmail.com
|
||||||
|
D: PBQP-based register allocator
|
||||||
|
|
||||||
|
N: Gordon Henriksen
|
||||||
|
E: gordonhenriksen@mac.com
|
||||||
|
D: Pluggable GC support
|
||||||
|
D: C interface
|
||||||
|
D: Ocaml bindings
|
||||||
|
|
||||||
|
N: Raul Fernandes Herbster
|
||||||
|
E: raul@dsc.ufcg.edu.br
|
||||||
|
D: JIT support for ARM
|
||||||
|
|
||||||
|
N: Paolo Invernizzi
|
||||||
|
E: arathorn@fastwebnet.it
|
||||||
|
D: Visual C++ compatibility fixes
|
||||||
|
|
||||||
|
N: Patrick Jenkins
|
||||||
|
E: patjenk@wam.umd.edu
|
||||||
|
D: Nightly Tester
|
||||||
|
|
||||||
|
N: Dale Johannesen
|
||||||
|
E: dalej@apple.com
|
||||||
|
D: ARM constant islands improvements
|
||||||
|
D: Tail merging improvements
|
||||||
|
D: Rewrite X87 back end
|
||||||
|
D: Use APFloat for floating point constants widely throughout compiler
|
||||||
|
D: Implement X87 long double
|
||||||
|
|
||||||
|
N: Brad Jones
|
||||||
|
E: kungfoomaster@nondot.org
|
||||||
|
D: Support for packed types
|
||||||
|
|
||||||
|
N: Rod Kay
|
||||||
|
E: rkay@auroraux.org
|
||||||
|
D: Author of LLVM Ada bindings
|
||||||
|
|
||||||
|
N: Eric Kidd
|
||||||
|
W: http://randomhacks.net/
|
||||||
|
D: llvm-config script
|
||||||
|
|
||||||
|
N: Anton Korobeynikov
|
||||||
|
E: anton at korobeynikov dot info
|
||||||
|
D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv.
|
||||||
|
D: x86/linux PIC codegen, aliases, regparm/visibility attributes
|
||||||
|
D: Switch lowering refactoring
|
||||||
|
|
||||||
|
N: Sumant Kowshik
|
||||||
|
E: kowshik@uiuc.edu
|
||||||
|
D: Author of the original C backend
|
||||||
|
|
||||||
|
N: Benjamin Kramer
|
||||||
|
E: benny.kra@gmail.com
|
||||||
|
D: Miscellaneous bug fixes
|
||||||
|
|
||||||
|
N: Sundeep Kushwaha
|
||||||
|
E: sundeepk@codeaurora.org
|
||||||
|
D: Implemented DFA-based target independent VLIW packetizer
|
||||||
|
|
||||||
|
N: Christopher Lamb
|
||||||
|
E: christopher.lamb@gmail.com
|
||||||
|
D: aligned load/store support, parts of noalias and restrict support
|
||||||
|
D: vreg subreg infrastructure, X86 codegen improvements based on subregs
|
||||||
|
D: address spaces
|
||||||
|
|
||||||
|
N: Jim Laskey
|
||||||
|
E: jlaskey@apple.com
|
||||||
|
D: Improvements to the PPC backend, instruction scheduling
|
||||||
|
D: Debug and Dwarf implementation
|
||||||
|
D: Auto upgrade mangler
|
||||||
|
D: llvm-gcc4 svn wrangler
|
||||||
|
|
||||||
|
N: Chris Lattner
|
||||||
|
E: sabre@nondot.org
|
||||||
|
W: http://nondot.org/~sabre/
|
||||||
|
D: Primary architect of LLVM
|
||||||
|
|
||||||
|
N: Tanya Lattner (Tanya Brethour)
|
||||||
|
E: tonic@nondot.org
|
||||||
|
W: http://nondot.org/~tonic/
|
||||||
|
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: sylvestre@debian.org
|
||||||
|
W: http://sylvestre.ledru.info/
|
||||||
|
W: http://apt.llvm.org/
|
||||||
|
D: Debian and Ubuntu packaging
|
||||||
|
D: Continuous integration with jenkins
|
||||||
|
|
||||||
|
N: Andrew Lenharth
|
||||||
|
E: alenhar2@cs.uiuc.edu
|
||||||
|
W: http://www.lenharth.org/~andrewl/
|
||||||
|
D: Alpha backend
|
||||||
|
D: Sampling based profiling
|
||||||
|
|
||||||
|
N: Nick Lewycky
|
||||||
|
E: nicholas@mxc.ca
|
||||||
|
D: PredicateSimplifier pass
|
||||||
|
|
||||||
|
N: Tony Linthicum, et. al.
|
||||||
|
E: tlinth@codeaurora.org
|
||||||
|
D: Backend for Qualcomm's Hexagon VLIW processor.
|
||||||
|
|
||||||
|
N: Bruno Cardoso Lopes
|
||||||
|
E: bruno.cardoso@gmail.com
|
||||||
|
I: bruno
|
||||||
|
W: http://brunocardoso.cc
|
||||||
|
D: Mips backend
|
||||||
|
D: Random ARM integrated assembler and assembly parser improvements
|
||||||
|
D: General X86 AVX1 support
|
||||||
|
|
||||||
|
N: Duraid Madina
|
||||||
|
E: duraid@octopus.com.au
|
||||||
|
W: http://kinoko.c.u-tokyo.ac.jp/~duraid/
|
||||||
|
D: IA64 backend, BigBlock register allocator
|
||||||
|
|
||||||
|
N: John McCall
|
||||||
|
E: rjmccall@apple.com
|
||||||
|
D: Clang semantic analysis and IR generation
|
||||||
|
|
||||||
|
N: Michael McCracken
|
||||||
|
E: michael.mccracken@gmail.com
|
||||||
|
D: Line number support for llvmgcc
|
||||||
|
|
||||||
|
N: Vladimir Merzliakov
|
||||||
|
E: wanderer@rsu.ru
|
||||||
|
D: Test suite fixes for FreeBSD
|
||||||
|
|
||||||
|
N: Scott Michel
|
||||||
|
E: scottm@aero.org
|
||||||
|
D: Added STI Cell SPU backend.
|
||||||
|
|
||||||
|
N: Kai Nacke
|
||||||
|
E: kai@redstar.de
|
||||||
|
D: Support for implicit TLS model used with MS VC runtime
|
||||||
|
D: Dumping of Win64 EH structures
|
||||||
|
|
||||||
|
N: Takumi Nakamura
|
||||||
|
I: chapuni
|
||||||
|
E: geek4civic@gmail.com
|
||||||
|
E: chapuni@hf.rim.or.jp
|
||||||
|
D: Maintaining the Git monorepo
|
||||||
|
W: https://github.com/llvm-project/
|
||||||
|
S: Ebina, Japan
|
||||||
|
|
||||||
|
N: Edward O'Callaghan
|
||||||
|
E: eocallaghan@auroraux.org
|
||||||
|
W: http://www.auroraux.org
|
||||||
|
D: Add Clang support with various other improvements to utils/NewNightlyTest.pl
|
||||||
|
D: Fix and maintain Solaris & AuroraUX support for llvm, various build warnings
|
||||||
|
D: and error clean ups.
|
||||||
|
|
||||||
|
N: Morten Ofstad
|
||||||
|
E: morten@hue.no
|
||||||
|
D: Visual C++ compatibility fixes
|
||||||
|
|
||||||
|
N: Jakob Stoklund Olesen
|
||||||
|
E: stoklund@2pi.dk
|
||||||
|
D: Machine code verifier
|
||||||
|
D: Blackfin backend
|
||||||
|
D: Fast register allocator
|
||||||
|
D: Greedy register allocator
|
||||||
|
|
||||||
|
N: Richard Osborne
|
||||||
|
E: richard@xmos.com
|
||||||
|
D: XCore backend
|
||||||
|
|
||||||
|
N: Piotr Padlewski
|
||||||
|
E: piotr.padlewski@gmail.com
|
||||||
|
D: !invariant.group metadata and other intrinsics for devirtualization in clang
|
||||||
|
|
||||||
|
N: Devang Patel
|
||||||
|
E: dpatel@apple.com
|
||||||
|
D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate
|
||||||
|
D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements
|
||||||
|
D: Optimizer improvements, Loop Index Split
|
||||||
|
|
||||||
|
N: Ana Pazos
|
||||||
|
E: apazos@codeaurora.org
|
||||||
|
D: Fixes and improvements to the AArch64 backend
|
||||||
|
|
||||||
|
N: Wesley Peck
|
||||||
|
E: peckw@wesleypeck.com
|
||||||
|
W: http://wesleypeck.com/
|
||||||
|
D: MicroBlaze backend
|
||||||
|
|
||||||
|
N: Francois Pichet
|
||||||
|
E: pichet2000@gmail.com
|
||||||
|
D: MSVC support
|
||||||
|
|
||||||
|
N: Adrian Prantl
|
||||||
|
E: aprantl@apple.com
|
||||||
|
D: Debug Information
|
||||||
|
|
||||||
|
N: Vladimir Prus
|
||||||
|
W: http://vladimir_prus.blogspot.com
|
||||||
|
E: ghost@cs.msu.su
|
||||||
|
D: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass
|
||||||
|
|
||||||
|
N: Kalle Raiskila
|
||||||
|
E: kalle.rasikila@nokia.com
|
||||||
|
D: Some bugfixes to CellSPU
|
||||||
|
|
||||||
|
N: Xerxes Ranby
|
||||||
|
E: xerxes@zafena.se
|
||||||
|
D: Cmake dependency chain and various bug fixes
|
||||||
|
|
||||||
|
N: Alex Rosenberg
|
||||||
|
E: alexr@leftfield.org
|
||||||
|
I: arosenberg
|
||||||
|
D: ARM calling conventions rewrite, hard float support
|
||||||
|
|
||||||
|
N: Chad Rosier
|
||||||
|
E: mcrosier@codeaurora.org
|
||||||
|
I: mcrosier
|
||||||
|
D: AArch64 fast instruction selection pass
|
||||||
|
D: Fixes and improvements to the ARM fast-isel pass
|
||||||
|
D: Fixes and improvements to the AArch64 backend
|
||||||
|
|
||||||
|
N: Nadav Rotem
|
||||||
|
E: nadav.rotem@me.com
|
||||||
|
D: X86 code generation improvements, Loop Vectorizer, SLP Vectorizer
|
||||||
|
|
||||||
|
N: Roman Samoilov
|
||||||
|
E: roman@codedgers.com
|
||||||
|
D: MSIL backend
|
||||||
|
|
||||||
|
N: Duncan Sands
|
||||||
|
E: baldrick@free.fr
|
||||||
|
I: baldrick
|
||||||
|
D: Ada support in llvm-gcc
|
||||||
|
D: Dragonegg plugin
|
||||||
|
D: Exception handling improvements
|
||||||
|
D: Type legalizer rewrite
|
||||||
|
|
||||||
|
N: Ruchira Sasanka
|
||||||
|
E: sasanka@uiuc.edu
|
||||||
|
D: Graph coloring register allocator for the Sparc64 backend
|
||||||
|
|
||||||
|
N: Arnold Schwaighofer
|
||||||
|
E: arnold.schwaighofer@gmail.com
|
||||||
|
D: Tail call optimization for the x86 backend
|
||||||
|
|
||||||
|
N: Shantonu Sen
|
||||||
|
E: ssen@apple.com
|
||||||
|
D: Miscellaneous bug fixes
|
||||||
|
|
||||||
|
N: Anand Shukla
|
||||||
|
E: ashukla@cs.uiuc.edu
|
||||||
|
D: The `paths' pass
|
||||||
|
|
||||||
|
N: Michael J. Spencer
|
||||||
|
E: bigcheesegs@gmail.com
|
||||||
|
D: Shepherding Windows COFF support into MC.
|
||||||
|
D: Lots of Windows stuff.
|
||||||
|
|
||||||
|
N: Reid Spencer
|
||||||
|
E: rspencer@reidspencer.com
|
||||||
|
W: http://reidspencer.com/
|
||||||
|
D: Lots of stuff, see: http://wiki.llvm.org/index.php/User:Reid
|
||||||
|
|
||||||
|
N: Alp Toker
|
||||||
|
E: alp@nuanti.com
|
||||||
|
W: http://atoker.com/
|
||||||
|
D: C++ frontend next generation standards implementation
|
||||||
|
|
||||||
|
N: Craig Topper
|
||||||
|
E: craig.topper@gmail.com
|
||||||
|
D: X86 codegen and disassembler improvements. AVX2 support.
|
||||||
|
|
||||||
|
N: Edwin Torok
|
||||||
|
E: edwintorok@gmail.com
|
||||||
|
D: Miscellaneous bug fixes
|
||||||
|
|
||||||
|
N: Adam Treat
|
||||||
|
E: manyoso@yahoo.com
|
||||||
|
D: C++ bugs filed, and C++ front-end bug fixes.
|
||||||
|
|
||||||
|
N: Andrew Trick
|
||||||
|
E: atrick@apple.com
|
||||||
|
D: Instruction Scheduling, ...
|
||||||
|
|
||||||
|
N: Lauro Ramos Venancio
|
||||||
|
E: lauro.venancio@indt.org.br
|
||||||
|
D: ARM backend improvements
|
||||||
|
D: Thread Local Storage implementation
|
||||||
|
|
||||||
|
N: Bill Wendling
|
||||||
|
I: wendling
|
||||||
|
E: isanbard@gmail.com
|
||||||
|
D: Release manager, IR Linker, LTO
|
||||||
|
D: Bunches of stuff
|
||||||
|
|
||||||
|
N: Bob Wilson
|
||||||
|
E: bob.wilson@acm.org
|
||||||
|
D: Advanced SIMD (NEON) support in the ARM backend.
|
68
external/llvm/LICENSE.TXT
vendored
Normal file
68
external/llvm/LICENSE.TXT
vendored
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
==============================================================================
|
||||||
|
LLVM Release License
|
||||||
|
==============================================================================
|
||||||
|
University of Illinois/NCSA
|
||||||
|
Open Source License
|
||||||
|
|
||||||
|
Copyright (c) 2003-2017 University of Illinois at Urbana-Champaign.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Developed by:
|
||||||
|
|
||||||
|
LLVM Team
|
||||||
|
|
||||||
|
University of Illinois at Urbana-Champaign
|
||||||
|
|
||||||
|
http://llvm.org
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal with
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||||
|
of the Software, and to permit persons to whom the Software is furnished to do
|
||||||
|
so, subject to the following conditions:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimers.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimers in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the names of the LLVM Team, University of Illinois at
|
||||||
|
Urbana-Champaign, nor the names of its contributors may be used to
|
||||||
|
endorse or promote products derived from this Software without specific
|
||||||
|
prior written permission.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
Copyrights and Licenses for Third Party Software Distributed with LLVM:
|
||||||
|
==============================================================================
|
||||||
|
The LLVM software contains code written by third parties. Such software will
|
||||||
|
have its own individual LICENSE.TXT file in the directory in which it appears.
|
||||||
|
This file will describe the copyrights, license, and restrictions which apply
|
||||||
|
to that code.
|
||||||
|
|
||||||
|
The disclaimer of warranty in the University of Illinois Open Source License
|
||||||
|
applies to all code in the LLVM Distribution, and nothing in any of the
|
||||||
|
other licenses gives permission to use the names of the LLVM Team or the
|
||||||
|
University of Illinois to endorse or promote products derived from this
|
||||||
|
Software.
|
||||||
|
|
||||||
|
The following pieces of software have additional or alternate copyrights,
|
||||||
|
licenses, and/or restrictions:
|
||||||
|
|
||||||
|
Program Directory
|
||||||
|
------- ---------
|
||||||
|
Google Test llvm/utils/unittest/googletest
|
||||||
|
OpenBSD regex llvm/lib/Support/{reg*, COPYRIGHT.regex}
|
||||||
|
pyyaml tests llvm/test/YAMLParser/{*.data, LICENSE.TXT}
|
||||||
|
ARM contributions llvm/lib/Target/ARM/LICENSE.TXT
|
||||||
|
md5 contributions llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h
|
24
external/llvm/LLVMBuild.txt
vendored
Normal file
24
external/llvm/LLVMBuild.txt
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
;===- ./LLVMBuild.txt ------------------------------------------*- Conf -*--===;
|
||||||
|
;
|
||||||
|
; The LLVM Compiler Infrastructure
|
||||||
|
;
|
||||||
|
; This file is distributed under the University of Illinois Open Source
|
||||||
|
; License. See LICENSE.TXT for details.
|
||||||
|
;
|
||||||
|
;===------------------------------------------------------------------------===;
|
||||||
|
;
|
||||||
|
; This is an LLVMBuild description file for the components in this subdirectory.
|
||||||
|
;
|
||||||
|
; For more information on the LLVMBuild system, please see:
|
||||||
|
;
|
||||||
|
; http://llvm.org/docs/LLVMBuild.html
|
||||||
|
;
|
||||||
|
;===------------------------------------------------------------------------===;
|
||||||
|
|
||||||
|
[common]
|
||||||
|
subdirectories = bindings docs examples lib projects tools utils
|
||||||
|
|
||||||
|
[component_0]
|
||||||
|
type = Group
|
||||||
|
name = Miscellaneous
|
||||||
|
parent = $ROOT
|
19
external/llvm/README.txt
vendored
Normal file
19
external/llvm/README.txt
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Low Level Virtual Machine (LLVM)
|
||||||
|
================================
|
||||||
|
|
||||||
|
This directory and its subdirectories contain source code for LLVM,
|
||||||
|
a toolkit for the construction of highly optimized compilers,
|
||||||
|
optimizers, and runtime environments.
|
||||||
|
|
||||||
|
LLVM is open source software. You may freely distribute it under the terms of
|
||||||
|
the license agreement found in LICENSE.txt.
|
||||||
|
|
||||||
|
Please see the documentation provided in docs/ for further
|
||||||
|
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
|
||||||
|
started with LLVM and docs/README.txt for an overview of LLVM's
|
||||||
|
documentation setup.
|
||||||
|
|
||||||
|
If you are writing a package for LLVM, see docs/Packaging.rst for our
|
||||||
|
suggestions.
|
||||||
|
|
||||||
|
|
52
external/llvm/RELEASE_TESTERS.TXT
vendored
Normal file
52
external/llvm/RELEASE_TESTERS.TXT
vendored
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
This file is a list of the people responsible for ensuring that targets and
|
||||||
|
environments get tested and validated during the release process.
|
||||||
|
|
||||||
|
They will also, in conjunction with the release manager and the code owners,
|
||||||
|
accept patches into stable release branches, tag critical bugs and release
|
||||||
|
stoppers as well as make sure that no regressions were observed on their
|
||||||
|
targets since the last release.
|
||||||
|
|
||||||
|
N: Ben Pope
|
||||||
|
E: benpope81@gmail.com
|
||||||
|
T: x86
|
||||||
|
O: Ubuntu
|
||||||
|
|
||||||
|
N: Sylvestre Ledru
|
||||||
|
E: sylvestre@debian.org
|
||||||
|
T: x86
|
||||||
|
O: Debian
|
||||||
|
|
||||||
|
N: Nikola Smiljanic
|
||||||
|
E: popizdeh@gmail.com
|
||||||
|
T: x86
|
||||||
|
O: OpenSUSE, Fedora
|
||||||
|
|
||||||
|
N: Brian Cain
|
||||||
|
E: brian.cain@gmail.com
|
||||||
|
T: x86
|
||||||
|
O: SuSE Enterprise, CentOS
|
||||||
|
|
||||||
|
N: Bernhard Rosenkränzer
|
||||||
|
E: bero@linaro.org
|
||||||
|
T: x86
|
||||||
|
O: OpenMandriva
|
||||||
|
|
||||||
|
N: Dimitry Andric
|
||||||
|
E: dimitry@andric.com
|
||||||
|
T: x86
|
||||||
|
O: FreeBSD
|
||||||
|
|
||||||
|
N: Hans Wennborg
|
||||||
|
E: hans@chromium.org
|
||||||
|
T: x86
|
||||||
|
O: Windows
|
||||||
|
|
||||||
|
N: Diana Picus
|
||||||
|
E: diana.picus@linaro.org
|
||||||
|
T: ARM, AArch64
|
||||||
|
O: Linux
|
||||||
|
|
||||||
|
N: Simon Dardis
|
||||||
|
E: simon.dardis@mips.com
|
||||||
|
T: MIPS
|
||||||
|
O: Linux
|
21
external/llvm/bindings/LLVMBuild.txt
vendored
Normal file
21
external/llvm/bindings/LLVMBuild.txt
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
;===- ./bindings/LLVMBuild.txt ---------------------------------*- Conf -*--===;
|
||||||
|
;
|
||||||
|
; The LLVM Compiler Infrastructure
|
||||||
|
;
|
||||||
|
; This file is distributed under the University of Illinois Open Source
|
||||||
|
; License. See LICENSE.TXT for details.
|
||||||
|
;
|
||||||
|
;===------------------------------------------------------------------------===;
|
||||||
|
;
|
||||||
|
; This is an LLVMBuild description file for the components in this subdirectory.
|
||||||
|
;
|
||||||
|
; For more information on the LLVMBuild system, please see:
|
||||||
|
;
|
||||||
|
; http://llvm.org/docs/LLVMBuild.html
|
||||||
|
;
|
||||||
|
;===------------------------------------------------------------------------===;
|
||||||
|
|
||||||
|
[component_0]
|
||||||
|
type = Group
|
||||||
|
name = Bindings
|
||||||
|
parent = $ROOT
|
3
external/llvm/bindings/README.txt
vendored
Normal file
3
external/llvm/bindings/README.txt
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
This directory contains bindings for the LLVM compiler infrastructure to allow
|
||||||
|
programs written in languages other than C or C++ to take advantage of the LLVM
|
||||||
|
infrastructure--for instance, a self-hosted compiler front-end.
|
61
external/llvm/bindings/go/README.txt
vendored
Normal file
61
external/llvm/bindings/go/README.txt
vendored
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
This directory contains LLVM bindings for the Go programming language
|
||||||
|
(http://golang.org).
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
* Go 1.2+.
|
||||||
|
* CMake (to build LLVM).
|
||||||
|
|
||||||
|
Using the bindings
|
||||||
|
------------------
|
||||||
|
|
||||||
|
The package path "llvm.org/llvm/bindings/go/llvm" can be used to
|
||||||
|
import the latest development version of LLVM from SVN. Paths such as
|
||||||
|
"llvm.org/llvm.v36/bindings/go/llvm" refer to released versions of LLVM.
|
||||||
|
|
||||||
|
It is recommended to use the "-d" flag with "go get" to download the
|
||||||
|
package or a dependency, as an additional step is required to build LLVM
|
||||||
|
(see "Building LLVM" below).
|
||||||
|
|
||||||
|
Building LLVM
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The script "build.sh" in this directory can be used to build LLVM and prepare
|
||||||
|
it to be used by the bindings. If you receive an error message from "go build"
|
||||||
|
like this:
|
||||||
|
|
||||||
|
./analysis.go:4:84: fatal error: llvm-c/Analysis.h: No such file or directory
|
||||||
|
#include <llvm-c/Analysis.h> // If you are getting an error here read bindings/go/README.txt
|
||||||
|
|
||||||
|
or like this:
|
||||||
|
|
||||||
|
./llvm_dep.go:5: undefined: run_build_sh
|
||||||
|
|
||||||
|
it means that LLVM needs to be built or updated by running the script.
|
||||||
|
|
||||||
|
$ $GOPATH/src/llvm.org/llvm/bindings/go/build.sh
|
||||||
|
|
||||||
|
Any command line arguments supplied to the script are passed to LLVM's CMake
|
||||||
|
build system. A good set of arguments to use during development are:
|
||||||
|
|
||||||
|
$ $GOPATH/src/llvm.org/llvm/bindings/go/build.sh -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD=host -DBUILD_SHARED_LIBS=ON
|
||||||
|
|
||||||
|
Note that CMake keeps a cache of build settings so once you have built
|
||||||
|
LLVM there is no need to pass these arguments again after updating.
|
||||||
|
|
||||||
|
Alternatively, you can build LLVM yourself, but you must then set the
|
||||||
|
CGO_CPPFLAGS, CGO_CXXFLAGS and CGO_LDFLAGS environment variables:
|
||||||
|
|
||||||
|
$ export CGO_CPPFLAGS="`/path/to/llvm-build/bin/llvm-config --cppflags`"
|
||||||
|
$ export CGO_CXXFLAGS=-std=c++11
|
||||||
|
$ export CGO_LDFLAGS="`/path/to/llvm-build/bin/llvm-config --ldflags --libs --system-libs all`"
|
||||||
|
$ go build -tags byollvm
|
||||||
|
|
||||||
|
If you see a compilation error while compiling your code with Go 1.9.4 or later as follows,
|
||||||
|
|
||||||
|
go build llvm.org/llvm/bindings/go/llvm: invalid flag in #cgo LDFLAGS: -Wl,-headerpad_max_install_names
|
||||||
|
|
||||||
|
you need to setup $CGO_LDFLAGS_ALLOW to allow a compiler to specify some linker options:
|
||||||
|
|
||||||
|
$ export CGO_LDFLAGS_ALLOW='-Wl,(-search_paths_first|-headerpad_max_install_names)'
|
28
external/llvm/bindings/go/build.sh
vendored
Executable file
28
external/llvm/bindings/go/build.sh
vendored
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh -xe
|
||||||
|
|
||||||
|
gollvmdir=$(dirname "$0")/llvm
|
||||||
|
|
||||||
|
workdir=$gollvmdir/workdir
|
||||||
|
llvmdir=$gollvmdir/../../..
|
||||||
|
llvm_builddir=$workdir/llvm_build
|
||||||
|
|
||||||
|
mkdir -p $llvm_builddir
|
||||||
|
|
||||||
|
cmake_flags="../../../../.. $@"
|
||||||
|
llvm_config="$llvm_builddir/bin/llvm-config"
|
||||||
|
llvm_go="$llvm_builddir/bin/llvm-go"
|
||||||
|
|
||||||
|
if test -n "`which ninja`" ; then
|
||||||
|
# If Ninja is available, we can speed up the build by building only the
|
||||||
|
# required subset of LLVM.
|
||||||
|
(cd $llvm_builddir && cmake -G Ninja $cmake_flags)
|
||||||
|
ninja -C $llvm_builddir llvm-config llvm-go
|
||||||
|
llvm_components="$($llvm_go print-components)"
|
||||||
|
llvm_buildtargets="$($llvm_config --libs $llvm_components | sed -e 's/-l//g')"
|
||||||
|
ninja -C $llvm_builddir $llvm_buildtargets FileCheck
|
||||||
|
else
|
||||||
|
(cd $llvm_builddir && cmake $cmake_flags)
|
||||||
|
make -C $llvm_builddir -j4
|
||||||
|
fi
|
||||||
|
|
||||||
|
$llvm_go print-config > $gollvmdir/llvm_config.go
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user