Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Upgrade LLVM with iOS/OS X fixes #16

Closed
wants to merge 1,155 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1155 commits
Select commit Hold shift + click to select a range
218f127
Fix typo in comment
majnemer Jul 15, 2014
fbb6311
AArch64: fall back to generic code for out of range extract/insert.
TNorthover Jul 15, 2014
99904d2
MergeFunc patch from Björn Steinbrink.
kaomoneus Jul 15, 2014
a34d957
Silence a warning in conditional expression.
adibiagio Jul 15, 2014
3ee5fc8
Prune Redundant libdeps in CMake's target_link_libraries and LLVMBuil…
chapuni Jul 15, 2014
224ffa2
[DAGCombiner] Add more rules to fold shuffles.
adibiagio Jul 15, 2014
160c4cb
Add x86 patterns to match a specific add-with-carry.
mcinally Jul 15, 2014
6d6a055
[mips] Correct .MIPS.abiflags fp_abi field for -mfpxx and without .mo…
dsandersllvm Jul 15, 2014
7b5f8a5
R600: Implement zero undef variants of ctlz/cttz
jvesely Jul 15, 2014
ef88687
Revert r213070. It's breaking the build in MCELFStreamer::EmitInstToD…
mcinally Jul 15, 2014
2dade43
[AArch64] Add negative tests for the SIMD & FP LDP instructions.
Jul 15, 2014
01d8611
[RegisterCoalescer] Add new subtarget hook allowing targets to opt-ou…
Jul 15, 2014
9f865ed
ADT: Add "end namespace" comment
dexonsmith Jul 15, 2014
d9ebc59
ADT: Fix MapVector::erase()
dexonsmith Jul 15, 2014
58d03b3
[RuntimeDyld] Revert r211652 - MachO object GDB registration support.
lhames Jul 15, 2014
fc7ff2a
R600: Remove intrinsics that appear to be unused
arsenm Jul 15, 2014
e4c6241
R600: Add predicate for UnsafeFPMath
arsenm Jul 15, 2014
4b0a7f3
R600/SI: Implement less wrong f32 fdiv
arsenm Jul 15, 2014
c12ce2b
ADT: Add MapVector::remove_if
dexonsmith Jul 15, 2014
9bc72a3
CMake: fix cross-compilation with external source directories
atoker Jul 15, 2014
b930de1
Try out FileCheck's new (in r212810) -implicit-check-not in a DebugIn…
dwblaikie Jul 15, 2014
7929c13
R600/SI: Fix select on i1
arsenm Jul 15, 2014
427c5cb
CMake: avoid a reconfigure loop from r213091
atoker Jul 15, 2014
110748b
[dfsan] Introduce further optimization to reduce the number of union …
pcc Jul 15, 2014
f7e0423
Move Post RA Scheduling flag bit into SchedMachineModel
rotateright Jul 15, 2014
6f7532b
X86: Simplify X86WindowsTargetObjectFile::getSectionForConstant
majnemer Jul 15, 2014
a27bf37
R600/SI: Allow using f32 rcp / rsq when denormals not handled.
arsenm Jul 15, 2014
7e752a3
Remove TLI from isInTailCallPosition's arguments. NFC.
ributzka Jul 16, 2014
77f0304
Emit warnings if vectorization is forced and fails.
Jul 16, 2014
b464ec0
Perform wildcard expansion in Process::GetArgumentVector on Windows (…
zmodem Jul 16, 2014
99ecd0b
Fix comment in InstCombiner::visitAddrSpaceCast.
manueljacob Jul 16, 2014
55a421f
Roundtrip the inalloca bit on allocas through bitcode
rnk Jul 16, 2014
8fa83af
unittests: Actually test reverse iterators in Path tests
bogner Jul 16, 2014
35f6e97
[X86] Add a check for 'isMOVHLPSMask' within method 'isShuffleMaskLeg…
adibiagio Jul 16, 2014
663e484
[mips][fp64a] Temporarily disable odd-numbered double-precision regis…
dsandersllvm Jul 16, 2014
80221b9
Convert test to CHECK-LABEL
TNorthover Jul 16, 2014
1cafa00
CodeGen: don't form illegail EXTLOAD operations.
TNorthover Jul 16, 2014
7e65651
[NVPTX] Rename registers %fl -> %fd and %rl -> %rd
jholewinski-nv Jul 16, 2014
4722b28
Added documentation for SizeMultiplier in the ARM subtarget hook for …
Jul 16, 2014
49feabc
Track clang r213171
atoker Jul 16, 2014
53b0a2d
Remove unnecessary/redundant std::move
dwblaikie Jul 16, 2014
15f2c50
Add the "-x" flag to llvm-nm for Mach-O files that prints the fields …
enderby Jul 16, 2014
5c3e016
CHECK-LABEL-ize one test
vonosmas Jul 16, 2014
a1535e3
[NVPTX] Honor alignment on vector loads/stores
jholewinski-nv Jul 16, 2014
ec7a144
[RegisterCoalescer] Moving the RegisterCoalescer subtarget hook onto …
Jul 16, 2014
d6b3165
Utilize CastInst::CreatePointerBitCastOrAddrSpaceCast here.
manueljacob Jul 16, 2014
8758b72
Remove Atom references in description.
rotateright Jul 16, 2014
889a136
trivial fix for PR20314
rotateright Jul 16, 2014
e0fd412
Fix a typo in the inalloca description
Jul 16, 2014
04fc9ae
[MCJIT] Improve a RuntimeDyldChecker diagnostic.
lhames Jul 16, 2014
22441c3
[FastISel] Local values shouldn't be alive across an inline asm call …
ributzka Jul 16, 2014
07b294a
Fixed formatting, removed bug reference, renamed testcase
rotateright Jul 16, 2014
1d56cda
Partially revert r210444 due to performance regression
Jul 16, 2014
8f60969
Improve BasicAA CS-CS queries (redux)
Jul 17, 2014
adcb2d1
MC: make WinEH opcode an opaque value
compnerd Jul 17, 2014
d409968
[lit] Add --show-unsupported flag to LIT
EricWF Jul 17, 2014
50a9cd7
Fix Typo (first commit to test commit access)
Jul 17, 2014
df4663b
R600: Short circuit alloca check if address space isn't private.
arsenm Jul 17, 2014
21a9a66
Use range for
arsenm Jul 17, 2014
c84f22a
Move ashr optimization from InstCombineShift to InstSimplify.
Jul 17, 2014
e1287f5
[msan] Avoid redundant origin stores.
eugenis Jul 17, 2014
ad591b3
Fix the prefix for arm64 triple
kongy Jul 17, 2014
4b5e754
[mips] Fix ELF e_flags related to -mabicalls and -mplt.
dsandersllvm Jul 17, 2014
0a342e9
[mips] Correct .MIPS.abiflags for -mfpxx on MIPS32r6
dsandersllvm Jul 17, 2014
3da6527
[mips] Correct ELF e_flags for the N32 ABI when using a mips-* triple…
dsandersllvm Jul 17, 2014
8f69856
[mips] .reginfo is 8 byte aligned on N32.
dsandersllvm Jul 17, 2014
f33a30c
Port memory barriers intrinsics to AArch64
kongy Jul 17, 2014
3e61ccd
CodeGen: extend f16 conversions to permit types > float.
TNorthover Jul 17, 2014
ed05086
X86: support double extension of f16 type.
TNorthover Jul 17, 2014
6c701b9
CodeGen: generate single libcall for fptrunc -> f16 operations.
TNorthover Jul 17, 2014
df50f41
[TABLEGEN] Do not crash on intrinsics with names longer than 40 chara…
jholewinski-nv Jul 17, 2014
58589ce
ARM: support direct f16 <-> f64 conversions
TNorthover Jul 17, 2014
d6663f5
[NVPTX] Add more surface/texture intrinsics, including CUDA unified t…
jholewinski-nv Jul 17, 2014
b26ede0
[NVPTX] Flag surface/texture query instructions with IsTexSurfQuery
jholewinski-nv Jul 17, 2014
1919bea
MC: collapse emission of producer
compnerd Jul 17, 2014
a056166
MC: fix MCAsmInfo usage for windows-itanium
compnerd Jul 17, 2014
7be793b
MC: correct DWARF header for PE/COFF assembly input
compnerd Jul 17, 2014
07bc0b6
[NVPTX] Add missing .v4 qualifier on vector store instruction
jholewinski-nv Jul 17, 2014
30cced1
[TableGen] Allow shift operators to take bits<n>
anemet Jul 17, 2014
ccba802
[X86] AVX512: Move compressed displacement logic to TD
anemet Jul 17, 2014
5c6e7de
[X86] AVX512: Use the TD version of CD8_Scale in the assembler
anemet Jul 17, 2014
f166cc1
[X86] AVX512: Rename EVEX_CD8V to CD8_Form
anemet Jul 17, 2014
6ae2941
[X86] AVX512: Add disassembler support for compressed displacement
anemet Jul 17, 2014
345cb09
[BUG] Due to a typo introduced in r199933 and r200027 two tests for …
irishrover Jul 17, 2014
15865af
Fix typos
arsenm Jul 17, 2014
11ae250
[NVPTX] Improve handling of FP fusion
jholewinski-nv Jul 17, 2014
c636a42
Typo: exists -> exits
zmodem Jul 17, 2014
30ea429
[ASan] Don't instrument load/stores with !nosanitize metadata.
vonosmas Jul 17, 2014
be406de
[MCJIT] Significantly refactor the RuntimeDyldMachO class.
lhames Jul 17, 2014
adf8ae4
Rectify r213231. Use proper version of 'ComputeNumSignBits'.
Jul 17, 2014
08f689e
[AArch64] Cleanup AsmParser: no need to use dyn_cast + assert. cast d…
Arnaud-de-Grandmaison-ARM Jul 17, 2014
55ebcf3
TableGen: Add 'static' to a large array to avoid a huge stack allocation
rnk Jul 17, 2014
3cf9f37
Drop the udis86 wrapper from llvm::sys
atoker Jul 17, 2014
822f1b1
Make myself code owner of MCJIT.
lhames Jul 17, 2014
c1ef24c
ms inline asm: Don't add x86 segment registers to the clobber list.
nico Jul 17, 2014
5d83e5b
Remove rules against std::function from the programmer's manual
rnk Jul 17, 2014
c61aa02
Add printing of Mach-O stabs in llvm-nm.
enderby Jul 17, 2014
79785e4
Tweak formating to match what clang-format would be for llvm-nm.cpp .
enderby Jul 17, 2014
353cec5
[MCJIT] Fix the alignment requirements for ARM and AArch64 which were…
lhames Jul 17, 2014
a1fa640
Avoid resetting the UseSoftFloat and FloatABIType on the TargetMachine
echristo Jul 18, 2014
f0b9d0b
Reset the Subtarget in the AsmPrinter for each machine function
echristo Jul 18, 2014
f2c19f6
Revert "[x86] Fold extract_vector_elt of a load into the Load's addre…
Bigcheese Jul 18, 2014
f4e104f
AArch64: Constant fold converting vector setcc results to float.
Jul 18, 2014
c6058e2
X86: Constant fold converting vector setcc results to float.
Jul 18, 2014
a32c319
R600: Implement TTI:getPopcntSupport
arsenm Jul 18, 2014
d026168
Rename AlignAttribute to IntAttribute
Jul 18, 2014
7bbf578
NVPTX: support direct f16 <-> f64 conversions via intrinsics.
TNorthover Jul 18, 2014
cc03227
R600: support f16 -> f64 conversion intrinsic.
TNorthover Jul 18, 2014
f811b28
R600: rename misleading fp16 test.
TNorthover Jul 18, 2014
11c2058
extracting swapStruct into include/llvm/Support/MachO.h (no functiona…
Jul 18, 2014
03ac7db
Refactor ARM subarchitecture parsing
rengolin Jul 18, 2014
7cd0201
[ARM] Add earlyclobber constraint to pre/post-indexed ARM STR instruc…
Jul 18, 2014
dc80347
Suppress 'not handled in switch' warning
rengolin Jul 18, 2014
0afed03
CodeGen: soften f16 type by default instead of marking legal.
TNorthover Jul 18, 2014
4413539
ARM: support legalisation of "fptrunc ... to half" operations.
TNorthover Jul 18, 2014
e683321
X86: support fpext/fptrunc operations to and from 16-bit floats.
TNorthover Jul 18, 2014
1a8bcdb
AArch64: support f16 extend/trunc operations.
TNorthover Jul 18, 2014
7714a60
R600: support fpext/fptrunc operations to and from f16.
TNorthover Jul 18, 2014
b41b1d4
NVPTX: support fpext/fptrunc to and from f16.
TNorthover Jul 18, 2014
e72ff88
AArch64: implement efficient f16 bitcasts
TNorthover Jul 18, 2014
a11bf68
Add MIPS Technologies to the vendors in llvm::Triple.
dsandersllvm Jul 18, 2014
11af4b4
Add a dereferenceable attribute
Jul 18, 2014
12f33da
MC: support different sized constants in constant pools
dmpots Jul 18, 2014
bb10524
Fix build failure on windows
dmpots Jul 18, 2014
63d9456
Reapply "DebugInfo: Ensure that all debug location scope chains from …
dwblaikie Jul 18, 2014
d94715e
MergedLoadStoreMotion pass
Gerolf-Apple Jul 18, 2014
8ec1546
Add loop unrolling metadata descriptions to docs/LangRef.rst.
meheffernan Jul 18, 2014
6a33571
Use CHECK-LABEL where appropriate in this test.
eliben Jul 18, 2014
8530b6e
Rename DiagnosticInfoOptimizationWarning to DiagnosticInfoOptimizatio…
Jul 18, 2014
bd9c6c0
Add tests for atomic adds on floats.
eliben Jul 18, 2014
394e6d2
Make non-module passes unconditionally added in the pass
echristo Jul 18, 2014
7b1a0fd
[MCJIT] [AArch64] Make sure to propegate ARM64_RELOC_ADDEND values in…
lhames Jul 18, 2014
68a7bfa
Fix a couple of formatting and style issues.
echristo Jul 18, 2014
354f2af
Remove unroll pragma metadata after it is used.
meheffernan Jul 18, 2014
5fcb6fd
Fix build breakage introduced with r213412.
meheffernan Jul 18, 2014
d2e8729
DebugInfo: Assert that all abstract scopes are subprograms, rather th…
dwblaikie Jul 18, 2014
277c0d6
Clean up some style and formatting issues.
echristo Jul 18, 2014
fa034b8
Remove commented out code.
echristo Jul 18, 2014
775dd6e
Avoid caching the relocation model on the subtarget, this is for
echristo Jul 18, 2014
555be2c
The subtarget in MipsTargetLowering isn't going to change and
echristo Jul 18, 2014
a002a91
Make InstrInfo depend only upon the Subtarget getting passed in
echristo Jul 18, 2014
286fbd1
In preparation for replacing the whole subtarget on the target machine,
echristo Jul 18, 2014
d644d17
[PowerPC] 32-bit ELF PIC support
Jul 18, 2014
0ce4f58
FrameLowering depends only upon the Subtarget, so only take a subtarget
echristo Jul 18, 2014
ec3b0fe
Fundamentally change the MipsSubtarget replacement machinery:
echristo Jul 18, 2014
db98ac6
Revert "Reapply "DebugInfo: Ensure that all debug location scope chai…
echristo Jul 18, 2014
e8cfb59
[MCJIT] Add a 'decodeAddend' method to RuntimeDyldMachO and teach
lhames Jul 19, 2014
ec31a30
Remove uses of the redundant ".reset(nullptr)" of unique_ptr, in favo…
dwblaikie Jul 19, 2014
b0a5225
ARM: correct WoA __builtin_alloca handling on O0
compnerd Jul 19, 2014
7c11695
Make Value::isDereferenceablePointer handle offsets to pointer types …
Jul 19, 2014
f707267
MergedLoadStoreMotion.cpp: Fix msc17 build. Member initializer is una…
chapuni Jul 19, 2014
07adbf3
Handle AddrSpaceCast in stripAndAccumulateInBoundsConstantOffsets
Jul 19, 2014
5bc21c3
[x86] Fix wrong shuffle mask in test 'combine-vec-shuffle-3.ll'. No f…
adibiagio Jul 19, 2014
2350e9f
[LoopVectorize] Propagate known metadata to vectorized instructions
Jul 19, 2014
4df6569
[LoopVectorize] Use CreateAligned(Load|Store)
Jul 19, 2014
fd22980
R600: Implement a few simple TTI queries.
arsenm Jul 19, 2014
5e1c96a
Templatify RegionInfo so it works on MachineBasicBlocks
arsenm Jul 19, 2014
18ecf3f
R600/SI: implement range reduction for sin/cos
arsenm Jul 19, 2014
7f36bf5
XXX - Increase unroll threshold
arsenm Jul 19, 2014
a80d6a0
Fix build with GCC.
arsenm Jul 19, 2014
f7a4b7a
Revert accidentally committed r213459
arsenm Jul 19, 2014
ac1b5f1
MC: permit emitting a symbol value as section relative
compnerd Jul 19, 2014
60e681a
Sure up ownership passing of the PBQPBuilder by passing unique_ptrs b…
dwblaikie Jul 19, 2014
8f64ffd
Fix -Asserts build introduced since r213456.
chapuni Jul 20, 2014
06bc9c4
Fix msc17 build. RegionInfo::RegionInfo::recalculate() doesn't make s…
chapuni Jul 20, 2014
eb957bf
R600/SI: Remove dead code and add missing tests.
arsenm Jul 20, 2014
af1797f
R600: Remove unused function
arsenm Jul 20, 2014
83a385a
R600: Add missing test for concat_vectors
arsenm Jul 20, 2014
a4697da
[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) ite…
manueljacob Jul 20, 2014
e5166cc
Remove braces around single-statement block and rangify outer loop.
manueljacob Jul 20, 2014
1d55cc6
MachineRegionInfo.cpp: Another fix on MachineRegionInfo::MachineRegio…
chapuni Jul 20, 2014
7a3c3e9
SIISelLowering.cpp: Define _USE_MATH_DEFINES to let M_PI provided on …
chapuni Jul 20, 2014
c543b26
Namespace cleanup (no functional change)
Jul 20, 2014
e4b2165
[PowerPC] Fix FrameIndex handling in SelectAddressRegImm
uweigand Jul 20, 2014
675c967
[PowerPC] Refactor byval handling in LowerFormalArguments_64SVR4
uweigand Jul 20, 2014
0d9bcaa
[PowerPC] ELFv2 MC support for .abiversion directive
uweigand Jul 20, 2014
5ee5fc4
[PowerPC] ELFv2 MC support for .localentry directive
uweigand Jul 20, 2014
160f9b9
[LoopVectorize] Use AA to partition potential dependency checks
Jul 20, 2014
76fcace
[MC] Pass MCSymbolData to needsRelocateWithSymbol
uweigand Jul 20, 2014
07d4e55
[LoopVectorize] Remove an unused private AA pointer
Jul 20, 2014
edfd4f1
[PowerPC] ELFv2 function call changes
uweigand Jul 20, 2014
7fc5011
[PowerPC] ELFv2 stack space reduction
uweigand Jul 20, 2014
68b292b
[PowerPC] ELFv2 dynamic loader support
uweigand Jul 20, 2014
970c019
[PowerPC] ELFv2 explicit CFI for CR fields
uweigand Jul 21, 2014
d4542a8
[PowerPC] ELFv2 aggregate passing support
uweigand Jul 21, 2014
10437f6
Fix for regression: [Bug 20369] wrong code at -O3 on x86_64-linux-gnu…
Gerolf-Apple Jul 21, 2014
3d1975d
[DAG] Refactor some logic. No functional change.
adibiagio Jul 21, 2014
19e39c6
[DAGCombiner] Improve the shuffle-vector folding logic.
adibiagio Jul 21, 2014
0c991ec
[SDAG] Rather than using a narrow test against the one dummy node on the
chandlerc Jul 21, 2014
d4cde86
[SDAG,cleanup] Switch the DAG combiner over to use the spelling
chandlerc Jul 21, 2014
f8d927f
CodeGen: emit IR-level f16 conversion intrinsics as fptrunc/fpext
TNorthover Jul 21, 2014
80a15c2
FileCheck-ize a test.
chandlerc Jul 21, 2014
8ecdc6d
[mips] Do not emit '.module [no]oddspreg' unless we really need to.
dsandersllvm Jul 21, 2014
34e6588
[mips] Try to fix the test/ExecutionEngine tests on a MIPS host.
dsandersllvm Jul 21, 2014
43b1259
Move isIdentifiedFunctionLocal from BasicAA to AA
Jul 21, 2014
bb9fd2c
Fixing an MSVC conversion warning about implicitly converting the shi…
AaronBallman Jul 21, 2014
6dbe7b1
This declaration has no definition, which is causing MSVC to emit sev…
AaronBallman Jul 21, 2014
8db585a
Move the CapturesBefore tracker from AA into CaptureTracking
Jul 21, 2014
4950ae5
TableGen: Allow AddedComplexity values to be negative
tstellarAMD Jul 21, 2014
6816d66
[mips] Add MipsOptionRecord abstraction and use it to implement .regi…
dsandersllvm Jul 21, 2014
efb733c
R600/SI: Rename SOPP operands to match the encoding fields
tstellarAMD Jul 21, 2014
ad9769a
R600/SI: Use a custom encoding method for simm16 in SOPP branch instr…
tstellarAMD Jul 21, 2014
54a2540
R600/SI: Use VALU for i1 XOR
tstellarAMD Jul 21, 2014
b97240d
R600/SI: Add isCFDepth0 Predicate to SALU addc pattern
tstellarAMD Jul 21, 2014
b664d47
R600/SI: Store constant initializer data in constant memory
tstellarAMD Jul 21, 2014
285c821
Export LLVM_ENABLE_ASSERTIONS in LLVMConfig.cmake so clients know
delcypher Jul 21, 2014
9f276b7
docs: Update relaease documents to include the patch number in the RE…
tstellarAMD Jul 21, 2014
aac33cf
[SKX] Enabling SKX target and AVX512BW, AVX512DQ, AVX512VL features.
robkh Jul 21, 2014
2479def
[mips] Do not emit '.module fp=...' unless we really need to.
dsandersllvm Jul 21, 2014
59b8363
R600/SI: Remove vaddr operand from BUFFER_LOAD_*_OFFSET instructions
tstellarAMD Jul 21, 2014
c912b10
R600/SI: Specify wavefront size for SI and CI
tstellarAMD Jul 21, 2014
3280804
R600/SI: Use scratch memory for large private arrays
tstellarAMD Jul 21, 2014
05388f2
R600/SI: Clean up some of the unused REGISTER_{LOAD,STORE} code
tstellarAMD Jul 21, 2014
0c466c8
Remove unused variable.
dwblaikie Jul 21, 2014
d8fa929
Remove unnecessary use of unique_ptr::release() used to construct ano…
dwblaikie Jul 21, 2014
95689f0
Correct the ownership passing semantics of object::createBinary and m…
dwblaikie Jul 21, 2014
df99a7f
R600/SI: VOPC instructions explicitly define VCC
tstellarAMD Jul 21, 2014
cef5388
Fix Sphinx warnings.
delcypher Jul 21, 2014
9787e8c
R600/SI: Add instruction shrinking pass
tstellarAMD Jul 21, 2014
facdfc6
Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBloc…
dexonsmith Jul 21, 2014
0794af8
R600/SI: Initialize unused VOP3 sources to 0 instead of SIOperand.ZERO
tstellarAMD Jul 21, 2014
d7858af
R600/SI: Initailize encoding fields of unused VOP3 modifiers to 0
tstellarAMD Jul 21, 2014
8c4cf40
Replace the result usages while legalizing cmpxchg.
loganchien Jul 21, 2014
3ee2c33
R600/SI: Separate encoding and operand definitions into their own cla…
tstellarAMD Jul 21, 2014
163d8ce
R600/SI: Refactor VOP3 instruction definitions
tstellarAMD Jul 21, 2014
7ed655d
R600: silence GCC warning
compnerd Jul 21, 2014
6892361
test-release.sh: Add support for dot releases
tstellarAMD Jul 21, 2014
5291652
Revert "Recommit r212203: Don't try to construct debug LexicalScopes …
dwblaikie Jul 21, 2014
9da65a8
Match semantics of PointerMayBeCapturedBefore to its name by default
Jul 21, 2014
07efe87
Add some tests for NVPTX lowering of cmpxchg
eliben Jul 21, 2014
bc7f1ab
Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.int…
meheffernan Jul 21, 2014
434f0e3
Revert of r213521. This change introduced a non-hermetic test (depend…
zygoloid Jul 22, 2014
4a913e0
Add openmp to the list of tagged things.
isanbard Jul 22, 2014
3c249a5
[SDAG] Remove a giant pile of asserts that may have helped track down
chandlerc Jul 22, 2014
3f1ae7f
[SDAG] Refactor the code for inserting a newly allocated SDNode into the
chandlerc Jul 22, 2014
8e80aa5
fixed typo in comment
rotateright Jul 22, 2014
bf348c4
AVX-512: Fixed intrinsic of VSQRTPS/PD instructions.
Jul 22, 2014
f8b83e3
[mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for…
Jul 22, 2014
acdcb37
[OCaml] Don't truncate constants over 32 bits in Llvm.const_int.
whitequark Jul 22, 2014
d883110
Fix Sphinx warning.
delcypher Jul 22, 2014
43b471c
Treat warnings in Sphinx as errors. The reasons for doing this are...
delcypher Jul 22, 2014
578c74e
This patch implements transform for pattern "(A | B) ^ (~A) -> (A | ~…
Jul 22, 2014
976824a
Added LLVM_ENABLE_RTTI and LLVM_ENABLE_EH options that allow RTTI and EH
delcypher Jul 22, 2014
153dc48
Export LLVM_ENABLE_RTTI and LLVM_ENABLE_EH in LLVMConfig.cmake so
delcypher Jul 22, 2014
50f2f14
X86: drop relocations on __eh_frame sections globally.
TNorthover Jul 22, 2014
cc9bbd3
Add getPassInfo() function to llvm::Pass
c-a Dec 24, 2013
f2b92d2
Add a NullCheckElimination pass
Jun 26, 2014
f2e018a
Add the NullCheckElimination pass to the default pass list
Jun 27, 2014
aadbf59
Improve the NullCheckElimination pass
Jun 29, 2014
cd24b5c
Correctly handle range metadata when hoisting instructions into if bl…
dotdash Jul 21, 2014
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
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,7 @@ tools/clang
tools/lldb
# lld, which is tracked independently.
tools/lld
# Polly, which is tracked independently.
tools/polly
# Sphinx build tree, if building in-source dir.
docs/_build
7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,12 @@ string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
# They are used as destination of target generators.
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib)
if(WIN32 OR CYGWIN)
# DLL platform -- put DLLs into bin.
set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
else()
set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
endif()

# Each of them corresponds to llvm-config's.
set(LLVM_TOOLS_BINARY_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) # --bindir
Expand Down Expand Up @@ -499,7 +505,6 @@ add_subdirectory(lib)

if( LLVM_INCLUDE_UTILS )
add_subdirectory(utils/FileCheck)
add_subdirectory(utils/FileUpdate)
add_subdirectory(utils/PerfectShuffle)
add_subdirectory(utils/count)
add_subdirectory(utils/not)
Expand Down
4 changes: 2 additions & 2 deletions CODE_OWNERS.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ N: Justin Holewinski
E: jholewinski@nvidia.com
D: NVPTX Target (lib/Target/NVPTX/*)

N: Andy Kaylor
E: andrew.kaylor@intel.com
N: Lang Hames
E: lhames@gmail.com
D: MCJIT, RuntimeDyld and JIT event listeners

N: Galina Kistanova
Expand Down
3 changes: 0 additions & 3 deletions Makefile.config.in
Original file line number Diff line number Diff line change
Expand Up @@ -259,9 +259,6 @@ CLANG_PLUGIN_SUPPORT = @CLANG_PLUGIN_SUPPORT@
# When ENABLE_CLANG_ARCMT is enabled, clang will have ARCMigrationTool.
ENABLE_CLANG_ARCMT = @ENABLE_CLANG_ARCMT@

# When ENABLE_CLANG_REWRITER is enabled, clang will have Rewriter.
ENABLE_CLANG_REWRITER = @ENABLE_CLANG_REWRITER@

# When ENABLE_CLANG_STATIC_ANALYZER is enabled, clang will have StaticAnalyzer.
ENABLE_CLANG_STATIC_ANALYZER = @ENABLE_CLANG_STATIC_ANALYZER@

Expand Down
2 changes: 1 addition & 1 deletion Makefile.rules
Original file line number Diff line number Diff line change
Expand Up @@ -1725,7 +1725,7 @@ $(ObjDir)/%GenDFAPacketizer.inc.tmp : %.td $(ObjDir)/.dir $(LLVM_TBLGEN)

# Dump all the records to <target>.td.expanded. This is useful for debugging.
$(TARGET:%=%.td.expanded): \
%.td.expanded : %.td $(LLVM_TBLGEN)
%.td.expanded : %.td $(LLVM_TBLGEN) $(TDFiles)
$(Echo) "Building a fully expanded version of $(<F)"
$(Verb) $(LLVMTableGen) -o $(call SYSPATH, $@) $<

Expand Down
39 changes: 0 additions & 39 deletions autoconf/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -675,26 +675,6 @@ case "$enableval" in
*) AC_MSG_ERROR([Invalid setting for --enable-clang-static-analyzer. Use "yes" or "no"]) ;;
esac

dnl --enable-clang-rewriter: check whether to enable clang rewriter
AC_ARG_ENABLE(clang-rewriter,
AS_HELP_STRING([--enable-clang-rewriter],
[Enable building of clang rewriter (default is YES)]),,
enableval="yes")
case "$enableval" in
yes) AC_SUBST(ENABLE_CLANG_REWRITER,[1]) ;;
no)
if test ${clang_arcmt} != "no" ; then
AC_MSG_ERROR([Cannot enable clang ARC Migration Tool while disabling rewriter.])
fi
if test ${clang_static_analyzer} != "no" ; then
AC_MSG_ERROR([Cannot enable clang static analyzer while disabling rewriter.])
fi
AC_SUBST(ENABLE_CLANG_REWRITER,[0])
;;
default) AC_SUBST(ENABLE_CLANG_REWRITER,[1]);;
*) AC_MSG_ERROR([Invalid setting for --enable-clang-rewriter. Use "yes" or "no"]) ;;
esac

dnl --enable-optimized : check whether they want to do an optimized build:
AC_ARG_ENABLE(optimized, AS_HELP_STRING(
--enable-optimized,[Compile with optimizations enabled (default is NO)]),,enableval=$optimize)
Expand Down Expand Up @@ -1517,25 +1497,6 @@ if test "$LLVM_ENABLE_ZLIB" -eq 1 ; then
AC_CHECK_LIB(z, compress2)
fi

dnl Allow extra x86-disassembler library
AC_ARG_WITH(udis86,
AS_HELP_STRING([--with-udis86=<path>],
[Use udis86 external x86 disassembler library]),
[
AC_SUBST(USE_UDIS86, [1])
case "$withval" in
/usr/lib|yes) ;;
*) LDFLAGS="$LDFLAGS -L${withval}" ;;
esac
AC_CHECK_LIB(udis86, ud_init, [], [
echo "Error! You need to have libudis86 around."
exit -1
])
],
AC_SUBST(USE_UDIS86, [0]))
AC_DEFINE_UNQUOTED([USE_UDIS86],$USE_UDIS86,
[Define if use udis86 library])

dnl Allow OProfile support for JIT output.
AC_ARG_WITH(oprofile,
AS_HELP_STRING([--with-oprofile=<prefix>],
Expand Down
2 changes: 2 additions & 0 deletions bindings/ocaml/executionengine/llvm_executionengine.mli
Original file line number Diff line number Diff line change
Expand Up @@ -151,4 +151,6 @@ module ExecutionEngine: sig
val data_layout : t -> Llvm_target.DataLayout.t
end

(** [initialize_native_target ()] initializes the native target corresponding
to the host. Returns [true] if initialization is {b not} done. *)
val initialize_native_target : unit -> bool
60 changes: 31 additions & 29 deletions bindings/ocaml/llvm/llvm.mli
Original file line number Diff line number Diff line change
Expand Up @@ -157,38 +157,40 @@ end
See the [llvm::ICmpInst::Predicate] enumeration. *)
module Icmp : sig
type t =
| Eq
| Ne
| Ugt
| Uge
| Ult
| Ule
| Sgt
| Sge
| Slt
| Sle
| Eq (* Equal *)
| Ne (* Not equal *)
| Ugt (* Unsigned greater than *)
| Uge (* Unsigned greater or equal *)
| Ult (* Unsigned less than *)
| Ule (* Unsigned less or equal *)
| Sgt (* Signed greater than *)
| Sge (* Signed greater or equal *)
| Slt (* Signed less than *)
| Sle (* Signed less or equal *)
end

(** The predicate for a floating-point comparison ([fcmp]) instruction.
Ordered means that neither operand is a QNAN while unordered means
that either operand may be a QNAN.
See the [llvm::FCmpInst::Predicate] enumeration. *)
module Fcmp : sig
type t =
| False
| Oeq
| Ogt
| Oge
| Olt
| Ole
| One
| Ord
| Uno
| Ueq
| Ugt
| Uge
| Ult
| Ule
| Une
| True
| False (* Always false *)
| Oeq (* Ordered and equal *)
| Ogt (* Ordered and greater than *)
| Oge (* Ordered and greater or equal *)
| Olt (* Ordered and less than *)
| Ole (* Ordered and less or equal *)
| One (* Ordered and not equal *)
| Ord (* Ordered (no operand is NaN) *)
| Uno (* Unordered (one operand at least is NaN) *)
| Ueq (* Unordered and equal *)
| Ugt (* Unordered and greater than *)
| Uge (* Unordered and greater or equal *)
| Ult (* Unordered and less than *)
| Ule (* Unordered and less or equal *)
| Une (* Unordered and not equal *)
| True (* Always true *)
end

(** The opcodes for LLVM instructions and constant expressions. *)
Expand Down Expand Up @@ -1051,12 +1053,12 @@ val const_lshr : llvalue -> llvalue -> llvalue
See the method [llvm::ConstantExpr::getAShr]. *)
val const_ashr : llvalue -> llvalue -> llvalue

(** [const_gep pc indices] returns the constant [getElementPtr] of [p1] with the
(** [const_gep pc indices] returns the constant [getElementPtr] of [pc] with the
constant integers indices from the array [indices].
See the method [llvm::ConstantExpr::getGetElementPtr]. *)
val const_gep : llvalue -> llvalue array -> llvalue

(** [const_in_bounds_gep pc indices] returns the constant [getElementPtr] of [p1]
(** [const_in_bounds_gep pc indices] returns the constant [getElementPtr] of [pc]
with the constant integers indices from the array [indices].
See the method [llvm::ConstantExpr::getInBoundsGetElementPtr]. *)
val const_in_bounds_gep : llvalue -> llvalue array -> llvalue
Expand Down Expand Up @@ -2360,7 +2362,7 @@ val build_insertelement : llvalue -> llvalue -> llvalue -> string ->
val build_shufflevector : llvalue -> llvalue -> llvalue -> string ->
llbuilder -> llvalue

(** [build_insertvalue agg idx name b] creates a
(** [build_extractvalue agg idx name b] creates a
[%name = extractvalue %agg, %idx]
instruction at the position specified by the instruction builder [b].
See the method [llvm::LLVMBuilder::CreateExtractValue]. *)
Expand Down
2 changes: 1 addition & 1 deletion bindings/ocaml/llvm/llvm_ocaml.c
Original file line number Diff line number Diff line change
Expand Up @@ -695,7 +695,7 @@ CAMLprim value llvm_append_namedmd(LLVMModuleRef M, value Name, LLVMValueRef Val

/* lltype -> int -> llvalue */
CAMLprim LLVMValueRef llvm_const_int(LLVMTypeRef IntTy, value N) {
return LLVMConstInt(IntTy, (long long) Int_val(N), 1);
return LLVMConstInt(IntTy, (long long) Long_val(N), 1);
}

/* lltype -> Int64.t -> bool -> llvalue */
Expand Down
6 changes: 6 additions & 0 deletions bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,12 @@ CAMLprim value llvm_add_tail_call_elimination(LLVMPassManagerRef PM) {
return Val_unit;
}

/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
CAMLprim value llvm_add_merged_load_store_motion(LLVMPassManagerRef PM) {
LLVMAddMergedLoadStoreMotionPass(PM);
return Val_unit;
}

/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
CAMLprim value llvm_add_gvn(LLVMPassManagerRef PM) {
LLVMAddGVNPass(PM);
Expand Down
81 changes: 50 additions & 31 deletions cmake/modules/AddLLVM.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,13 @@ function(llvm_update_compile_flags name)
set(update_src_props ON)
endif()

if(LLVM_REQUIRES_EH)
set(LLVM_REQUIRES_RTTI ON)
# LLVM_REQUIRES_EH is an internal flag that individual
# targets can use to force EH
if(LLVM_REQUIRES_EH OR LLVM_ENABLE_EH)
if(NOT (LLVM_REQUIRES_RTTI OR LLVM_ENABLE_RTTI))
message(AUTHOR_WARNING "Exception handling requires RTTI. Enabling RTTI for ${name}")
set(LLVM_REQUIRES_RTTI ON)
endif()
else()
if(LLVM_COMPILER_IS_GCC_COMPATIBLE)
list(APPEND LLVM_COMPILE_FLAGS "-fno-exceptions")
Expand All @@ -19,7 +24,9 @@ function(llvm_update_compile_flags name)
endif()
endif()

if(NOT LLVM_REQUIRES_RTTI)
# LLVM_REQUIRES_RTTI is an internal flag that individual
# targets can use to force RTTI
if(NOT (LLVM_REQUIRES_RTTI OR LLVM_ENABLE_RTTI))
list(APPEND LLVM_COMPILE_DEFINITIONS GTEST_HAS_RTTI=0)
if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
list(APPEND LLVM_COMPILE_FLAGS "-fno-rtti")
Expand Down Expand Up @@ -150,19 +157,33 @@ endfunction(add_dead_strip)
# Note: Don't set variables CMAKE_*_OUTPUT_DIRECTORY any more,
# or a certain builder, for eaxample, msbuild.exe, would be confused.
function(set_output_directory target bindir libdir)
# Do nothing if *_OUTPUT_INTDIR is empty.
if("${bindir}" STREQUAL "")
return()
endif()

# moddir -- corresponding to LIBRARY_OUTPUT_DIRECTORY.
# It affects output of add_library(MODULE).
if(WIN32 OR CYGWIN)
# DLL platform
set(moddir ${bindir})
else()
set(moddir ${libdir})
endif()
if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
foreach(build_mode ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER "${build_mode}" CONFIG_SUFFIX)
string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} bi ${bindir})
string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} li ${libdir})
string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} mi ${moddir})
set_target_properties(${target} PROPERTIES "RUNTIME_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${bi})
set_target_properties(${target} PROPERTIES "ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${li})
set_target_properties(${target} PROPERTIES "LIBRARY_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${li})
set_target_properties(${target} PROPERTIES "LIBRARY_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${mi})
endforeach()
else()
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${bindir})
set_target_properties(${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${libdir})
set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${libdir})
set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${moddir})
endif()
endfunction()

Expand Down Expand Up @@ -205,7 +226,7 @@ function(llvm_add_library name)
if(ARG_SHARED OR ARG_STATIC)
message(WARNING "MODULE with SHARED|STATIC doesn't make sense.")
endif()
if(NOT LLVM_ON_UNIX OR CYGWIN)
if(NOT LLVM_ENABLE_PLUGINS)
message(STATUS "${name} ignored -- Loadable modules not supported on this platform.")
return()
endif()
Expand Down Expand Up @@ -319,6 +340,13 @@ function(llvm_add_library name)
${lib_deps}
${llvm_libs}
)
elseif((CYGWIN OR WIN32) AND ARG_SHARED)
# Win32's import library may be unaware of its dependent libs.
target_link_libraries(${name} PRIVATE
${ARG_LINK_LIBS}
${lib_deps}
${llvm_libs}
)
elseif(ARG_SHARED AND BUILD_SHARED_LIBS)
# FIXME: It may be PRIVATE since SO knows its dependent libs.
target_link_libraries(${name} PUBLIC
Expand Down Expand Up @@ -359,6 +387,7 @@ macro(add_llvm_library name)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO")
install(TARGETS ${name}
EXPORT LLVMExports
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
endif()
Expand All @@ -377,9 +406,15 @@ macro(add_llvm_loadable_module name)
set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON)
else()
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
if(WIN32 OR CYGWIN)
# DLL platform
set(dlldir "bin")
else()
set(dlldir "lib${LLVM_LIBDIR_SUFFIX}")
endif()
install(TARGETS ${name}
EXPORT LLVMExports
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
LIBRARY DESTINATION ${dlldir}
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
endif()
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
Expand Down Expand Up @@ -570,12 +605,6 @@ function(configure_lit_site_cfg input output)

set(SHLIBEXT "${LTDL_SHLIB_EXT}")

if(BUILD_SHARED_LIBS)
set(LLVM_SHARED_LIBS_ENABLED "1")
else()
set(LLVM_SHARED_LIBS_ENABLED "0")
endif(BUILD_SHARED_LIBS)

# Configuration-time: See Unit/lit.site.cfg.in
if (CMAKE_CFG_INTDIR STREQUAL ".")
set(LLVM_BUILD_MODE ".")
Expand All @@ -590,10 +619,16 @@ function(configure_lit_site_cfg input output)
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLVM_LIBS_DIR ${LLVM_LIBRARY_DIR})

# SHLIBDIR points the build tree.
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} SHLIBDIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} SHLIBDIR "${LLVM_SHLIB_OUTPUT_INTDIR}")

set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
set(ENABLE_SHARED ${LLVM_SHARED_LIBS_ENABLED})
# FIXME: "ENABLE_SHARED" doesn't make sense, since it is used just for
# plugins. We may rename it.
if(LLVM_ENABLE_PLUGINS)
set(ENABLE_SHARED "1")
else()
set(ENABLE_SHARED "0")
endif()

if(LLVM_ENABLE_ASSERTIONS AND NOT MSVC_IDE)
set(ENABLE_ASSERTIONS "1")
Expand All @@ -604,22 +639,6 @@ function(configure_lit_site_cfg input output)
set(HOST_OS ${CMAKE_SYSTEM_NAME})
set(HOST_ARCH ${CMAKE_SYSTEM_PROCESSOR})

if (CLANG_ENABLE_ARCMT)
set(ENABLE_CLANG_ARCMT "1")
else()
set(ENABLE_CLANG_ARCMT "0")
endif()
if (CLANG_ENABLE_REWRITER)
set(ENABLE_CLANG_REWRITER "1")
else()
set(ENABLE_CLANG_REWRITER "0")
endif()
if (CLANG_ENABLE_STATIC_ANALYZER)
set(ENABLE_CLANG_STATIC_ANALYZER "1")
else()
set(ENABLE_CLANG_STATIC_ANALYZER "0")
endif()

configure_file(${input} ${output} @ONLY)
endfunction()

Expand Down
Loading