Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Merge llvm 401 #191

Merged
merged 7,350 commits into from
Jan 31, 2018
Merged
Changes from all commits
Commits
Show all changes
7350 commits
Select commit Hold shift + click to select a range
b9bba8a
Revert "[ARM] Support constant pools in data when generating execute-…
labrinea Jun 14, 2017
63d2fab
Resubmit "[codeview] Make obj2yaml/yaml2obj support .debug$S..."
Jun 14, 2017
83a953d
[gtest] Create a shared include directory for gtest utilities.
Jun 14, 2017
7e8532e
Add an include of gtest-printers.h to appease the buildbots.
Jun 14, 2017
b76b866
[x86] replace div/rem with shift/mask for better shuffle combining perf
rotateright Jun 14, 2017
996d9b5
[ValueTracking] Correct early out in computeKnownBitsFromOperator to …
topperc Jun 14, 2017
43be377
Test commit - NFC.
lei137 Jun 14, 2017
1108fa4
Supressed warning: declared ‘static’ but never defined.
gkistanova Jun 14, 2017
8a5ef4d
Specified ReportError as noreturn friendly to old compilers.
gkistanova Jun 14, 2017
6bd5b27
MC, Object: Reserve a section type, SHT_LLVM_ODRTAB, for the ODR table.
pcc Jun 14, 2017
e49b209
Hide dbgs() stream for when built with -fmodules.
Jun 14, 2017
ea02a02
[EarlyCSE] Make PhiToCheck in removeMSSA() a set.
dcci Jun 14, 2017
a49d65c
[StringExtras] overload toHex for ArrayRef<uint8_t>
Jun 14, 2017
194057d
Allow -profile-guided-section-prefix more than once
DavidCallahan Jun 14, 2017
24d58f9
[x86] avoid unnecessary shuffle mask math in combineX86ShufflesRecurs…
rotateright Jun 14, 2017
e6644ec
NewGVN: This is wrong by inspection, it will not cause an issue curre…
dberlin Jun 14, 2017
e6be55f
PredicateInfo: Don't insert conditional info when a conditional branc…
dberlin Jun 14, 2017
be884e2
[ADT] Partial re-commit of r303383. Fix some Clang-tidy modernize-use…
EugeneZelenko Jun 14, 2017
458f913
Don't include TestingSupport in LLVM_LINK_COMPONENTS.
Jun 14, 2017
ff3e8e2
IR: Tweak the API around adding modules to the summary index.
pcc Jun 14, 2017
4cbdf0e
Fixing section name for Darwin platforms for sanitizer coverage
Jun 14, 2017
d40b2dd
[DWARF] Minor coding style modifications, no functionality change.
Jun 14, 2017
4d4fb1d
Removal of accidental duplication in test assembly file. NFC.
wolfy1961 Jun 14, 2017
46d1553
[InstCombine] Add a test case to show a case where don't handle a par…
topperc Jun 15, 2017
ba50355
[formatv] Add the ability to specify a fill character when aligning.
Jun 15, 2017
952d4e5
[mips][microMIPS] Extending size reduction pass with ADDIUSP and ADDI…
Jun 15, 2017
4127960
[AArch64] Enable FeatureFuseAES for the generic processor model.
fhahn Jun 15, 2017
f39ec45
[ARM] GlobalISel: Lower only homogeneous struct args
rovka Jun 15, 2017
39c5686
[ARM] GlobalISel: Add support for i32 modulo
rovka Jun 15, 2017
670bbd6
[ScalarEvolution] Apply Depth limit to getMulExpr
Jun 15, 2017
1abb661
[X86][AVX512] Improve lowering of AVX512 compare intrinsics (remove r…
aymanmusa Jun 15, 2017
2583201
[DAG] Use correct size for truncated store merge of load. NFCI.
niravhdave Jun 15, 2017
ca8e28b
[DAG] Make MergeStores generate legalized stores. NFCI.
niravhdave Jun 15, 2017
bc639bb
[DAG] Allow truncated and extend memory operations in Store Merge. NFCI.
niravhdave Jun 15, 2017
81f6df5
Revert r305465: [X86][AVX512] Improve lowering of AVX512 compare intr…
RKSimon Jun 15, 2017
18ca0f5
[AArch64] Add indexed check to splitStores. NFC.
niravhdave Jun 15, 2017
d62e545
[X86][AVX2] Fix issue in lowerV8I16GeneralSingleInputVectorShuffle th…
RKSimon Jun 15, 2017
41a776f
[DAG] Defer Pre/Post IndexStore merge to after mergestore. NFCI.
niravhdave Jun 15, 2017
92b196b
[InstCombine] auto-generate complete checks; NFC
rotateright Jun 15, 2017
e396018
[Doc] Document prof metadata in LangRef
teresajohnson Jun 15, 2017
136a0c2
Remove trailing whitespace. NFCI.
RKSimon Jun 15, 2017
cb6adbc
[DAG] As StoreMerge now generates only legal nodes remove unecessary …
niravhdave Jun 15, 2017
b0fa17f
[mips] Fix documentation of member variable. NFCI.
Jun 15, 2017
1a33599
[PowerPC] fix potential verification errors on CFENCE8
inouehrs Jun 15, 2017
52ffcca
[BasicAA] Don't call isKnownNonEqual if we might be have gone through…
topperc Jun 15, 2017
95d9f1b
Apply summary-based dead stripping to regular LTO modules with summar…
pcc Jun 15, 2017
c9069cd
[BasicAA] Add test case that goes with r305481.
topperc Jun 15, 2017
00cc112
ISel: Fix FastISel of swifterror values
aschwaighofer Jun 15, 2017
b9ff4ba
Silence warning with assertions disabled.
pcc Jun 15, 2017
a14f1bc
[InstCombine] Handle (iszero(A & K1) | iszero(A & K2)) -> (A & (K1 | …
topperc Jun 15, 2017
e4a3951
Fold variable into assert.
d0k Jun 15, 2017
edd54f8
[MachineLICM] Hoist TOC-based address instructions
lei137 Jun 15, 2017
ccc684d
[InstCombine] Pre-commit test cases for the transform proposed in D34…
topperc Jun 15, 2017
f82d26a
[InstCombine] Make the context instruction parameter of foldOrOfICmps…
topperc Jun 15, 2017
7807f69
DivergencyAnalysis patch for review
alex-t Jun 15, 2017
0f6dce0
[llvm-pdbutil] rewrite the "raw" output style.
Jun 15, 2017
1031e14
Fix some -Wreorder issues.
Jun 15, 2017
cc81e8d
Fix some more warnings.
Jun 15, 2017
93981f8
Split PGO memory intrinsic optimization into its own source file
teresajohnson Jun 15, 2017
312d0db
[DWARF] Removed dead code. The verifier functionality is provided by
Jun 15, 2017
48370ee
Revert "[llvm-pdbutil] rewrite the "raw" output style."
Jun 15, 2017
7438bc9
Added braces to work around gcc warning in googletest: suggest explic…
gkistanova Jun 15, 2017
66f76f7
[InstCombine] Add test cases to demonstrate instcombine increasing in…
topperc Jun 15, 2017
240b649
[InstCombine] Add two FIXMEs for bad single use checks. NFC
topperc Jun 15, 2017
c82adde
docs/Phabricator: Better git examples to produce full context patches
MatzeB Jun 15, 2017
02688b0
RegScavenging: Add scavengeRegisterBackwards()
MatzeB Jun 15, 2017
7e5d31e
Resubmit "[llvm-pdbutil] rewrite the "raw" output style."
Jun 15, 2017
9b53419
UnitTests: Replace some if(x)report_fatal_error() with EXPECT_TRUE(!x)
MatzeB Jun 15, 2017
93a987e
[libFuzzer] change the default max_len from 64 to 4096. This will aff…
kcc Jun 15, 2017
dcb4305
UnitTests: Followup to 305519
MatzeB Jun 15, 2017
975d465
[AMDGPU] Testing commit access only, no real change
Jun 15, 2017
4d56b5f
[llvm-pdbutil] Add back the ability to dump hashes and index offsets.
Jun 15, 2017
aa27e87
test-release.sh: Run the test-suite using phase3 clang
tstellar Jun 15, 2017
e6f0d3c
[llvm-pdbutil] Add back support for dumping file checksums.
Jun 15, 2017
8a6e298
Revert "[DAG] Allow truncated and extend memory operations in Store M…
ahmedbougacha Jun 15, 2017
ae75a98
Try to fix uninitialized read reported by msan.
Jun 15, 2017
7b1eb00
[llvm-pdbutil] Add support for dumping lines and inlinee lines.
Jun 15, 2017
9b112a7
[PartialInlining] Code Refactoring
david-xl Jun 15, 2017
f391f22
[llvm-pdbutil] Add a function for iterating over debug subsections.
Jun 15, 2017
68e216b
[llvm-pdbutil] Add support for dumping cross module imports/exports.
Jun 16, 2017
3184f8d
[cfi] CFI-ICall for ThinLTO.
eugenis Jun 16, 2017
1410aba
Fix build warning on 32-bit targets where sizeof(size_t) < sizeof(lon…
eugenis Jun 16, 2017
1d475d8
[BinaryFormat, Option, TableGen] Fix some Clang-tidy modernize-use-us…
EugeneZelenko Jun 16, 2017
27c1aa0
[CorrelatedValuePropagation] Remove superfluous semicolon. NFC
topperc Jun 16, 2017
04c0126
Fix msan buildbot.
rui314 Jun 16, 2017
9a18969
Fix buildbots.
rui314 Jun 16, 2017
091e96c
[InstCombine] Fold (!iszero(A & K1) & !iszero(A & K2)) -> (A & (K1 |…
topperc Jun 16, 2017
0a8e896
[MachineBlockPlacement] trivial fix in comments, NFC
inouehrs Jun 16, 2017
c86dcc6
[Hexagon] Don't kill live registers when creating mux out of tfr
Jun 16, 2017
773e19a
[TableGen] Do not assume that the first variant is the original pattern
Jun 16, 2017
7810ae7
Revert "[mips][microMIPS] Extending size reduction pass with ADDIUSP …
Jun 16, 2017
470c695
[Atomics] Rename and change prototype for atomic memcpy intrinsic
Jun 16, 2017
2115877
bpf: set missing types in insn tablegen file
yonghong-song Jun 16, 2017
1aa4ba7
bpf: avoid load from read-only sections
yonghong-song Jun 16, 2017
998d866
[InstCombine] Add test cases to show missed opportunities due to over…
topperc Jun 16, 2017
17473f5
Fix function name /NFC
david-xl Jun 16, 2017
bd1a266
Revert "RegScavenging: Add scavengeRegisterBackwards()"
MatzeB Jun 16, 2017
4a2fcf3
[DWARF] Replaced mem-initializers with non-static data member initial…
Jun 16, 2017
6c8d710
[SCCP] Remove redundant instruction visitors.
dcci Jun 16, 2017
abc4fc5
[GVN] Recommit the patch "Add phi-translate support in scalarpre".
wmi-11 Jun 16, 2017
089beaa
[SCCP] Clarify a comment about unhandled instructions.
dcci Jun 16, 2017
888f3a0
[SCCP] Simplify the code a bit. NFCI.
dcci Jun 16, 2017
e9eb0b8
Change YAML traits for vector<string> to flow_vector.
eugenis Jun 16, 2017
512a2c9
[InstCombine] Set correct insertion point for selects generated while…
annamthomas Jun 16, 2017
c501cd4
Switch external cvtres.exe for llvm's own resource library.
Jun 16, 2017
d399e11
[Object] Remove redundant std::move.
d0k Jun 16, 2017
51c5f77
Clean up some things in the WindowsResource changes.
Jun 16, 2017
3589cb5
[DWARF] Corrected behavior for when no .apple_names section is presen…
Jun 16, 2017
b8f8fa1
utils: Add a git-r utility for mapping svn revisions to git revisions…
pcc Jun 16, 2017
e97626f
Improve the accuracy of variable ranges .debug_loc location lists.
adrian-prantl Jun 16, 2017
be5d464
Move testcase into the target-appropriate subdirectory.
adrian-prantl Jun 16, 2017
2244b2d
Revert rL305578. There is still some buildbot failure to be fixed.
wmi-11 Jun 16, 2017
ea1b075
[TargetLowering] Use ConstantSDNode::isOne and getSExtValue instead o…
topperc Jun 16, 2017
def0ae4
[SelectionDAG] Use APInt::isNullValue/isOneValue. NFC
topperc Jun 16, 2017
5fb544c
[SelectionDAG] Use APInt::isSubsetOf. NFC
topperc Jun 16, 2017
3cea3b1
[ConstantRange] Implement getSignedMin/Max in a less complicated and …
topperc Jun 16, 2017
86f1ba0
bpf: fix a strict-aliasing issue
yonghong-song Jun 16, 2017
b856c16
obj2yaml: Improve error reporting
sbc100 Jun 16, 2017
bd5fe95
Remove some dead code / includes.
Jun 16, 2017
2757ca6
[CodeView] Fix random access of type names.
Jun 16, 2017
46016f2
[WebAssembly] Use __stack_pointer global when writing wasm binary
sbc100 Jun 16, 2017
824edbe
Don't crash if a type record can't be found.
Jun 17, 2017
aae294a
[InstCombine] Make FPMathOperator working with ConstantExpression(s).
dcci Jun 17, 2017
1cea155
[SelectionDAG] Update Loop info after splitting critical edges.
dcci Jun 17, 2017
253e526
[PPC] Remove isBarrier from CFENCE8's definition.
timshen91 Jun 17, 2017
cd03942
RegScavenging: Add scavengeRegisterBackwards()
MatzeB Jun 17, 2017
7eaaf7b
Tidy up some calls to getRegister for readability.
echristo Jun 17, 2017
e14480d
Remove unused forward declaration.
echristo Jun 17, 2017
65165bb
Remove the old and unused PPC32 and PPC64TargetMachine classes.
echristo Jun 17, 2017
e8987fd
Turn a large if block into a smaller early return for clarity.
echristo Jun 17, 2017
91d2a84
Rework logic and comment out the default relocation models for PPC.
echristo Jun 17, 2017
b903fdd
[CMake] Introduce LLVM_TARGET_TRIPLE_ENV as an option to override LLV…
chapuni Jun 17, 2017
5b6663a
[CMake] Get rid of generating obj.*-tblgen if CMake >= 3.9 for Ninja …
chapuni Jun 17, 2017
f477517
[TRE] Update comments. NFC
trentxintong Jun 17, 2017
9bca842
[TRE] Add assertion for folding trivial return block
trentxintong Jun 17, 2017
f54df2f
[SROA] Add support for non-integral pointers
sanjoy Jun 17, 2017
77d32e8
Fixed the warning introduced by r305625 to make ubuntu-gcc7.1-werror …
gkistanova Jun 17, 2017
0de5bc0
Add argmononly attribute to strlen and wcslen, i.e. they only read me…
trentxintong Jun 18, 2017
63f4f39
Test to correct triple for SUSE on ARMv7
ismail Jun 18, 2017
5943855
Revert r305642
ismail Jun 18, 2017
1004a9e
[x86] adjust test constants to maintain coverage; NFC
rotateright Jun 18, 2017
a9fb6f9
[x86] adjust test constants to maintain coverage; NFC
rotateright Jun 18, 2017
5c2d0a5
x86] adjust test constants to maintain coverage; NFC
rotateright Jun 18, 2017
32639e6
Implement AllocateRWX and ReleaseRWX for NetBSD
krytarowski Jun 18, 2017
4446e99
[Reassociate] Use APInt::isNullValue() instead of comparing with 0. NFC
topperc Jun 18, 2017
4f1962c
[APFloat] Move the integerPartWidth constant into APFloatBase. Remove…
topperc Jun 18, 2017
d8c55ee
Delete TypeDatabase.
Jun 18, 2017
6661e76
[x86] specify triple and auto-generate checks; NFC
rotateright Jun 18, 2017
4e08dc9
[x86] specify triples and auto-generate complete checks; NFC
rotateright Jun 18, 2017
ffa33d0
[x86] specify triples and auto-generate complete checks; NFC
rotateright Jun 18, 2017
47c282c
NewGVN: Fix PR 33461, caused by slightly overzealous verification.
dberlin Jun 19, 2017
4039181
[Doc] Fix getelementptr description about arguments
dwblaikie Jun 19, 2017
9026c3d
[SCEV] Teach SCEVExpander to expand BinPow
Jun 19, 2017
f00ca4f
[X86] Simplify vector-shuffle-v48 test. NFC.
Jun 19, 2017
df1f7af
[ARM] GlobalISel: Support G_ICMP for i32 and pointers
rovka Jun 19, 2017
7e1ef2d
[CodeGen] Add generic MacroFusion pass.
fhahn Jun 19, 2017
127fdb1
Revert r305677 [CodeGen] Add generic MacroFusion pass.
fhahn Jun 19, 2017
afb808f
[ARM] GlobalISel: Support G_ICMP for s8 and s16
rovka Jun 19, 2017
b34ebdd
Recommit rL305677: [CodeGen] Add generic MacroFusion pass
fhahn Jun 19, 2017
c56841e
[GlobalISel][X86] Fold FI/G_GEP into LDR/STR instruction addressing m…
Jun 19, 2017
865802c
AMDGPU/GlobalISel: Mark G_BITCAST s32 <--> <2 x s16> legal
tstellar Jun 19, 2017
5aac6c6
Use range for loops. NFCI.
RKSimon Jun 19, 2017
fe252ff
[AArch64] Fix order of checks in shouldScheduleAdjacent.
fhahn Jun 19, 2017
d9d2f4e
Add test for store merge with noimplicitfloat
niravhdave Jun 19, 2017
8db6b00
[TRE] Improve code motion in TRE, use AA to tell whether a load can b…
trentxintong Jun 19, 2017
fc06581
[JumpThreading][LVI] Invalidate LVI information after blocks are merged
annamthomas Jun 19, 2017
10c94f2
Allow truncated and extend memory operations in Store Merge. NFCI.
niravhdave Jun 19, 2017
034cc08
[AMDGPU][mc][tests][NFC] Bulk ISA tests: Massive update. Add Gfx9 das…
atamazov Jun 19, 2017
9b4b5aa
[Reassociate] Make one of the helper methods static because it doesn'…
topperc Jun 19, 2017
b9bca3e
[Reassociate] Support some reassociation of vector xors
topperc Jun 19, 2017
b1e0fcd
[InstCombine] Cleanup some duplicated one use checks
topperc Jun 19, 2017
8bcd7ee
Remove brackets, NFC.
dtemirbulatov Jun 19, 2017
04b8896
[NewGVN] Simplify findConditionEquivalence(). NFCI.
dcci Jun 19, 2017
e075b10
[CodeView] Fix dumping of public symbol record flags
rnk Jun 19, 2017
2be2708
[Dominators] Clean up GenericDomTree.h. NFC.
kuhar Jun 19, 2017
d89466b
[PDB] Start emitting source file and line information
rnk Jun 19, 2017
403309b
[Dominators] Clean up typedefs in GenericDomTreeConstruction. NFC.
kuhar Jun 19, 2017
08030e7
Revert r304824 "Fix PR23384 (part 3 of 3)"
zmodem Jun 19, 2017
763224d
[InstCombine] Make sure AddReachableCodeToWorklist sets MadeIRChange
bjope Jun 19, 2017
9f93c9d
Improve profile-guided heuristics to use estimated trip count.
taewookoh Jun 19, 2017
b741c53
Have writeCOFFWriter return Expected<unique_ptr>.
Jun 19, 2017
ffc8b7c
Remove convenient but probably not worthwhile macro for lambda workar…
dwblaikie Jun 19, 2017
3fe8da4
Change llvm-nm for Mach-O files to use dyld info in some cases when p…
enderby Jun 19, 2017
7a0e66c
[CGP, PowerPC] try to constant fold before creating loads for memcmp …
rotateright Jun 19, 2017
4f5f095
Revert r305382, it caused PR33513.
nico Jun 19, 2017
264bdd8
[PATCH] [PGO] Fixed cast operation in emIntrinsicVisitor::instrumen…
Jun 19, 2017
b06e406
[BDCE] Add comments. NFC
trentxintong Jun 19, 2017
9a9e3b8
Revert r305598, "utils: Add a git-r utility for mapping svn revisions…
pcc Jun 19, 2017
60eaf23
Fix a FIXME in llvm-objdump for the -exports-trie option that was not…
enderby Jun 19, 2017
b9cdbc0
AMDGPU: Cleanup CreateLiveInRegister
arsenm Jun 19, 2017
faad4a3
Fix typos
arsenm Jun 19, 2017
26324db
[AArch64][Falkor] Refine load/store increment latencies.
geoffberry Jun 19, 2017
039e17b
[AArch64][Kryo] Add missing write latency for LDAXP, LDXP second dest…
geoffberry Jun 19, 2017
c46faf0
[AArch64][Falkor] Fix MOVZ sched predicate to not assert on non-imm o…
geoffberry Jun 19, 2017
8d9cfad
Try to fix uninitialized read in unit test.
Jun 19, 2017
4b199ee
Mark LLVMTestingSupport as not installed in LLVMBuild.
Jun 19, 2017
f193400
[IR] Fix some Clang-tidy modernize-use-using warnings; other minor fi…
EugeneZelenko Jun 19, 2017
7ef9a64
Fix machine instruction in test case
sanjoy Jun 19, 2017
810d1a0
[Target] Fix some Clang-tidy modernize-use-using and Include What You…
EugeneZelenko Jun 19, 2017
7c44c2a
[AMDGPU] Add infer address spaces pass before SROA
rampitec Jun 19, 2017
b962973
[ExecutionEngine] Fix some Clang-tidy modernize-use-using and Include…
EugeneZelenko Jun 19, 2017
5a7b330
AMDGPU: Fix scratch wave offset relative FI expansion
arsenm Jun 19, 2017
eaf57f3
The change to llvm-nm in r305733 added fields to the struct NMSymbol
enderby Jun 20, 2017
a4bbfa9
[test-release.sh] Enable Polly by default
Jun 20, 2017
b945463
[ProfileData] PR33517: Check for failure of symtab creation
vedantk Jun 20, 2017
9f0d281
[Coverage] PR33517: Check for failure to load func records
vedantk Jun 20, 2017
9c49009
[DAG] Simplify BaseIndexOffset. NFCI.
niravhdave Jun 20, 2017
1e975c1
[WebAssembly] Add support for weak symbols in the binary format
sbc100 Jun 20, 2017
ad60de3
[WebAssembly] Fix build failures introduced in r305769
sbc100 Jun 20, 2017
5fc12bf
Fix unused function build error in lld
sbc100 Jun 20, 2017
73b64dd
[SelectionDAG] Get rid of recursion in CalcNodeSethiUllmanNumber
Jun 20, 2017
46e03a3
[ARM] Support constant pools in data when generating execute-only code.
labrinea Jun 20, 2017
4e72ee4
WasmObjectWriter.cpp: Tweak a comment line. [-Wdocumentation]
chapuni Jun 20, 2017
88c4c54
[GlobalISel][X86] add legalizer mir tests. NFC
Jun 20, 2017
e1bef1b
[SCEV][NFC] Fix a misleading description of AddOpsInlineThreshold
Jun 20, 2017
e193a76
[GlobalISel] combine not symmetric merge/unmerge nodes.
Jun 20, 2017
515e735
[GlobalISel][X86] Get correct RegClass for given RegBank.
Jun 20, 2017
921867e
[SelectionDAG] Fix an use-after-free issue introduced in r305775.
hokein Jun 20, 2017
bf052b5
[GlobalISel][X86] fix compilation error ( -Werror=unused-function )
Jun 20, 2017
2bba203
Fixed test name. NFCI.
RKSimon Jun 20, 2017
9210abe
[X86][SSE] Dropped old INSERT_VECTOR_ELT lowering TODO
RKSimon Jun 20, 2017
35b14a7
Fix Wdocumentation warning
RKSimon Jun 20, 2017
a4b49d6
[globalisel][tablegen] Add support for COPY_TO_REGCLASS.
dsandersllvm Jun 20, 2017
3e4188d
[InstCombine] try to canonicalize xor-of-icmps to and-of-icmps
rotateright Jun 20, 2017
031043b
[InstCombine] fix code/test comments for r305792; NFC
rotateright Jun 20, 2017
46f62d5
D33466: Make file non-executable.
vgvassilev Jun 20, 2017
f37b0db
DAG: correctly legalize UMULO.
TNorthover Jun 20, 2017
8583827
[X86][SSE] Relax 0/-1 vector element insertion to work for any vector…
RKSimon Jun 20, 2017
aab686b
[x86] enable CGP memcmp() expansion for 2/4/8 byte sizes
rotateright Jun 20, 2017
bc5df29
[GSoC] Flag value completion for clang
yamaguchi1024 Jun 20, 2017
c4a82c8
[TableGen] Use range based for loop. NFC
topperc Jun 20, 2017
b1618d2
[TableGen] Take a parameter by reference instead of pointer so we don…
topperc Jun 20, 2017
7359f17
[CostModel][X86] Declare costs variables based on type
RKSimon Jun 20, 2017
1313d75
[CostModel][X86] Add scalar arithmetic cost tests
RKSimon Jun 20, 2017
3ee2a16
[PowerPC] fix trivial typos in comment, NFC
inouehrs Jun 20, 2017
4cabef5
AMDGPU: Fix crash with undef vreg input operand
arsenm Jun 20, 2017
423a449
[AMDGPU] Eliminate SGPR to VGPR copy when possible
rampitec Jun 20, 2017
73854fd
AMDGPU: Preserve undef when folding register operands
arsenm Jun 20, 2017
0cc137e
RegisterScavenging: Followup to r305625
MatzeB Jun 20, 2017
d6d2feb
Remove diff pedantic mode.
Jun 20, 2017
6ebce80
[PDB] Don't write uninitialized bytes to a PDB file.
Jun 20, 2017
5516bd1
AMDGPU: Do operand folding in program order
arsenm Jun 20, 2017
c7c608f
[GISel]: Add G_FMA opcode for fused multiply adds
Jun 20, 2017
b6e6318
Merge branch 'llvm_upstream_4_0_1' into incoming
juj Nov 3, 2017
34a17e4
Update JSBackend from LLVM 4.0 to LLVM 4.0.1 API.
juj Nov 3, 2017
b8c47f8
Add llvm_lifetime_start/end, llvm_invariant_start/end and llvm_rint_f…
juj Nov 3, 2017
fe957b6
Fix calls to AttributeList::getParamAttributes(), which has changed t…
juj Nov 3, 2017
16863cd
Merge branch 'incoming' into merge_llvm_401
juj Jan 8, 2018
6ed4b05
Use AttributeList::hasParamAttrs(i) instead of AttributeList::hasAttr…
juj Jan 9, 2018
9653a77
Rename references to "llvm.lifetime/invariant.start/end" to new names…
juj Jan 30, 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.
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -21,6 +21,9 @@
#OS X specific files.
.DS_store

# Nested build directory
/build

#==============================================================================#
# Explicit files to ignore (only matches one).
#==============================================================================#
@@ -62,8 +65,9 @@ tools/polly
tools/avrlit
# Sphinx build tree, if building in-source dir.
docs/_build
# VSCode config files.
# VS2017 and VSCode config files.
.vscode
.vs

#==============================================================================#
# Files created in tree by the Go bindings.
116 changes: 74 additions & 42 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ if(POLICY CMP0057)
endif()

if(NOT DEFINED LLVM_VERSION_MAJOR)
set(LLVM_VERSION_MAJOR 4)
set(LLVM_VERSION_MAJOR 5)
endif()
if(NOT DEFINED LLVM_VERSION_MINOR)
set(LLVM_VERSION_MINOR 0)
@@ -44,6 +44,13 @@ if (NOT PACKAGE_VERSION)
"${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}")
endif()

if ((CMAKE_GENERATOR MATCHES "Visual Studio") AND (CMAKE_GENERATOR_TOOLSET STREQUAL ""))
message(WARNING "Visual Studio generators use the x86 host compiler by "
"default, even for 64-bit targets. This can result in linker "
"instability and out of memory errors. To use the 64-bit "
"host compiler, pass -Thost=x64 on the CMake command line.")
endif()

project(LLVM
${cmake_3_0_PROJ_VERSION}
${cmake_3_0_LANGUAGES}
@@ -56,17 +63,20 @@ endif()

# This should only apply if you are both on an Apple host, and targeting Apple.
if(CMAKE_HOST_APPLE AND APPLE)
if(NOT CMAKE_XCRUN)
find_program(CMAKE_XCRUN NAMES xcrun)
endif()
if(CMAKE_XCRUN)
execute_process(COMMAND ${CMAKE_XCRUN} -find libtool
OUTPUT_VARIABLE CMAKE_LIBTOOL
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
# if CMAKE_LIBTOOL is not set, try and find it with xcrun or find_program
if(NOT CMAKE_LIBTOOL)
if(NOT CMAKE_XCRUN)
find_program(CMAKE_XCRUN NAMES xcrun)
endif()
if(CMAKE_XCRUN)
execute_process(COMMAND ${CMAKE_XCRUN} -find libtool
OUTPUT_VARIABLE CMAKE_LIBTOOL
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()

if(NOT CMAKE_LIBTOOL OR NOT EXISTS CMAKE_LIBTOOL)
find_program(CMAKE_LIBTOOL NAMES libtool)
if(NOT CMAKE_LIBTOOL OR NOT EXISTS CMAKE_LIBTOOL)
find_program(CMAKE_LIBTOOL NAMES libtool)
endif()
endif()

get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
@@ -132,18 +142,6 @@ foreach(proj ${LLVM_ENABLE_PROJECTS})
endif()
endforeach()

# The following only works with the Ninja generator in CMake >= 3.0.
set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING
"Define the maximum number of concurrent compilation jobs.")
if(LLVM_PARALLEL_COMPILE_JOBS)
if(NOT CMAKE_MAKE_PROGRAM MATCHES "ninja")
message(WARNING "Job pooling is only available with Ninja generators.")
else()
set_property(GLOBAL APPEND PROPERTY JOB_POOLS compile_job_pool=${LLVM_PARALLEL_COMPILE_JOBS})
set(CMAKE_JOB_POOL_COMPILE compile_job_pool)
endif()
endif()

# Build llvm with ccache if the package is present
set(LLVM_CCACHE_BUILD OFF CACHE BOOL "Set to ON for a ccache enabled build")
if(LLVM_CCACHE_BUILD)
@@ -178,21 +176,12 @@ if(LLVM_DEPENDENCY_DEBUGGING)
endif()
endif()

option(LLVM_BUILD_GLOBAL_ISEL "Experimental: Build GlobalISel" OFF)
option(LLVM_BUILD_GLOBAL_ISEL "Experimental: Build GlobalISel" ON)
if(LLVM_BUILD_GLOBAL_ISEL)
add_definitions(-DLLVM_BUILD_GLOBAL_ISEL)
endif()

set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING
"Define the maximum number of concurrent link jobs.")
if(LLVM_PARALLEL_LINK_JOBS)
if(NOT CMAKE_MAKE_PROGRAM MATCHES "ninja")
message(WARNING "Job pooling is only available with Ninja generators.")
else()
set_property(GLOBAL APPEND PROPERTY JOB_POOLS link_job_pool=${LLVM_PARALLEL_LINK_JOBS})
set(CMAKE_JOB_POOL_LINK link_job_pool)
endif()
endif()
option(LLVM_ENABLE_DAGISEL_COV "Debug: Prints tablegen patterns that were used for selecting" OFF)

# Add path for custom modules
set(CMAKE_MODULE_PATH
@@ -386,8 +375,6 @@ set(LLVM_TARGETS_TO_BUILD
${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD})
list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD)

include(AddLLVMDefinitions)

option(LLVM_ENABLE_PIC "Build Position-Independent Code" ON)
option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON)
option(LLVM_ENABLE_MODULES "Compile with C++ modules enabled." OFF)
@@ -399,6 +386,7 @@ else()
option(LLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY "Compile with -fmodules-local-submodule-visibility." ON)
endif()
option(LLVM_ENABLE_CXX1Y "Compile with C++1y enabled." OFF)
option(LLVM_ENABLE_CXX1Z "Compile with C++1z enabled." OFF)
option(LLVM_ENABLE_LIBCXX "Use libc++ if available." OFF)
option(LLVM_ENABLE_LLD "Use lld as C and C++ linker." OFF)
option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON)
@@ -415,9 +403,6 @@ option(LLVM_ENABLE_EXPENSIVE_CHECKS "Enable expensive checks" OFF)
set(LLVM_ABI_BREAKING_CHECKS "WITH_ASSERTS" CACHE STRING
"Enable abi-breaking checks. Can be WITH_ASSERTS, FORCE_ON or FORCE_OFF.")

option(LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
"Disable abi-breaking checks mismatch detection at link-tim." OFF)

option(LLVM_FORCE_USE_OLD_HOST_TOOLCHAIN
"Set to ON to force using an old, unsupported host toolchain." OFF)

@@ -507,6 +492,10 @@ option(LLVM_INCLUDE_UTILS "Generate build targets for the LLVM utils." ON)
option(LLVM_BUILD_UTILS
"Build LLVM utility binaries. If OFF, just generate build targets." ON)

option(LLVM_INCLUDE_RUNTIMES "Generate build targets for the LLVM runtimes." ON)
option(LLVM_BUILD_RUNTIMES
"Build the LLVM runtimes. If OFF, just generate build targets." ON)

option(LLVM_BUILD_RUNTIME
"Build the LLVM runtime libraries." ON)
option(LLVM_BUILD_EXAMPLES
@@ -532,6 +521,9 @@ set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html"
option (LLVM_BUILD_EXTERNAL_COMPILER_RT
"Build compiler-rt as an external project." OFF)

option (LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO
"Show target and host info when tools are invoked with --version." ON)

# You can configure which libraries from LLVM you want to include in the
# shared library by setting LLVM_DYLIB_COMPONENTS to a semi-colon delimited
# list of LLVM components. All component names handled by llvm-config are valid.
@@ -547,6 +539,8 @@ if(LLVM_LINK_LLVM_DYLIB OR LLVM_BUILD_LLVM_C_DYLIB)
endif()
option(LLVM_BUILD_LLVM_DYLIB "Build libllvm dynamic library" ${LLVM_BUILD_LLVM_DYLIB_default})

option(LLVM_DYLIB_SYMBOL_VERSIONING OFF)

option(LLVM_OPTIMIZED_TABLEGEN "Force TableGen to be built with optimization" OFF)
if(CMAKE_CROSSCOMPILING OR (LLVM_OPTIMIZED_TABLEGEN AND (LLVM_ENABLE_ASSERTIONS OR CMAKE_CONFIGURATION_TYPES)))
set(LLVM_USE_HOST_TOOLS ON)
@@ -577,6 +571,10 @@ if (LLVM_BUILD_STATIC)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
endif()

# Override the default target with an environment variable named by LLVM_TARGET_TRIPLE_ENV.
set(LLVM_TARGET_TRIPLE_ENV CACHE STRING "The name of environment variable to override default target. Disabled by blank.")
mark_as_advanced(LLVM_TARGET_TRIPLE_ENV)

# All options referred to from HandleLLVMOptions have to be specified
# BEFORE this include, otherwise options will not be correctly set on
# first cmake run
@@ -642,7 +640,7 @@ endif (LLVM_USE_OPROFILE)

message(STATUS "Constructing LLVMBuild project information")
execute_process(
COMMAND ${PYTHON_EXECUTABLE} ${LLVMBUILDTOOL}
COMMAND ${PYTHON_EXECUTABLE} -B ${LLVMBUILDTOOL}
--native-target "${LLVM_NATIVE_ARCH}"
--enable-targets "${LLVM_TARGETS_TO_BUILD}"
--enable-optional-components "${LLVMOPTIONALCOMPONENTS}"
@@ -738,6 +736,30 @@ configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/DataTypes.h.cmake
${LLVM_INCLUDE_DIR}/llvm/Support/DataTypes.h)

# Add target for generating source rpm package.
set(LLVM_SRPM_USER_BINARY_SPECFILE ${CMAKE_CURRENT_SOURCE_DIR}/llvm.spec.in
CACHE FILEPATH ".spec file to use for srpm generation")
set(LLVM_SRPM_BINARY_SPECFILE ${CMAKE_CURRENT_BINARY_DIR}/llvm.spec)
set(LLVM_SRPM_DIR "${CMAKE_CURRENT_BINARY_DIR}/srpm")

# SVN_REVISION and GIT_COMMIT get set by the call to add_version_info_from_vcs.
# DUMMY_VAR contains a version string which we don't care about.
add_version_info_from_vcs(DUMMY_VAR)
if ( SVN_REVISION )
set(LLVM_RPM_SPEC_REVISION "r${SVN_REVISION}")
elseif ( GIT_COMMIT )
set (LLVM_RPM_SPEC_REVISION "g${GIT_COMMIT}")
endif()

configure_file(
${LLVM_SRPM_USER_BINARY_SPECFILE}
${LLVM_SRPM_BINARY_SPECFILE} @ONLY)

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})


# They are not referenced. See set_output_directory().
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
@@ -837,7 +859,6 @@ if( LLVM_INCLUDE_UTILS )
add_subdirectory(utils/not)
add_subdirectory(utils/llvm-lit)
add_subdirectory(utils/yaml-bench)
add_subdirectory(utils/unittest)
else()
if ( LLVM_INCLUDE_TESTS )
message(FATAL_ERROR "Including tests when not building utils will not work.
@@ -862,7 +883,9 @@ if( LLVM_INCLUDE_TOOLS )
add_subdirectory(tools)
endif()

add_subdirectory(runtimes)
if( LLVM_INCLUDE_RUNTIMES )
add_subdirectory(runtimes)
endif()

if( LLVM_INCLUDE_EXAMPLES )
add_subdirectory(examples)
@@ -879,6 +902,10 @@ if( LLVM_INCLUDE_TESTS )
endif()
add_subdirectory(test)
add_subdirectory(unittests)
if( LLVM_INCLUDE_UTILS )
add_subdirectory(utils/unittest)
endif()

if (WIN32)
# This utility is used to prevent crashing tests from calling Dr. Watson on
# Windows.
@@ -979,3 +1006,8 @@ if(LLVM_DISTRIBUTION_COMPONENTS)
endif()
endforeach()
endif()

# This allows us to deploy the Universal CRT DLLs by passing -DCMAKE_INSTALL_UCRT_LIBRARIES=ON to CMake
if (MSVC)
include(InstallRequiredSystemLibraries)
endif()
41 changes: 17 additions & 24 deletions CODE_OWNERS.TXT
Original file line number Diff line number Diff line change
@@ -5,12 +5,9 @@ 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), and snail-mail address
(S). Each entry should contain at least the (N), (E) and (D) fields.

N: Joe Abbey
E: jabbey@arxan.com
D: LLVM Bitcode (lib/Bitcode/* include/llvm/Bitcode/*)
(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
@@ -21,6 +18,11 @@ 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
@@ -34,6 +36,10 @@ 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: gclayton@apple.com
D: LLDB
@@ -48,7 +54,7 @@ D: libc++

N: Peter Collingbourne
E: peter@pcc.me.uk
D: llgo, libLTO (lib/LTO/* tools/lto/*)
D: llgo, libLTO (lib/LTO/* tools/lto/*), LLVM Bitcode (lib/Bitcode/* include/llvm/Bitcode/*)

N: Quentin Colombet
E: qcolombet@apple.com
@@ -96,7 +102,7 @@ D: MCJIT, RuntimeDyld and JIT event listeners, Orcish Warchief

N: Teresa Johnson
E: tejohnson@google.com
D: Gold plugin (tools/gold/*)
D: Gold plugin (tools/gold/*) and IR Linker

N: Galina Kistanova
E: gkistanova@gmail.com
@@ -132,7 +138,7 @@ E: david.majnemer@gmail.com
D: IR Constant Folder, InstCombine

N: Dylan McKay
E: dylanmckay34@gmail.com
E: me@dylanmckay.io
D: AVR Backend

N: Tim Northover
@@ -180,9 +186,8 @@ E: alexei.starovoitov@gmail.com
D: BPF backend

N: Tom Stellard
E: thomas.stellard@amd.com
E: mesa-dev@lists.freedesktop.org
D: Release manager for the 3.5 and 3.6 branches, R600 Backend, libclc
E: tstellar@redhat.com
D: Stable release management (x.y.[1-9] releases), AMDGPU Backend, libclc

N: Evgeniy Stepanov
E: eugenis@google.com
@@ -192,26 +197,14 @@ N: Craig Topper
E: craig.topper@gmail.com
D: X86 Backend

N: Andrew Trick
E: atrick@apple.com
D: Instruction Scheduling

N: Ulrich Weigand
E: uweigand@de.ibm.com
D: SystemZ Backend

N: Teresa Johnson
E: tejohnson@google.com
D: IR Linker

N: Hans Wennborg
E: hans@chromium.org
D: Release management (x.y.0 releases)

N: whitequark
E: whitequark@whitequark.org
D: OCaml bindings

N: Andrey Churbanov
E: andrey.churbanov@intel.com
D: OpenMP runtime library
6 changes: 5 additions & 1 deletion CREDITS.TXT
Original file line number Diff line number Diff line change
@@ -265,7 +265,7 @@ D: Release manager (1.7+)
N: Sylvestre Ledru
E: sylvestre@debian.org
W: http://sylvestre.ledru.info/
W: http://llvm.org/apt/
W: http://apt.llvm.org/
D: Debian and Ubuntu packaging
D: Continuous integration with jenkins

@@ -457,6 +457,10 @@ 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
1 change: 1 addition & 0 deletions README.txt
Original file line number Diff line number Diff line change
@@ -15,3 +15,4 @@ documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.

Loading