Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
7134 commits
Select commit Hold shift + click to select a range
a8191fa
Merging r321751, r321806, and r321878:
zmodem Jan 17, 2018
071c94c
Merging r322003:
zmodem Jan 17, 2018
c730a56
Propagating prior merge from 'llvm.org/release_60'.
Jan 17, 2018
6079bf5
Merging r322724:
zmodem Jan 18, 2018
aa06dbe
Merging r322644:
zmodem Jan 18, 2018
634068c
Propagating prior merge from 'llvm.org/release_60'.
Jan 18, 2018
86cf0a3
Merging r322053:
zmodem Jan 19, 2018
7dd72d6
AArch64: Fix emergency spillslot being out of reach for large callframes
MatzeB Jan 10, 2018
80f631c
Propagating prior merge from 'llvm.org/release_60'.
Jan 19, 2018
d994286
Merging r322875:
DimitryAndric Jan 20, 2018
e72cdc6
Propagating prior merge from 'llvm.org/release_60'.
Jan 20, 2018
0780628
Merging r322878:
zmodem Jan 22, 2018
4ce7968
Merging r322973:
zmodem Jan 22, 2018
8d72e72
Merging r322993:
zmodem Jan 22, 2018
d9e6eec
Merging r323034:
zmodem Jan 22, 2018
4d642e6
Propagating prior merge from 'llvm.org/release_60'.
Jan 22, 2018
a56df96
Add external project LDC to release notes.
redstar Jan 23, 2018
e3925d3
llvm-objdump: prevent out of bounds accesses during unwind dumping.
TNorthover Jan 23, 2018
16c6024
AArch64: get type from correct result when forming BFI/BFM
TNorthover Jan 23, 2018
d019fbb
AArch64: get type from correct result when forming BFX
TNorthover Jan 23, 2018
b049a5a
Propagating prior merge from 'llvm.org/release_60'.
Jan 23, 2018
d952162
ReleaseNotes: mention improved codeview quality
zmodem Jan 24, 2018
d8c108c
Merging r322372 and r322767:
zmodem Jan 24, 2018
093b172
Merging r323190:
zmodem Jan 24, 2018
50fb516
Merging r322900 and r323307:
zmodem Jan 24, 2018
68b7c2c
AArch64: Cyclone: Remove SlowMisaligned128Store tuning flag
MatzeB Jan 24, 2018
cbc04ba
Propagating prior merge from 'llvm.org/release_60'.
Jan 24, 2018
57ea45a
Merging r323369 and r323371:
zmodem Jan 25, 2018
f1aa231
[Debug] Add a utility to propagate dbg.value to new PHIs, NFC
vedantk Jan 25, 2018
bd61161
[Debug] Add dbg.value intrinsics for PHIs created during LCSSA.
vedantk Jan 25, 2018
842bf08
[llvm-cov] Refactor "export" command implementation and add support f…
Dor1s Jan 4, 2018
5393dcb
[llvm-cov] Multi-threaded implementation of prepareFileReports method.
Dor1s Jan 5, 2018
a2d2013
[llvm-cov] Skip unnecessary coverage computations for "export -summar…
Dor1s Jan 12, 2018
5d1ccf6
[llvm-cov] Change test to use FileCheck instead of grep.
dyung Jan 5, 2018
01c8313
[llvm-cov] Temporarily disable multithreaded-report.test on Windows.
Dor1s Jan 5, 2018
87186a0
[lit] Implement "-r" option for builtin "diff" command + a test using…
Dor1s Jan 9, 2018
80fcd36
Profiling tests: Endianess XFAIL for powerpc- (32-bit)
hubert-reinterpretcast Jan 9, 2018
f64f543
[Debug] LCSSA: Insert dbg.value at the first available insertion point
vedantk Jan 25, 2018
a070785
[Debugify] Handled unsized types
vedantk Jan 6, 2018
30430e3
[Debugify] Add a mode to opt to enable faster testing
vedantk Jan 23, 2018
f3e4b26
Propagating prior merge from 'llvm.org/release_60'.
Jan 26, 2018
f128612
Merging r323384:
zmodem Jan 26, 2018
ad97482
Propagating prior merge from 'llvm.org/release_60'.
Jan 26, 2018
ece50f5
[Utils] Simplify salvageDebugInfo, NFCI
vedantk Jan 5, 2018
e0cd82e
[InstCombine] Preserve debug values for eliminable casts
vedantk Jan 26, 2018
04fd427
[InstrProfiling] Improve compile time when there is no work
vedantk Jan 26, 2018
bb1b9c2
[LangRef] Update out-of-date instrprof names
vedantk Jan 26, 2018
a8b8749
[InstrProfiling] Don't exit early when an unused intrinsic is found
vedantk Jan 27, 2018
98b79f2
Merging r322108, r322123 and r322131:
zmodem Jan 30, 2018
6148a49
Merging r323331:
zmodem Jan 30, 2018
029e482
Merging r322006:
zmodem Jan 30, 2018
18d1471
Revert r323738; that was not the one I wanted to merge
zmodem Jan 30, 2018
91f0821
Merging r322016:
zmodem Jan 30, 2018
e57fcaa
Merging r323582:
zmodem Jan 30, 2018
f8f8b9b
Merging r323672: (test-case re-generated)
zmodem Jan 30, 2018
03a6999
Merging r323710:
zmodem Jan 30, 2018
f48ff4c
Merging r323355:
zmodem Jan 30, 2018
8a0e312
Merging r323469:
zmodem Jan 30, 2018
0ab6eba
Merging r323515:
zmodem Jan 30, 2018
7d30102
Merging r323706:
zmodem Jan 30, 2018
52eee24
Merging r323810:
zmodem Jan 31, 2018
a593839
Merging r323811:
zmodem Jan 31, 2018
3cc89be
Merging r323813:
zmodem Jan 31, 2018
25a44f7
Propagating prior merge from 'llvm.org/release_60'.
Jan 31, 2018
ab5aef0
releasenotes: fix a version nbr
zmodem Feb 1, 2018
71f29fa
Propagating prior merge from 'llvm.org/release_60'.
Feb 1, 2018
1d4265f
SplitKit: Fix liveness recomputation in some remat cases.
MatzeB Feb 2, 2018
9d135ad
Adapt test to older memcpy syntax
MatzeB Feb 2, 2018
e307072
Merging r323155:
zmodem Feb 2, 2018
8f86cd9
Merging r323915:
zmodem Feb 2, 2018
dcecdaa
Merging r323857:
zmodem Feb 2, 2018
240f1f3
Merging r323781:
zmodem Feb 2, 2018
7e8d1e7
Merging r323759:
zmodem Feb 2, 2018
52d11d1
Merging r323536:
zmodem Feb 2, 2018
13240bd
Merging r323907 and r323913:
zmodem Feb 2, 2018
abf249d
Merging r323909:
zmodem Feb 2, 2018
816adbd
Merging r323643:
zmodem Feb 2, 2018
4b07ed6
Merging r323908:
zmodem Feb 2, 2018
4c7f827
Propagating prior merge from 'llvm.org/release_60'.
Feb 2, 2018
93086eb
[ReleaseNotes] Add note for enabling GlobalISel for AArch64 -O0
zmodem Feb 5, 2018
24c873b
Merging r324002:
zmodem Feb 5, 2018
dd47b68
Merging r324039: (test case modified to work around r323886 et al.)
zmodem Feb 5, 2018
753b6f5
Propagating prior merge from 'llvm.org/release_60'.
Feb 5, 2018
c00e97d
[Hexagon] Add release notes for 6.0.0
Feb 5, 2018
91bd2a2
Revert "[Debug] Add dbg.value intrinsics for PHIs created during LCSSA."
vedantk Feb 5, 2018
5d4f6a8
Merging r324422:
zmodem Feb 7, 2018
67a3541
fix sphinx warning
zmodem Feb 8, 2018
b72d643
Don't emit apple accelerator tables on non-darwin targets
labath Jan 17, 2018
43a93e4
[BinaryFormat] Add .debug_names support
labath Jan 22, 2018
4057a74
Verifier: fix bug treating debug info issue as non-debug info issue
yxsamliu Jan 23, 2018
6ac3a7b
[Metadata] Extend 'count' field of DISubrange to take a metadata node
sdesmalen-arm Jan 24, 2018
79d3751
Fixes Sphinx issue ('undefined label') introduced in r323313.
sdesmalen-arm Jan 24, 2018
6dc5339
[DebugInfo] Emit DWARF reference for DIVariable 'count' in DISubrange
sdesmalen-arm Jan 24, 2018
2e6faad
[GlobalOpt] Emit fragments using field offsets from struct layout
mikaelholmen Jan 25, 2018
9b4e4dd
[DebugInfo] Fix fragment offset emission order for symbol locations
mikaelholmen Jan 29, 2018
80f479d
[DeadArgumentElim] Set pointer to DISubprogram before calling RAUW. NFC
petar-jovanovic Feb 6, 2018
cbb8b06
[DeadArgumentElimination] Preserve llvm.dbg.values's first argument
petar-jovanovic Jan 30, 2018
9233975
Add DWARF for discriminated unions
adrian-prantl Feb 6, 2018
eb87025
[BinaryFormat] Remove dangling declaration of DiscriminantString
labath Feb 7, 2018
9e7ed36
[DWARF] Generate DWARF v5 string offsets tables along with strx* inde…
wolfy1961 Jan 26, 2018
2d30acf
Fix a crash when emitting DIEs for variable-length arrays
adrian-prantl Feb 6, 2018
b5b89c4
Use a stable topological sort in DwarfCompileUnit::createScopeChildre…
adrian-prantl Feb 8, 2018
108ab30
[DWARF][NFC] Overload AsmPrinter::emitDwarfStringOffsets() to take a …
wolfy1961 Jan 11, 2018
fdd25a0
[DWARF] Temporarily removing a test that caused an independent failur…
wolfy1961 Jan 26, 2018
1ff4945
[DWARF] Temporarily removing test to make buildbots happy while inves…
wolfy1961 Jan 26, 2018
f6b456e
[DWARF] Recommitting a test reverted in r323560. Moved to x86 directo…
wolfy1961 Jan 29, 2018
9d529ab
[DWARF] Corrected test committed in r323670 to use llc instead of llc…
wolfy1961 Jan 30, 2018
33c4a86
[DWARF] Recommitting a test that was removed with r323564. Restricted…
wolfy1961 Jan 30, 2018
6a509d7
Rewrite debugger tuning test case to not depend on apple sections
labath Jan 17, 2018
79e89d3
Merging r321911:
zmodem Feb 9, 2018
de7871d
[ReleaseNotes] Add SystemZ target section
uweigand Feb 9, 2018
8f87271
[Utils] Salvage debug info from dead 'or' instructions
vedantk Feb 9, 2018
e966768
Merging r324772:
zmodem Feb 12, 2018
53945bc
Use ranged for loops in TypeFinder.cpp, NFC
vedantk Feb 8, 2018
7821ae3
Simplify function prototypes in bugpoint, NFC
vedantk Feb 8, 2018
ed0b327
[bugpoint] Simplify the global initializer reducer, NFC
vedantk Feb 8, 2018
116293c
[bugpoint] Avoid noisy errors by passing a valid opt to tests
vedantk Feb 9, 2018
1933e6d
[bugpoint] Delete a dead cl::opt (-child-output)
vedantk Feb 9, 2018
e825926
[bugpoint] Simplify reducers which can fail verification, NFC
vedantk Feb 9, 2018
4cb661e
[bugpoint] Report non-existent opt binary
vedantk Feb 9, 2018
1084f15
Move the debuginfo-dce-or test into debuginfo-variables.ll, NFC
vedantk Feb 12, 2018
d4a0d72
[Utils] Salvage the debug info of DCE'ed 'xor' instructions
vedantk Feb 13, 2018
90a9747
[Utils] Salvage the debug info of DCE'ed 'sub' instructions
vedantk Feb 13, 2018
3c918f0
[Utils] Salvage debug info of DCE'ed shl/lhsr/ashr instructions
vedantk Feb 13, 2018
ba06ecf
[Utils] Salvage debug info of DCE'ed mul/sdiv/srem instructions
vedantk Feb 13, 2018
8d2d5cc
[DebugInfo] Don't insert DEBUG_VALUE after terminators
Feb 9, 2018
ed02cbb
Verify profile data confirms large loop trip counts.
mtrofin Feb 7, 2018
623fb08
[GlobalOpt] Fix exponential compile-time with selects.
Jan 31, 2018
3337549
[llvm-cov] Improvements for summary report generated in HTML format.
Dor1s Jan 31, 2018
abdd1b6
[llvm-cov] Fix incorrect usage of .precision specifier in format() call.
Dor1s Jan 31, 2018
73964a4
[Utils] Salvage debug info from all no-op casts
vedantk Feb 13, 2018
663ef77
Merging r324746:
zmodem Feb 13, 2018
c59e8d8
[X86][MC] Fix assembling rip-relative addressing + immediate displace…
francisvm Feb 9, 2018
d906bed
[DeadStoreElimination] Salvage debug info from dead insts
vedantk Feb 13, 2018
b39e19b
[Debugify] Avoid verifier failure on non-definition subprograms
vedantk Feb 13, 2018
f3aef94
[GVN] Salvage debug info from dead insts
vedantk Feb 13, 2018
10dd7c8
Merging r324449:
rnk Feb 14, 2018
ca89cbe
Merging r324645:
rnk Feb 14, 2018
1d4c94e
Merging r325049:
rnk Feb 14, 2018
b02bf02
Merging r325085:
rnk Feb 14, 2018
0bd30ee
Merging r324497:
zmodem Feb 14, 2018
2955450
Merging r324576:
zmodem Feb 14, 2018
2192111
Merging r324962: (only the first hunk; see PR36375)
zmodem Feb 14, 2018
3af8845
Revert r320917 for PR36357
zmodem Feb 14, 2018
a1b3df3
Revert r319778 (and r319911) due to PR36357
zmodem Feb 14, 2018
371e267
[Utils] Salvage the debug info of DCE'ed 'and' instructions
petar-jovanovic Feb 14, 2018
b167972
[Utils] salvageDI: Add a comment and move a call earlier, NFC
vedantk Feb 15, 2018
e45207e
[SCCP] Test that constant propagation updates debug info, NFC
vedantk Feb 15, 2018
80378ad
[opt] Port the debugify passes to the new pass manager
vedantk Feb 15, 2018
84a9dd0
[Debugify] Don't check functions which were skipped
vedantk Feb 15, 2018
4e89266
[DCE] Salvage debug info from dead insts
vedantk Feb 15, 2018
c28f082
[GVN] Partially revert debug info salvage change (r325063)
vedantk Feb 16, 2018
a103a45
Remove brittle check lines from a test, NFC
vedantk Feb 16, 2018
fff3edb
Merge remote-tracking branch 'llvm.org/release_60' into swift-5.0-branch
vsapsai Feb 16, 2018
08f6e35
Merging r325139:
zmodem Feb 16, 2018
a2d30a6
[GlobalOpt] Improve common case efficiency of static global initializ…
aemerson Jan 31, 2018
18412a7
[LCSSAVerification] Run verification only when asserts are enabled.
Feb 7, 2018
2482996
Follow-up for r324429: "[LCSSAVerification] Run verification only whe…
Feb 7, 2018
abb0f3b
Xfail the test added in r324445 until the underlying issue in LoopSin…
Feb 7, 2018
5ca489e
The xfailed test from r324448 passed on one of the bots: remove it en…
Feb 7, 2018
65a036c
[ThinLTO] Teach ThinLTO about auto hide symbols
cachemeifyoucan Feb 9, 2018
84c13c8
Propagating prior merge from 'llvm.org/release_60'.
Feb 17, 2018
75d86fd
Merging r324353:
zmodem Feb 19, 2018
c3ab0c1
Merging r325168:
zmodem Feb 19, 2018
359e6a4
Merging r325148:
zmodem Feb 19, 2018
e0d9119
Merging r324916:
zmodem Feb 19, 2018
71667f5
Merging r324195:
zmodem Feb 19, 2018
cc9de4a
Propagating prior merge from 'llvm.org/release_60'.
Feb 19, 2018
3a4f297
Merging r324110:
zmodem Feb 20, 2018
b99df1f
Merging r325463:
zmodem Feb 20, 2018
22a047b
Merging r325550:
zmodem Feb 20, 2018
2e49864
Merging r325525:
zmodem Feb 20, 2018
f956c38
[BDCE] Salvage debug info from dying insts
vedantk Feb 21, 2018
a65732f
Propagating prior merge from 'llvm.org/release_60'.
Feb 21, 2018
28b2241
[AArch64][GlobalISel] Support G_INSERT/G_EXTRACT of types < s32 bits.
zmodem Feb 21, 2018
06b82dc
ReleaseNotes: mention NetBSD support for sanitizers
zmodem Feb 21, 2018
edd4683
Merging r325654:
zmodem Feb 21, 2018
346d779
[MIR] Add support for addrspace in MIR
francisvm Jan 26, 2018
e64cc93
[ReleaseNotes] Initial release notes for X86 target.
topperc Feb 21, 2018
c9359c4
[Utils] Avoid a hash table lookup in salvageDI, NFC
vedantk Feb 22, 2018
21c69d8
[dwarfdump] Fix spurious verification errors for DW_AT_location attri…
JDevlieghere Feb 17, 2018
30e8cf6
[dwarfdump] Normalize input path.
JDevlieghere Feb 8, 2018
ac51b3d
Propagating prior merge from 'llvm.org/release_60'.
Feb 22, 2018
a1f4098
Merging r325739:
zmodem Feb 22, 2018
5d413c4
Merging r325687:
zmodem Feb 22, 2018
7449cdd
ReleaseNotes: The fast-math-flags changes
zmodem Feb 22, 2018
78c90d9
docs: remove in-progress warnings
zmodem Feb 22, 2018
12512ca
Rename DwarfAcceleratorTable to AppleAcceleratorTable. NFC
labath Jan 22, 2018
b15ba0f
[dsymutil] Make NonRelocatableStringPool a wrapper around DwarfString…
JDevlieghere Jan 24, 2018
d5d9edb
[NFC] Make magic number for DJB hash function customizable.
JDevlieghere Jan 24, 2018
1f3b847
[Dwarf] Add dsymutil Atom extensions. NFC
JDevlieghere Jan 25, 2018
4c61f5e
[Support] Move DJB hash to support. NFC
JDevlieghere Jan 28, 2018
24c4086
[DebugInfo] Basic .debug_names dumping support
labath Jan 29, 2018
f1c178f
[NFC] Refactor Apple Accelerator Tables
JDevlieghere Jan 29, 2018
d02e6e9
[dsymutil] Generate Apple accelerator tables
JDevlieghere Jan 29, 2018
8aea0a7
[dsymutil] Enable -minimize feature.
JDevlieghere Jan 30, 2018
5363cd7
[dsymutil] Upstream update feature.
JDevlieghere Feb 7, 2018
060eb48
[NFC] Rename DwarfAccelTable and move header.
JDevlieghere Jan 29, 2018
f1505aa
[AccelTable] Fix undefined reference
JDevlieghere Jan 29, 2018
c8d7c15
[AccelTable] Try making MSVC happy
JDevlieghere Jan 29, 2018
7eec240
[AccelTable] Workaround for MSVC bug
JDevlieghere Jan 29, 2018
6535c9b
[AccelTable] Move print methods to implementation. NFC
JDevlieghere Jan 30, 2018
3e78025
[CodeGen] Optimize AccelTable
labath Feb 9, 2018
5c592ef
[CodeGen] Refactor AppleAccelTable
labath Feb 19, 2018
20520fd
Resubmit r325107 (case folding DJB hash)
labath Feb 21, 2018
25c3c0b
[dsymutil] Correctly handle DW_TAG_label
JDevlieghere Feb 20, 2018
160adbe
[dsymutil] Be smarter in caching calls to realpath
JDevlieghere Feb 22, 2018
4a53d68
[dsymutil] Replace PATH_MAX in SmallString with fixed value.
JDevlieghere Feb 22, 2018
bc20112
Refactor dwarfdump -apple-names output
labath Jan 29, 2018
38db12e
Fix build broken by r323641
labath Jan 29, 2018
391e61d
Fix windows test failure caused by r323638
labath Jan 29, 2018
0861bea
[dsymutil] Use llvm::sys::path to join bundle path.
JDevlieghere Feb 8, 2018
4cc9e1d
[mips] 6.0 Release notes
Feb 23, 2018
49fee73
Propagating prior merge from 'llvm.org/release_60'.
Feb 23, 2018
72d068a
Merging r325894:
zmodem Feb 23, 2018
16ebb58
[ReleaseNotes] More X86 updates
topperc Feb 23, 2018
915c91e
Propagating prior merge from 'llvm.org/release_60'.
Feb 23, 2018
c93e390
Fix an unused variable warning in non-assert builds
zmodem Feb 26, 2018
fde9f20
Merging r325946:
zmodem Feb 26, 2018
057c54a
Propagating prior merge from 'llvm.org/release_60'.
Feb 26, 2018
2e75b54
Sphinx: fix 'Inline emphasis start-string without end-string'
zmodem Feb 27, 2018
138d74f
ReleaseNotes: tidy up
zmodem Feb 27, 2018
adead65
Propagating prior merge from 'llvm.org/release_60'.
Feb 27, 2018
c1762a5
[InstrProfiling] Emit the runtime hook when no counters are lowered
vedantk Feb 28, 2018
c093018
[RuntimeDyld][MachO] Support ARM64_RELOC_BRANCH26 for BL instructions by
lhames Feb 28, 2018
0cd160a
[RuntimeDyld][MachO] Fix assertion in encodeAddend, add missing direc…
lhames Mar 1, 2018
1a42764
Merging r326393:
zmodem Mar 1, 2018
4360104
Propagating prior merge from 'llvm.org/release_60'.
Mar 1, 2018
dc906ab
Add some minimal release notes for retpoline support.
chandlerc Mar 2, 2018
0a21149
Propagating prior merge from 'llvm.org/release_60'.
Mar 2, 2018
089d4c0
ReleaseNotes: move the retpoline bullet higher
zmodem Mar 2, 2018
61adb74
[unittests] Make some parseIR calls more readable, NFC
vedantk Mar 2, 2018
44083f6
[Utils] Salvage debug info in recursive inst deletion
vedantk Mar 2, 2018
5bedd7b
[Utils] Salvage debug info in block simplification
vedantk Mar 2, 2018
04231a2
[Debug] Add dbg.value intrinsics for PHIs created during LCSSA.
Feb 23, 2018
68716e2
[Test] Fix the test to output to /dev/null instead of redirecting.
Feb 23, 2018
f4dc97d
Propagating prior merge from 'llvm.org/release_60'.
Mar 3, 2018
d12f4ff
Merge pull request #75 from aemerson/swift-5.0-branch
eeckstein Mar 5, 2018
0664d8f
[DebugInfo] Discard invalid DBG_VALUE instructions in LiveDebugVariables
bjope Mar 6, 2018
058b709
Merge pull request #77 from apple/42-di-slowcompile
dcci Mar 7, 2018
e3d0138
[DebugInfo] Update tests to work on the swift-4.2 branch.
Mar 7, 2018
ef0a086
Merge pull request #78 from apple/update-test-di
dcci Mar 7, 2018
4b8cb94
[dwarfdump] Only print CU relative offset in verbose mode
JDevlieghere Mar 7, 2018
61a7302
[dsymutil] Embed toolchain in dSYM bundle
JDevlieghere Mar 8, 2018
7ba1a4a
Improve merging of debug locations (fixes PR 36410)
adrian-prantl Mar 8, 2018
3453b4a
Add DBG_VALUE support to the linear DAG scheduler
adrian-prantl Mar 2, 2018
5a3663f
Revert "Improve merging of debug locations (fixes PR 36410)"
adrian-prantl Mar 8, 2018
56273df
Use a smaller, more pointed patch to work around PR36410.
adrian-prantl Mar 8, 2018
6a53987
LowerDbgDeclare: ignore dbg.declares for allocas with volatile access
adrian-prantl Mar 9, 2018
5e4eddd
Merge swift-4.2-branch '6a5398752cfa21b420405d4d8b653b3423122676' int…
shahmishal Mar 9, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -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
110 changes: 59 additions & 51 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,34 @@

cmake_minimum_required(VERSION 3.4.3)

if(POLICY CMP0022)
cmake_policy(SET CMP0022 NEW) # automatic when 2.8.12 is required
endif()
cmake_policy(SET CMP0022 NEW)

if (POLICY CMP0051)
# CMake 3.1 and higher include generator expressions of the form
# $<TARGETLIB:obj> in the SOURCES property. These need to be
# stripped everywhere that access the SOURCES property, so we just
# defer to the OLD behavior of not including generator expressions
# in the output for now.
cmake_policy(SET CMP0051 OLD)
endif()
cmake_policy(SET CMP0048 NEW)

if(POLICY CMP0057)
cmake_policy(SET CMP0057 NEW)
endif()
# CMake 3.1 and higher include generator expressions of the form
# $<TARGETLIB:obj> in the SOURCES property. These need to be
# stripped everywhere that access the SOURCES property, so we just
# defer to the OLD behavior of not including generator expressions
# in the output for now.
cmake_policy(SET CMP0051 OLD)

cmake_policy(SET CMP0056 NEW)

cmake_policy(SET CMP0057 NEW)

if(NOT DEFINED LLVM_VERSION_MAJOR)
set(LLVM_VERSION_MAJOR 5)
set(LLVM_VERSION_MAJOR 6)
endif()
if(NOT DEFINED LLVM_VERSION_MINOR)
set(LLVM_VERSION_MINOR 0)
endif()
if(NOT DEFINED LLVM_VERSION_PATCH)
set(LLVM_VERSION_PATCH 1)
set(LLVM_VERSION_PATCH 0)
endif()
if(NOT DEFINED LLVM_VERSION_SUFFIX)
set(LLVM_VERSION_SUFFIX "")
endif()

if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
set(cmake_3_0_PROJ_VERSION
VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH})
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}")
Expand All @@ -52,9 +43,8 @@ if ((CMAKE_GENERATOR MATCHES "Visual Studio") AND (CMAKE_GENERATOR_TOOLSET STREQ
endif()

project(LLVM
${cmake_3_0_PROJ_VERSION}
${cmake_3_0_LANGUAGES}
C CXX ASM)
VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}
LANGUAGES C CXX ASM)

if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "No build type selected, default to Debug")
Expand Down Expand Up @@ -120,7 +110,7 @@ endif()
# LLVM_EXTERNAL_${project}_SOURCE_DIR using LLVM_ALL_PROJECTS
# This allows an easy way of setting up a build directory for llvm and another
# one for llvm+clang+... using the same sources.
set(LLVM_ALL_PROJECTS "clang;libcxx;libcxxabi;lldb;compiler-rt;lld;polly")
set(LLVM_ALL_PROJECTS "clang;libcxx;libcxxabi;lldb;compiler-rt;lld;polly;debuginfo-tests")
set(LLVM_ENABLE_PROJECTS "" CACHE STRING
"Semicolon-separated list of projects to build (${LLVM_ALL_PROJECTS}), or \"all\".")
if( LLVM_ENABLE_PROJECTS STREQUAL "all" )
Expand Down Expand Up @@ -193,6 +183,9 @@ set(CMAKE_MODULE_PATH
# for use by clang_complete, YouCompleteMe, etc.
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

option(LLVM_INSTALL_BINUTILS_SYMLINKS
"Install symlinks from the binutils tool names to the corresponding LLVM tools." OFF)

option(LLVM_INSTALL_UTILS "Include utility binaries in the 'install' target." OFF)

option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
Expand Down Expand Up @@ -241,11 +234,11 @@ endif()
include(CPack)

# Sanity check our source directory to make sure that we are not trying to
# generate an in-tree build (unless on MSVC_IDE, where it is ok), and to make
# generate an in-source build (unless on MSVC_IDE, where it is ok), and to make
# sure that we don't have any stray generated files lying around in the tree
# (which would end up getting picked up by header search, instead of the correct
# versions).
if( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE )
if( CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR AND NOT MSVC_IDE )
message(FATAL_ERROR "In-source builds are not allowed.
CMake would overwrite the makefiles distributed with LLVM.
Please create a directory and run cmake from there, passing the path
Expand Down Expand Up @@ -358,6 +351,8 @@ set(LLVM_TARGET_ARCH "host"

option(LLVM_ENABLE_TERMINFO "Use terminfo database if available." ON)

set(LLVM_ENABLE_LIBXML2 "ON" CACHE STRING "Use libxml2 if available. Can be ON, OFF, or FORCE_ON")

option(LLVM_ENABLE_LIBEDIT "Use libedit if available." ON)

option(LLVM_ENABLE_THREADS "Use threads if available." ON)
Expand Down Expand Up @@ -390,6 +385,8 @@ option(LLVM_ENABLE_LLD "Use lld as C and C++ linker." OFF)
option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON)
option(LLVM_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF)

option(LLVM_ENABLE_DUMP "Enable dump functions even when assertions are disabled" OFF)

if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" )
option(LLVM_ENABLE_ASSERTIONS "Enable assertions" OFF)
else()
Expand Down Expand Up @@ -431,6 +428,8 @@ endif( LLVM_USE_OPROFILE )

set(LLVM_USE_SANITIZER "" CACHE STRING
"Define the sanitizer used to build binaries and tests.")
set(LLVM_LIB_FUZZING_ENGINE "" CACHE PATH
"Path to fuzzing library for linking with fuzz targets")

option(LLVM_USE_SPLIT_DWARF
"Use -gsplit-dwarf when compiling llvm." OFF)
Expand Down Expand Up @@ -679,9 +678,13 @@ foreach(t ${LLVM_TARGETS_TO_BUILD})

list(FIND LLVM_ALL_TARGETS ${t} idx)
list(FIND LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ${t} idy)
# At this point, LLVMBUILDTOOL already checked all the targets passed in
# LLVM_TARGETS_TO_BUILD and LLVM_EXPERIMENTAL_TARGETS_TO_BUILD, so
# this test just makes sure that any experimental targets were passed via
# LLVM_EXPERIMENTAL_TARGETS_TO_BUILD, not LLVM_TARGETS_TO_BUILD.
if( idx LESS 0 AND idy LESS 0 )
message(FATAL_ERROR "The target `${t}' does not exist.
It should be one of\n${LLVM_ALL_TARGETS}")
message(FATAL_ERROR "The target `${t}' is experimental and must be passed "
"via LLVM_EXPERIMENTAL_TARGETS_TO_BUILD.")
else()
set(LLVM_ENUM_TARGETS "${LLVM_ENUM_TARGETS}LLVM_TARGET(${t})\n")
endif()
Expand Down Expand Up @@ -756,6 +759,7 @@ configure_file(
add_custom_target(srpm
COMMAND cpack -G TGZ --config CPackSourceConfig.cmake -B ${LLVM_SRPM_DIR}/SOURCES
COMMAND rpmbuild -bs --define '_topdir ${LLVM_SRPM_DIR}' ${LLVM_SRPM_BINARY_SPECFILE})
set_target_properties(srpm PROPERTIES FOLDER "Misc")


# They are not referenced. See set_output_directory().
Expand Down Expand Up @@ -791,14 +795,14 @@ if(LLVM_USE_HOST_TOOLS)
include(CrossCompile)
endif(LLVM_USE_HOST_TOOLS)
if(LLVM_TARGET_IS_CROSSCOMPILE_HOST)
# Dummy use to avoid CMake Wraning: Manually-specified variables were not used
# Dummy use to avoid CMake Warning: Manually-specified variables were not used
# (this is a variable that CrossCompile sets on recursive invocations)
endif()

if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
# 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")
include_directories(SYSTEM "/usr/local/include")
link_directories("/usr/local/lib")
endif(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")

Expand Down Expand Up @@ -838,15 +842,6 @@ add_subdirectory(lib/TableGen)

add_subdirectory(utils/TableGen)

# Force target to be built as soon as possible. Clang modules builds depend
# header-wise on it as they ship all headers from the umbrella folders. Building
# an entire module might include header, which depends on intrinsics_gen. This
# should be right after LLVMSupport and LLVMTableGen otherwise we introduce a
# circular dependence.
if (LLVM_ENABLE_MODULES)
list(APPEND LLVM_COMMON_DEPENDS intrinsics_gen)
endif(LLVM_ENABLE_MODULES)

add_subdirectory(include/llvm)

add_subdirectory(lib)
Expand All @@ -856,7 +851,6 @@ if( LLVM_INCLUDE_UTILS )
add_subdirectory(utils/PerfectShuffle)
add_subdirectory(utils/count)
add_subdirectory(utils/not)
add_subdirectory(utils/llvm-lit)
add_subdirectory(utils/yaml-bench)
else()
if ( LLVM_INCLUDE_TESTS )
Expand Down Expand Up @@ -899,6 +893,7 @@ if( LLVM_INCLUDE_TESTS )
NO_INSTALL
ALWAYS_CLEAN)
endif()
add_subdirectory(utils/lit)
add_subdirectory(test)
add_subdirectory(unittests)
if( LLVM_INCLUDE_UTILS )
Expand Down Expand Up @@ -942,6 +937,11 @@ endif()

add_subdirectory(cmake/modules)

# Do this last so that all lit targets have already been created.
if (LLVM_INCLUDE_UTILS)
add_subdirectory(utils/llvm-lit)
endif()

if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
install(DIRECTORY include/llvm include/llvm-c
DESTINATION include
Expand Down Expand Up @@ -972,13 +972,11 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
# Installing the headers needs to depend on generating any public
# tablegen'd headers.
add_custom_target(llvm-headers DEPENDS intrinsics_gen)
set_target_properties(llvm-headers PROPERTIES FOLDER "Misc")

if (NOT CMAKE_CONFIGURATION_TYPES)
add_custom_target(install-llvm-headers
DEPENDS llvm-headers
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=llvm-headers
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_llvm_install_targets(install-llvm-headers
COMPONENT llvm-headers)
endif()
endif()

Expand All @@ -991,22 +989,32 @@ if(LLVM_DISTRIBUTION_COMPONENTS)

add_custom_target(distribution)
add_custom_target(install-distribution)
add_custom_target(install-distribution-stripped)
foreach(target ${LLVM_DISTRIBUTION_COMPONENTS})
if(TARGET ${target})
add_dependencies(distribution ${target})
else()
message(FATAL_ERROR "Specified distribution component '${target}' doesn't have a target")
message(SEND_ERROR "Specified distribution component '${target}' doesn't have a target")
endif()

if(TARGET install-${target})
add_dependencies(install-distribution install-${target})
else()
message(FATAL_ERROR "Specified distribution component '${target}' doesn't have an install target")
message(SEND_ERROR "Specified distribution component '${target}' doesn't have an install target")
endif()

if(TARGET install-${target}-stripped)
add_dependencies(install-distribution-stripped install-${target}-stripped)
else()
message(SEND_ERROR "Specified distribution component '${target}' doesn't have an install-stripped target."
" Its installation target creation should be changed to use add_llvm_install_targets,"
" or you should manually create the 'install-${target}-stripped' target.")
endif()
endforeach()
endif()

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

8 changes: 6 additions & 2 deletions CODE_OWNERS.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,13 @@ E: [email protected]
D: OpenMP runtime library

N: Greg Clayton
E: gclayton@apple.com
E: clayborg@gmail.com
D: LLDB

N: Pete Couperus
E: [email protected]
D: ARC backend (lib/Target/ARC/*)

N: Sanjoy Das
E: [email protected]
D: IndVar Simplify, Scalar Evolution
Expand All @@ -61,7 +65,7 @@ E: [email protected]
D: Loop Strength Reduction, Register allocators

N: Simon Dardis
E: simon.dardis@imgtec.com
E: simon.dardis@mips.com
D: MIPS Backend (lib/Target/Mips/*)

N: Duncan P. N. Exon Smith
Expand Down
4 changes: 4 additions & 0 deletions CREDITS.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ N: Neil Booth
E: [email protected]
D: APFloat implementation.

N: Alex Bradbury
E: [email protected]
D: RISC-V backend

N: Misha Brukman
E: [email protected]
W: http://misha.brukman.net
Expand Down
1 change: 1 addition & 0 deletions README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ documentation setup.
If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.


2 changes: 1 addition & 1 deletion RELEASE_TESTERS.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,6 @@ T: ARM, AArch64
O: Linux

N: Simon Dardis
E: simon.dardis@imgtec.com
E: simon.dardis@mips.com
T: MIPS
O: Linux
8 changes: 8 additions & 0 deletions bindings/go/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,11 @@ CGO_CPPFLAGS, CGO_CXXFLAGS and CGO_LDFLAGS environment variables:
$ 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)'
19 changes: 0 additions & 19 deletions bindings/go/llvm/DIBuilderBindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,6 @@ void LLVMDIBuilderDestroy(LLVMDIBuilderRef dref) {
delete d;
}

void LLVMDIBuilderFinalize(LLVMDIBuilderRef dref) { unwrap(dref)->finalize(); }

LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef Dref,
unsigned Lang, const char *File,
const char *Dir,
const char *Producer,
int Optimized, const char *Flags,
unsigned RuntimeVersion) {
DIBuilder *D = unwrap(Dref);
return wrap(D->createCompileUnit(Lang, D->createFile(File, Dir), Producer,
Optimized, Flags, RuntimeVersion));
}

LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef Dref, const char *File,
const char *Dir) {
DIBuilder *D = unwrap(Dref);
return wrap(D->createFile(File, Dir));
}

LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef Dref,
LLVMMetadataRef Scope,
LLVMMetadataRef File,
Expand Down
11 changes: 1 addition & 10 deletions bindings/go/llvm/DIBuilderBindings.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

#include "IRBindings.h"
#include "llvm-c/Core.h"
#include "llvm-c/DebugInfo.h"

#ifdef __cplusplus
extern "C" {
Expand All @@ -30,16 +31,6 @@ typedef struct LLVMOpaqueDIBuilder *LLVMDIBuilderRef;
LLVMDIBuilderRef LLVMNewDIBuilder(LLVMModuleRef m);

void LLVMDIBuilderDestroy(LLVMDIBuilderRef d);
void LLVMDIBuilderFinalize(LLVMDIBuilderRef d);

LLVMMetadataRef
LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef D, unsigned Language,
const char *File, const char *Dir,
const char *Producer, int Optimized,
const char *Flags, unsigned RuntimeVersion);

LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef D, const char *File,
const char *Dir);

LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef D,
LLVMMetadataRef Scope,
Expand Down
Loading