Squashed 'llvm/' changes from 43b471c..cc4b123

cc4b123 [SKX] avx512_icmp_packed multiclass extension Extended avx512_icmp_packed multiclass by masking versions. Added avx512_icmp_packed_rmb multiclass for embedded broadcast versions. Added corresponding _vl multiclasses. Added encoding tests for CPCMP{EQ|GT}* instructions. Add more fields for X86VectorVTInfo. Added AVX512VLVectorVTInfo that include X86VectorVTInfo for 512/256/128-bit versions
f2a082a MergeFunctions, tiny refactoring: cmpAPFloat has been renamed to cmpAPFloats (multiple form).
4112da5 MergeFunctions, tiny refactoring: cmpAPInt has been renamed to cmpAPInts (multiple form).
993a3f8 MergeFunctions, tiny refactoring: cmpType has been renamed to cmpTypes (multiple form).
c676425 MergeFunctions, tiny refactoring: cmpGEP has been renamed to cmpGEPs (multiple form).
e637d65 Allow vectorization of division by uniform power of 2.
9fdcfdd CodeGen/LiveVariables: hoist out code in nested loops
20d7da5 CodeGen/LiveVariables: switch to std::vector
2c6a26d AArch64: unique_ptr-ify map structures
7fb86b0 AArch64: use std::vector for temp array
f0d9f33 NVPTX: remove another raw delete call
0280c4c NVPTX: remove raw delete call
1e321bb ExecutionEngine: unique_ptr-ify
444aa2d EE/JIT: unique_ptr-ify
0acfd7f Support/Path: remove raw delete
0901b15 Support/APFloat: unique_ptr-ify temp arrays
97dc647 Analysis: unique_ptr-ify DependenceAnalysis::collectCoeffInfo
fe2cc2d Analysis: unique_ptr-ify DependenceAnalysis::depends
75129f6 Analysis: take a reference instead of pointer
c97e8d8 CodeGen: switch raw array to std::vector
c11cb69 IR: remove dead code
273fd11 Use range based for loops to avoid needing to re-mention SmallPtrSet size.
7bd541a TableGen: unique_ptr-ify RecordKeeper
d52b1d0 TableGen: delete no-op code
025ab7f TableGen: use auto and for-range
5cb5e7e This code is from r216285, which did not go out to the mailing list for some reason.
519ec3a X86 intrinsics table - simplifies intrinsics lowering. The tables are initialized when X86TargetLowering object is created.
401ca95 Silence gcc -Wpedantic.
5cbd5a1 InstCombine: Properly optimize or'ing bittests together
7ca2a7d [PowerPC] Add support for dcbtst and icbt (prefetch)
389f130 Support: add llvm::unique_lock
d930a30 Support: make LLVM Mutexes STL-compatible
7e3e431 Support/Unix: use ScopedLock wherever possible
a2a6fa2 cmake: actually test -Wcomment
136fd4c cmake: disable -Wnon-virtual-dtor when it gives false positives
8eb867e Revert "ARM: improve RTABI 4.2 conformance on Linux"
f5aa254 Revert "ARM: mark missing functions from RTABI"
bfed08e [x86] Start fixing a really subtle and terrible form of miscompile in these DAG combines.
21f3756 ProgrammersManual: the flag is called -debug-only
e62541e llvm-cov: test: add xfail for the big-endian buildbots
f591b9c Revert r215611 because it caused the infinite loop in bug 20736. There is a reduced testcase in that bug.
9fe9272 Add a test case for SROA where the store size is bigger than slice size. The test case was fixed in r216248.
03d2823 Add support for comdats to the gold plugin.
6c7a6a1 llvm-cov: add code coverage tool that's based on coverage mapping format and clang's pgo.
8be5600 [SROA] Fold a PHI node if all its incoming values are the same
d89c0ab ARM / x86_64 varargs: Don't save regparms in prologue without va_start
e5e847a Clear the llvm release notes to make room for 3.6.
d9757b4 Add the start of the support for llvm-objdump’s -private-headers for Mach-O files.
bf9d5df Add a few missing mach header flags.
2e1bf78 Fix PR17239 by changing the semantics of the RemainingArgsClass Option kind
f50f927 R600/SI: Use READ2/WRITE2 instructions for 64-bit mem ops with 32-bit alignment
ec4cb33 R600/SI: Use a ComplexPattern for DS loads and stores
8054465 R600/SI: Wrap local memory pointer in AssertZExt on SI
9048dc6 R600/SI: Use correct helper class for DS_WRITE2 instructions
c3f2ad0 [ARM] Move the implementation of the target hooks related to copy-related instruction from ARMInstrInfo to ARMBaseInstrInfo. That way, thumb mode can also benefit from the advanced copy optimization.
5939f08 InstCombine: Don't unconditionally preserve 'nuw' when shrinking constants
0e4fc41 InstCombine: sub nsw %x, C -> add nsw %x, -C if C isn't INT_MIN
4ef54c3 [Support] Fix the overflow bug in ULEB128 decoding.
cc59c3f [mips] Don't use odd-numbered float registers for double arguments for fastcc calling convention if FP is 64-bit and +nooddspreg is used.
c86bdc7 InstCombine: Don't unconditionally preserve 'nsw' when shrinking constants
6ca2d8b fix: SLPVectorizer crashes for unreachable blocks containing not schedulable instructions.
f537702 [dfsan] Fix non-determinism bug in non-zero label check annotator.
54056f1 ValueTracking: Figure out more bits when looking at add/sub
2c0e02e SROA: Handle a case of store size being smaller than allocation size
5e83e81 Revert "X86: Align the stack on word boundaries in LowerFormalArguments()"
a79efd7 Add an explicit move constructor to SrcBuffer
5e34dff [FastISel][AArch64] Add support for variable shift.
daebbe2 Minor refactor to make applying patches from 'Add a "probe-stack" attribute' review thread out of order easier.
c7260209 Use DILexicalBlockFile, rather than DILexicalBlock, to track discriminator changes to ensure discriminator changes don't introduce new DWARF DW_TAG_lexical_blocks.
d1a09c4 name change: isPow2DivCheap -> isPow2SDivCheap
bd66db2 [PeepholeOptimizer] Enable the advanced copy optimization by default.
9bdd5df Whitespace change to reduce diff in future patch.
ecad452 [X86] Split out the logic to select the stack probe function (NFC)
a204592 Add hooks for emitLeading/TrailingFence
cf165c3 Rename AtomicExpandLoadLinked into AtomicExpand
4921d1a [PeepholeOptimizer] Update the kill flags when extending the live-range of the source of a copy.
6d2164e Fix a URL (NFC)
5d6365c [FastISel][AArch64] Use the correct register class to make the MI verifier happy.
95ca0fb Explicitly pass ownership of the MemoryBuffer to AddNewSourceBuffer using std::unique_ptr
fdbf61d R600/SI: Teach moveToVALU how to handle more S_LOAD_* instructions
5f52739 R600/SI: Make sure SCRATCH_WAVE_OFFSET is added as Live-In to the function
7af96a2 R600/SI: Remove unused SGPR spilling code
9b60cb1 R600/SI: Use eliminateFrameIndex() to expand SGPR spill pseudos
a07c077 R600/SI: Handle VCC in SIRegisterInfo::getPhysRegSubReg()
3fd7e37 Rewrite the gold plugin to fix pr19901.
96c909c Satiate the sanitizer build bot
7b4eb02 Move some logic to populateLTOPassManager.
9db660e [AVX512] Add class to group common template arguments related to vector type
93695d2 Coverage Mapping: add function's hash to coverage function records.
9ca2a9a llvm-gcc is dead.
29863d8 [LIT] Remove documentation for  method since it does not exist
4658ea9 Respect LibraryInfo in populateLTOPassManager and use it. NFC.
8d1b742 Remove dead code. NFC.
ad3c628 [AArch64] Run a peephole pass right after AdvSIMD pass. The AdvSIMD pass may produce copies that are not coalescer-friendly. The peephole optimizer knows how to fix that as demonstrated in the test case.
60aadd5 [FastISel][AArch64] Factor out ANDWri instruction generation into a helper function. NFCI.
a6afad8 Thumb1 load/store optimizer: Improve code to materialize new base register.
eeb828f Use returns_nonnull in BumpPtrAllocator and MallocAllocator to avoid null-check in placement new
69ec09b [FastISel][AArch64] Remove redundant test.
4c3be1a Add a thread-model knob for lowering atomics on baremetal & single threaded systems
0b994a7 Handle inlining in populateLTOPassManager like in populateModulePassManager.
63f5912 [CLNUP] Remove return after llvm_unreachable. Thanks to Hal Finkel for pointing.
daada81 DAGCombiner: Make concat_vector combine safe for EVTs and concat_vectors with many arguments.
47199c3 Move DisableGVNLoadPRE from populateLTOPassManager to PassManagerBuilder.
f19807d X86AsmPrinter MCJIT MSVC bug fix.
760a465 [ARM] Enable DP copy, load and store instructions for FPv4-SP
fc4bdcd Sort declarations.
67e5178 Make format_object_base's destructor protected and non-virtual.
0edc5e8 Reassociate x + -0.1234 * y into x - 0.1234 * y
f11ac42 X86: Turn redundant if into an assertion.
fec1aba [x86] Added _addcarry_ and _subborrow_ intrinsics
375a68c [x86] SMAP: added HasSMAP attribute for CLAC/STAC, corrected attributes
10dacc4 [x86] Broadwell: ADOX/ADCX. Added _addcarryx_u{32|64} intrinsics to LLVM.
3a34f5e [x86] Enable Broadwell target. Added FeatureSMAP.
164cd01 [INDVARS] Extend using of widening of induction variables for the cases of "sub nsw" and "mul nsw" instructions.
6623af7 IntelJITEventListener updates to fix breaks by recent changes to EngineBuilder and DIContext. By Arch Robison.
431bdfc Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size.
e234f93 InstCombine: Fold ((A | B) & C1) ^ (B & C2) -> (A & C1) ^ B if C1^C2=-1
e88b796 Remove custom implementations of max/min in StringRef that was originally added to work an old gcc bug. I believe its been fixed by now.
e996e5e add self to credits
82f1a8c Fix a bug around truncating vector in const prop.
150cef2 Revert r216066, "Optimize ZERO_EXTEND and SIGN_EXTEND in both SelectionDAG Builder and type".
e817bdd [PeepholeOptimizer] Take advantage of the isInsertSubreg property in the advanced copy optimization.
7599acc [ARM] Mark VSETLNi32 with the InsertSubreg property and implement the related target hook.
824431f [LoopVectorize] Up the maximum unroll factor to 4 for AArch64
bb819ed [LoopVectorizer] Limit unroll factor in the presence of nested reductions.
0d15213 Add isInsertSubreg property.
506ed4d Lower thumbv4t & thumbv5 lo->lo copies through a push-pop sequence
400bc21 Mention the right target hook in the comment on isExtractSubreg property.
8ccce6b [PeepholeOptimizer] Take advantage of the isExtractSubreg property in the advanced copy optimization.
ee1b45f New InstCombine pattern: (icmp ult/ule (A + C1), C3) | (icmp ult/ule (A + C2), C3)  to (icmp ult/ule ((A & ~(C1 ^ C2)) + max(C1, C2)), C3) under certain condition
9ec471a Don't allow MCStreamer::EmitIntValue to output 0-byte integers. It makes no sense and can hide bugs. In particular, it lead to left shift by 64 bits, which is an undefined behavior, properly reported by UBSan.
d28e4c1 [ARM] Mark VMOVRRD with the ExtractSubreg property and implement the related target hook.
d1e3fcf Fix undefined behavior (left shift of negative value) in SystemZ backend.
dac6764 Add isExtractSubreg property.
fa210ac Fix null reference creation in SelectionDAG constructor.
145d28e Fix undefined behavior (left shift of negative value) in Hexagon backend.
a046b41 Cleanup: Delete seemingly unused reference to MachineDominatorTree from ScheduleDAGInstrs.
89305e5 Don't prevent a vselect of constants from becoming a single load (PR20648).
4641d5d X86: Add missing triples from r216119
5012f1d X86: Align the stack on word boundaries in LowerFormalArguments()
ada5f2a Fix null reference creation in ScheduleDAGInstrs constructor call.
4b1cddb Do not insert a tail call when returning multiple values on X86
2423203 Fix undefined behavior (left shift by 64 bits) in ScaledNumber::toString().
3deb3e3 critical-anti-dependency breaker: don't use reg def info from kill insts (PR20308)
dcd3cbe [PeepholeOptimizer] Refactor the advanced copy optimization to take advantage of the isRegSequence property.
e18eb61 Tweak CFGPrinter to wrap very long names.
1506856 Remove unused field.
5273295 [FastISel][AArch64] Don't fold the sign-/zero-extend from i1 into the compare.
4b67b5a Quick fix for an use after free.
0ea6d44 Add note to LangRef about how function arguments can be unnamed and how this affects the numbering of unnamed temporaries.
a2bec69 Silencing a -Wcast-qual warning. NFC.
0e9c68e Silencing an MSVC C4334 warning ('<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)). NFC.
e04455d Optimize ZERO_EXTEND and SIGN_EXTEND in both SelectionDAG Builder and type legalization stage. With those two optimizations, fewer signed/zero extension instructions can be inserted, and then we can expose more opportunities to Machine CSE pass in back-end.
aadaac2 [x32] Fix FrameIndex check in SelectLEA64_32Addr
40f9d11 ARM: Fix codegen for rbit intrinsic
7130b22 Update projects lists.
bca58d8 Add libcxxabi to the projects.
99e941f InstCombine: Annotate sub with nuw when we prove it's safe
78832c6 Fix an off by 1 bug that prevented SmallPtrSet from using all of its 'small' capacity. Then fix the early return in the move constructor that prevented 'small' moves from clearing the NumElements in the moved from object. The directed test missed this because it was always testing large moves due to the off by 1 bug.
ae8d297 Constants.h: Fix possible typo in r216015. [-Wdocumentation]
b3b125a [dfsan] Treat vararg custom functions like unimplemented functions.
3ef392c [FastISel][AArch64] Use the proper FMOV instruction to materialize a +0.0.
e0134d95 InstCombine: Annotate sub with nsw when we prove it's safe
06de8a1 BumpPtrAllocator: don't accept 0 for the alignment parameter
ae9a796 [FastISel][AArch64] Factor out ADDS/SUBS instruction emission and add support for extensions and shift folding.
b12ab60 Split parseAssembly into parseAssembly and parseAssemblyInto.
97eadf2 Delete unused argument in AArch64MCInstLower constructor: it doesn't use Mangler, and Mangler is in fact not even created when AArch64MCInstLower is constructed.
5a466d3 LangRef: Move example of function-scope uselistorder to a function
7838818 IR: Implement uselistorder assembly directives
722885f [MCJIT] Add an i386 RuntimeDyldMachO test case.
8db4ddb IR: Fix a missed case when threading OnlyIfReduced through ConstantExpr
13f5c58 verify-uselistorder: Force -preserve-bc-use-list-order
1d58f98 [FastISel][AArch64] Extend floating-point materialization test.
6825609 fix the gcc build
3414e45 [MCJIT] Allow '$' characters in symbol names in RuntimeDyldChecker.
b03916a IR: Fix ConstantExpr::replaceUsesOfWithOnConstant()
e221557 IR: Thread OnlyIfReduced through ConstantExpr::getWithOperands()
a96d94a Fix the MSVC build.
06bb1ca Reapply [FastISel][AArch64] Add support for more addressing modes (r215597).
96b1e70 Reapply [FastISel][X86] Add large code model support for materializing floating-point constants (r215595).
9c23685 Reapply [FastISel][X86] Use XOR to materialize the "0" value (r215594).
e8757c5 Reapply [FastISel][X86] Emit more efficient instructions for integer constant materialization (r215593).
78f686d Reapply [FastISel][AArch64] Make use of the zero register when possible (r215591).
7d84c8e ADT: Unit test for ArrayRef::equals change in r215986
bb69ce8 IR: De-duplicate code for replacing operands in place
f08cddc Reapply [FastISel] Let the target decide first if it wants to materialize a constant (215588).
f2b844d Fix a pair of use after free. Should bring the bots back.
548f2b6 Don't own the buffer in object::Binary.
2ac376b Hide two different AlignMode enums in anonymous namespaces. This bug is reported by UBSan.
8308f0e Revert "Small refactor on VectorizerHint for deduplication"
8841fb5 [FastISel][AArch64] Fix a few BuildMI callsites where the result register was added as an operand register.
dca1265 Small refactor on VectorizerHint for deduplication
e3cea5f Docs: add documentation for the coverage mapping format.
9b29ff9 Modernize the .ll parsing interface.
2788345 CodingStandards: Document std::equal misbehaviour
7116af6 Reapply r215966, r215965, r215964, r215963, r215960, r215959, r215958, and r215957
8c20a93 ADT: Avoid using std::equal in ArrayRef::equals
93710f0 Reverting r215966, r215965, r215964, r215963, r215960, r215959, r215958, and r215957 (these commits all rely on previous commits) due to build breakage. These commits cause failed assertions when testing Clang using MSVC 2013. The asserts are triggered from the std::equal call within ArrayRef::equals due to being passed invalid input (ArrayRef.begin() is returning a nullptr which is problematic).
109447f [mips] Add assembler support for .set arch=x directive.
ecdb0ab InstCombine:  ((A & ~B) ^ (~A & B)) to A ^ B
7ce4ac1 Const-correct and prevent a copy of a SmallPtrSet.
25fc910 Prevent use of the implicit copy constructor on SmallPtrSetImpl. An accidental copy caused my SmallPtrSet->SmallPtrSetImpl conversion commit to fail the other day.
be63d58 test commit (spelling correction)
3f4ed32 Make it explicit that ExecutionEngine takes ownership of the modules.
4d48c3f IR: Reduce RAUW traffic in ConstantVector
3b666f3 IR: Fix ConstantArray::replaceUsesOfWithOnConstant()
6238162 IR: Factor out replaceUsesOfWithOnConstantImpl(), NFC
45d53fd IR: Split up Constant{Array,Vector}::get(), NFC
6290308 [X86, X87 stackifier] Do not mark an operand of a debug instruction as kill.
1cfbb63 IR: Reduce RAUW traffic in ConstantExpr
fe0bf8f IR: Replace uses of ConstantAggrUniqueMap with ConstantUniqueMap
f2534dd Remove extraneous typenames from r215957
78c0b35 IR: Rewrite ConstantUniqueMap
79f9f85 IR: Declare LookupKey right before its use, NFC
fd0a813 IR: ArrayRef-ize {Insert,Extract}ValueConstantExpr constructors
783d16f Prevent clang-format from moving the namespace closing brace, NFC
6b86325 NVPTX: Use RAUW instead of reinventing the wheel
1658978 LLParser: Handle BlockAddresses on-the-fly
36c1508 verify-uselistorder: Call verifyModule() and improve output
f359f7e Use a range loop. NFC.
0282239 These classes only need a StringRef, not a MemoryBuffer.
2851337 Delete unused method.
0acd421 Answer to Philip Reames comments
6c0e1e0 Weak relaxing of the constraints on atomics in MemoryDependencyAnalysis
08f77a9 [MCJIT] Respect target endianness in RuntimeDyldMachO and RuntimeDyldChecker.
f759032 Make llvm-objdump handle both arm and thumb disassembly from the same Mach-O file with -macho, the Mach-O specific object file parser option.
0526d16 [X86][Haswell][SchedModel] Tidy up.
48e3a27 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point XMM and YMM instructions. Sub-group: Other instructions.
7af88ec [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point XMM and YMM instructions. Sub-group: Logic instructions.
487ecab [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point XMM and YMM instructions. Sub-group: Math instructions.
3d6a30e [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point XMM and YMM instructions. Sub-group: Arithmetic instructions.
25529b3 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point XMM and YMM instructions. Sub-group: Conversion instructions.
540b4f6 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point XMM and YMM instructions. Sub-group: Move instructions.
7bdfd1b [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer MMX and XMM instructions. Sub-group: Other instructions.
0c5071f [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer MMX and XMM instructions. Sub-group: Logic instructions.
1cb132f [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer MMX and XMM instructions. Sub-group: Arithmetic instructions.
84cab94 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer MMX and XMM instructions. Sub-group: Move instructions.
f8da7e5 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point x87 instructions. Sub-group: Math instructions.
435fa2b [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point x87 instructions. Sub-group: Arithmetic instructions.
a49b463 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Floating Point x87 instructions. Sub-group: Move instructions.
d2ea316 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer instructions. Sub-group: Other instructions.
184c0f8 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer instructions. Sub-group: Synchronization instructions.
2a2fcc1 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer instructions. Sub-group: String instructions.
0cccab7 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer instructions. Sub-group: Control transfer instructions.
29b31c6 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer instructions. Sub-group: Logic instructions.
3f17d37 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer instructions. Sub-group: Arithmetic instructions.
94ce368 [X86][Haswell][SchedModel] Add architecture specific scheduling models. Group: Integer instructions. Sub-group: Move instructions.
af2fa71 Make use of isAtLeastRelease/Acquire in the ARM/AArch64 backends
71493b7 Disabling an MSVC warning ('var' : definition from the for loop is ignored; the definition from the enclosing scope is used) which will trigger false positives more than true positives.
eb92210 Teach the AArch64 backend to handle f16
802d420 [ARM,AArch64] Do not tail-call to an externally-defined function with weak linkage
9735ccb AVX-512: Fixed a bug in emitting compare for MVT:i1 type. Added a test.
9f92467 Silencing an MSVC warning about loop variable conflicting with a variable from an outer scope. NFC.
049ffbb TableGen: allow use of uint64_t for available features mask.
56c15de Added forgotten noexcept.
db77b82 Revert "Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size."
f06c707 Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size.
6de46b5 Use copy initialization to initialize std::unique_ptr.
4570cfa ARM: mark missing functions from RTABI
f15492f ARM: improve RTABI 4.2 conformance on Linux
c5b4130 ARM: whitespace
9f52e1d Remove unused member variable.
2b861c3 Return a std::uinque_ptr. Every caller was already using one.
b5a6adc Convert an ownership comment with std::uinque_ptr.
822199b Pass a std::uinque_ptr to ParseAssembly to make the ownership explicit. NFC.
283c82a getLazyIRModule always takes ownership. Make that explicit.
40ef179 Return a std::unique_ptr to make the ownership explicit.
9ea1ec3 Don't repeat the function name in comments. NFC.
21a2b5f Don't repeat names in comments. NFC.
5535fca Revert: r215698 - Current implementation of c.cond.fmt instructions only accept default cc0 register...
70d641f ARM: correct toggling behaviour
78e8d52 llvm-objdump: don't print relocations in non-relocatable files.
fad339d Remove a redundant "public:". NFC.
61760ce BumpPtrAllocator: remove 'no slabs allocated yet' check
db7cdc8 Add a non-templated ELFObjectFileBase class.
4c511cd Fix an off-by-one bug in the target independent llvm-objdump.
36d685d Reverted last commit
8b88009 Reverted last commit
a73ac1f Added a table for intrinsics on X86. It should remove dosens of lines in handling instrinsics (in a huge switch) and give an easy way to add new intrinsics. I did not completed to move al intrnsics to the table, I'll do this in the upcomming commits.
7a0201c Remove an InstCombine that transformed patterns like (x * uitofp i1 y) to (select y, x, 0.0) when the multiply has fast math flags set. While this might seem like an obvious canonicalization, there is one subtle problem with it.  The result of the original expression is undef when x is NaN (remember, fast math flags), but the result of the select is always defined when x is NaN.  This means that the new expression is strictly more defined than the original one.  One unfortunate consequence of this is that the transform is not reversible! It's always legal to make increase the defined-ness of an expression, but it's not legal to reduce it.  Thus, targets that prefer the original form of the expression cannot reverse the transform to recover it.  Another way to think of it is that the transform has lost source-level information (the fast math flags), which is undesirable.
48c67ed [x86] Fix an indentation goof in a prior commit. Should have re-run clang-format.
120b4c6 [shuffle] Teach the shufflevector fuzzer to support fixed element types.
0ac5626 llvm/test/CodeGen/X86/fmul-combines.ll: Appease Windows x64. <4 x float> is passed by stack.
5f8a9ae Fix fmul combines with constant splat vectors
a3805f1 [x86] Teach lots of the new vector shuffle lowering to use UNPCK instructions for blend operations at 128 bits. This was a serious hole in our prior blend lowering.
3bbb4b1 InstCombine: Fix a potential bug in 0 - (X sdiv C)  -> (X sdiv -C)
cb698b2 InstCombine: Combine mul with div.
f1aba61 arm asm: Let .fpu enable instructions, PR20447.
e1167f1 [LIT] Move display of unsupported and xfail tests to summary.
1d8c9d9 BitcodeReader: Only create one basic block for each blockaddress
1e97329 UseListOrder: Correctly count the number of uses
7a5cb43 IR: Don't add inbounds to GEPs of extern_weak variables
89cea3c [DAGCombiner] Improve the folding of target independet shuffles to Undef.
5dc48ac [PowerPC] Mark fixed-offset byvals as pointed-to by IR values
227df4b Make isAliased property for fixed-offset stack objects adjustable
bdd8b6b [PowerPC] Darwin byval arguments are not immutable
855d602 Revert "[Support] Promote cl::StringSaver to a separate utility"
f0d509a Get rid of dead code: SelectAtomic64 in X86ISelDAGtoDAG.cpp
3f8a26f [Support] Promote cl::StringSaver to a separate utility
f11a5fc Add two helper functions: isAtLeastAcquire, isAtLeastRelease
c51ec91 Fix typos in comments
cc921d6 [AArch32] Add support for FP rounding operations for ARMv8/AArch32. Phabricator Revision: http://reviews.llvm.org/D4935
4a8a0f2 [Option] Support MultiArg in --help
0549fc2 Set comdats when lazily linking functions.
9ad3f9b [FastISel][AArch64] Fix a latent bug in floating-point materialization.
db9a5cb Reapplying [FastISel][AArch64] Cleanup constant materialization code. NFCI.
c86e55e R600/SI: Move all fabs / fneg handling to patterns
0498d07 R600/SI: Use source modifiers for f64 fneg
c882fc7 R600/SI: Use source modifier for f64 fabs
b5cb5e2 R600/SI: Refactor fneg / fabs patterns
2726e7d Fix the build with MSVC 2013 after new shuffle code
34ef4cd R600/SI: Fix offset folding in some cases with shifted pointers.
92ee945 [x86] Teach the new AVX v4f64 shuffle lowering to use UNPCK instructions where applicable for blending.
f92cdd6 [FastISel] Remove an performance debugging assert.
5bc44c7 R600/SI: Add intrinsic for ldexp
e2bb4f9 [FastISel][ARM] Fix unit test from r215682.
ed76ca7 R600/SI: Implement isLegalAddressingMode
d84561b ARM: Fix and re-enable load/store optimizer for Thumb1.
713d9cb ARM load/store optimizer: Compute BaseKill correctly.
7b0f4a8 [FastISel][ARM] Fix a think-o in my previous commit (r215682).
d37ec47 Introduce a helper to combine instruction metadata.
f36437d Make EmitAbsValue an static helper.
607e03b Delete dead code. NFC.
4d15a24 Make EmitDwarfSetLineAddr an static helper. NFC.
305a51f Make BuildSymbolDiff an static helper.
cef3ad6 [AArch64] Narrow arguments passed in wrong position on the stack in big-endian mode.
abe3774 Make ForceExpAbs an static helper.
216fdfe Add a helper to MCExpr for when an expression is know to be absolute.
a348fc7 Remove HasLEB128.
44beebe [PPC64] Add test case for r215685.
5a649ba PPC: Clean up pointer casting, no functionality change.
12e69a0 [x86] Add the initial skeleton of type-based dispatch for AVX vectors in the new shuffle lowering and an implementation for v4 shuffles.
d996c5b [x86] Teach the instruction printer to decode immediate operands to BLENDPS, BLENDPD, and PBLENDW instructions into pretty shuffle comments.
f52efce ARM: implement MRS/MSR (banked reg) system instructions.
69d0bd6 Remove testcase from README which we didn't get. We do get it now.
30bb8f6 Current implementation of c.cond.fmt instructions only accept default cc0 register. This patch enables the instruction to accept other fcc registers. The aliases with default fcc0 registers are also defined.
437928b [x86] Remove the duplicated code for testing whether we can widen the elements of a shuffle mask and simplify how it works. No functionality changed now that the bug that was here has been fixed.
407460e [LIT]Correct name of global lit configuration object to be lit_config (not lit).
886f010 [x86] Fix the very broken formation of vpunpck instructions in the target-specific shuffl DAG combines.
906ae95 Don't print comments to an object streamer :-)
746b906 EmitAbsValue is the same as EmitValue on non-darwin. NFC.
477f28c [x86] Fix PR20540 where the x86 shuffle DAG combiner had completely broken logic for merging shuffle masks in the face of SM_SentinelZero mask operands.
feb45e3 [PPC64] Add missing dependency on X2 to LDinto_toc.
266ecac [FastISel][ARM] Fall-back to constant pool loads when materializing an i32 constant.
e1e7862 Copy noalias metadata from call sites to inlined instructions
6398a7f Revert several FastISel commits to track down a buildbot error.
3f8f30f Fix whitespace error from r215279, NFC
41c5e68 [AVX512] Add test for FMA masking instrinsics
90eb948 [AVX512] Switch FMA intrinsics to the masking version
b27f7ac [X86] Break out logic to map FMA Intrinsic number to Opcode
e9565b2 [AVX512] Add enum for the static rounding types
6360552 [AVX512] Break out the logic to lower masking intrinsics
265d201 [AVX512] Add masking variant for the FMA instructions
14bc045 Revert "[FastISel][AArch64] Add support for more addressing modes."
b1b9953 Add noalias metadata for general calls (not just memory intrinsics) during inlining
d8b0f99 Testing commit access.
3b41039 [Reassociation] Add support for reassociation with unsafe algebra.
9615d70 optimize vector fneg of bitcasted integer value
1c9cace Delete support for AuroraUX.
1ab70ef Silencing some -Wcast-qual warnings and removing some C-style casts at the same time. NFC.
f6964a7 Silencing an MSVC C4334 warning ('<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)). NFC.
0b2081a [mips] Improve robustness of some tests.
cad1711 [x86] Begin stubbing out the AVX support in the new vector shuffle lowering scheme.
cdcacd7 [mips][microMIPS] MicroMIPS Compact Branch Instructions BEQZC and BNEZC Differential Revision: http://reviews.llvm.org/D3545
43d6849 Make message about building sphinx documentation with CMake more informative by stating where the output is going.
550abf8 Add SPHINX_WARNINGS_AS_ERRORS CMake option to allow warnings to not be treated as errors (which is still the default). This is useful when working on documentation that has existing errors.
cb43f81 [mips] Add assembler support for the "la $reg,symbol" pseudo-instruction.
74ad595 [mips] Rename [gs]etCanHaveModuleDir to more natural names
369e0ef [SDAG] Fix a bug in the DAG combiner where we would fail to return the input node after manually adding it to the worklist and using CombineTo.
eb323b2 InstCombine: ((A | ~B) ^ (~A | B)) to A ^ B
8c651f5 AArch64: Silence warning in AArch64FastISel
923556f Added InstCombine Transform for ((B | C) & A) | B -> B | (A & C)
0086358 MC: AsmLexer: handle multi-character CommentStrings correctly
e8d6e37 [MCJIT] Support DisableSymbolSearching and InstallLazyFunctionCreator in MCJIT.
14ee003 [SDAG] Fix a case where we would iteratively legalize a node during combining by replacing it with something else but not re-process the node afterward to remove it.
53f3421 Remove llvm_headers_do_not_build for the benefit of XCode and Visual Studio users.
b2b79cd [X86] Fix the value of the low mask for the lowering of MUL_LOHI for v4i32. Found by code inspection.
d0ddfb0 [AArch64, fast-isel] Fall back to SelectionDAG to select tail calls.
8c9a031 [FastISel][AArch64] Add support for more addressing modes.
b677a87 [FastISel][X86] Add large code model support for materializing floating-point constants.
0701e5d [FastISel][X86] Use XOR to materialize the "0" value.
f245d9a [FastISel][X86] Emit more efficient instructions for integer constant materialization.
dc408e8 [FastISel][AArch64] Make use of the zero register when possible.
eb1c51f [FastISel] Let the target decide first if it wants to materialize a constant.
2205044 [MachineCombiner] Removal of dangling DBG_VALUES after combining [20598]
a0c81f0 [FastISel][X86] Refactor constant materialization. NFCI.
0474237 [FastISel][ARM] Use MOVT/MOVW if the subtarget requests it.
c76c3fe [FastISel][ARM] Fix a bug in the integer materialization code.
eac0bae [FastISel][AArch64] Cleanup constant materialization code. NFCI.
4e917a2 [Cleanup] Utility function to erase instruction and mark DBG_Values
4912863 [MachineDominatorTree] Provide a method to inform a MachineDominatorTree that a critical edge has been split. The MachineDominatorTree will when lazy update the underlying dominance properties when require.
4551342 Fix (re-)creation of unittest lit.site.cfg for clang-tools-extra.
d3fa093 utils: Fix segfault in flattencfg
f7a325b Initialize FlattenCFG pass
c73a086 Simplify memory ownership with std::unique_ptr.
d6448b2 Simplify ownership with std::unique_ptr. NFC.
bd949ee R600: Correctly set the src value offset for scalarized kernel args
00e08fc Canonicalize header guards into a common format.
f58eecf Test commit, remove trailing whitespace
05a76eb [DAGCombiner] Improved target independent vector shuffle combine rule.
48017d1 [mips] Refactor calls to setCanHaveModuleDir.
adc58a6 [shuffle] Stand back! I'm about to (try to) do math!
3c02eb1 Asserting that the call to chdir succeeds in this test. Fixes some -Wunused-result warnings.
701073e [optnone] Make the optnone attribute effective at suppressing function attribute and function argument attribute synthesizing and propagating.
8b77c00 Silence a -Wparenthesis warning with these asserts. NFC.
2322024 [SKX] Extended non-temporal load/store instructions for AVX512VL subsets.
5d16d6c Re-commit: [mips] Implement .ent, .end, .frame, .mask and .fmask.
ba20fb1 [shuffle] Make the seed an optional component and add support for letting the python very directly compute a UUID.
5e5aa94 Revert r215415 which causse MSan to crash on a great deal of C++ code. I've followed up on the original commit as well.
9188011 [shuffle] Teach the shuffle fuzzer to fuzz blends, including forming a tree of inputs to blend iteratively together.
4c97c14 AVX-512: Fixed a bug in shufflevector lowering. PALIGNR instruction does not exist in AVX-512F set. Added a test.
7ef167a InstCombine: Combine (xor (or %a, %b) (xor %a, %b)) to (add %a, %b)
59ee88d [NVPTX] Remove MemIntrinsicSDNode/MemSDNode duplicate checking
12a0c0b Fix examples of "named metadata" (some of which isn't named).
08cfa8c [shuffle] Tweak the shuffle fuzzer to support bigger seeds. I'm currently using UUIDs to seed this in order to scan a bigger range.
6bb093b [x86] Rewrite a core part of the new vector shuffle lowering to handle one pesky test case correctly.
e693d3c [PowerPC] Implement PPCTargetLowering::getTgtMemIntrinsic
695e914 Fix classof for ISD::INTRINSIC_W_CHAIN and INTRINSIC_VOID
4c9467e [AVX512] Verify the code generated for the intrinsic _mm512_broadcastsd_pd
8ebea01 Fix -Wsign-compare warnings
151f8ce APInt: Make self-move-assignment a no-op to fix stage3 clang-cl
ee8b879 Remove a condition that can never be true, as wittnessed by the assert above.
6ea7f36 [AVX512] Handle valign masking intrinsic via C++ lowering
00139e5 Allwo bitcast + struct GEP transform to work with addrspacecast
3c57820 R600: Use optimized 24bit path in udivrem
1001344 R600: Remove unused code.
b40562c R600: Use i24 optimized path for SREM
693defb Fix a parentheses warning introduced in r215394.
49135bb Don't upgrade global constructors when reading bitcode
01c6ad0 fixed typos
8b14a49 Make the test a bit more strict.
f531e92 Add a plugin testcase for merging weak variables.
87d7e90 llvm/test/TableGen/*Foreach*.td: Remove XFAIL:vg_leak. They have not been failing since r215176.
0dbff88 Reverted my "Testing commit access" commit.
589e61a Testing commit access.
48bfab8 llvm-objdump: print contents of MachO __unwind_info sections
99cd10f Have MachineRegisterInfo take and store the MachineFunction it was created for rather than the TargetMachine since we only needed the TM for the subtarget and we can get that from the MF.
392f7d9 [MachineCombiner] Fix for ICE bug 20598
2925be5 IR: Print a newline when dumping Types
601bf96 [OCaml] Expose Llvm.get_operand_use.
7cfad3e [LLVM-C] Expose User::getOperandUse as LLVMGetOperandUse.
a6bd9bd DebugLocEntry: Restore the comparison predicate from before the refactoring in 215384. This way it can unique multiple entries describing the same piece even if they don't have the exact same location. (The same piece may get merged in and be added from OpenRanges). There ought to be a more elegant solution for this, though.
2376160 msan: Handle musttail calls
2970677 Move helper for getting a terminating musttail call to BasicBlock
524cd2e Revert "Partially revert r214761 that asserted that all concrete debug info variables had DIEs, due to a failure on Darwin."
bc7206a [MachineSink] Improve the compile time by preserving the dominance information as long as possible.
4935833 [x86] Fold extract_vector_elt of a load into the Load's address computation.
79fb67b Add a couple of convenience accessors to DebugLocEntry::Value to further simplify common usage patterns.
61b3abb R600/SIInstrInfo.cpp: Suppress an warning. [-Wunused-variable]
acd4d8e [ARM] Mark VMOVDRR with the RegSequence property and implement the related target hook.
74f89fe Make these DebugLocEntry::Value comparison operators friend functions as suggested by dblaikie in a comment on r215384.
ce9ccc0 Add missing closing namespace comment.
3392b33 AArch64: Tidy up a few comments.
e8be18e InstCombine: Combine (add (and %a, %b) (or %a, %b)) to (add %a, %b)
13f4476 R600/SI: Add a ComplexPattern for selecting MUBUF _OFFSET variant
f56c55d R600/SI: Add an _OFFEN variant MUBUF_STORE_* and use it for scratch writes
68e9ebb R600/SI: Add check for low 32 bits of encoding to mubuf tests
728d0e4 R600/SI: Clear lds bit on MUBUF instructions used for private stores
0df264a R600/SI: Fix broken test
1b42540 Add isRegSequence property.
7f4f923 [AArch64] Fix registerAllocator assigns same register for base and wback in pre/post-index load and store.
7189d07 Debug info: Remove an obsolete constructor from DebugLocEntry.
db72188 Debug info: Modify DebugLocEntry::addValue to take multiple values so it only has to sort/unique values once per batch.
59b6049 Debug info: Further simplify the implementation of buildLocationList by getting rid of the redundant DIVariable in the OpenRanges pair.
b89cf2a Debug Info: Move the sorting and uniqueing of pieces from emitLocPieces() into buildLocationList(). By keeping the list of Values sorted, DebugLocEntry::Merge can also merge multi-piece entries.
0ca6b9f Debug info: Refactor DebugLocEntry's Merge function to make buildLocationLists easier to read.
6c2be4f ARM: try harder to detect non-IT eligible instructions
b2d2f28 Fix using -plugin-opt=apiflie when also using -plugin-opt=emit-llvm.
7c0fa0c Correct a missing RUN line in the ARM codegen test for fneg ops. We should also explicitly specify +/-neonfp.
d7f37d8 Add missing test for r215031
b81e6cf MC: Diagnose an unexpected token in COFF .section instead of asserting
a7f0941 Fix typos: * libaries => libraries * avaiable => available
69ca26c Fix use of uninitialized variable.
cb7da63 Use an early return. NFC.
e20f611 Revert r215359 - [mips] Implement .ent, .end, .frame, .mask and .fmask assembler directives
36cf28e [mips] Implement .ent, .end, .frame, .mask and .fmask assembler directives
efa23d3 PeepholeOptimizer: make parameter ref to SmallPtrSetImpl
4d97a1a Make this SmallVector size a power of two as suggested by Chandler
af713d3 AArch64: add support for dynamic-loader relocations
e659e17 AVX-512: added a missing bitcast from v16f32 to v16i32
f34a60c llvm-readobj: zero out timestamp in COFF auto-generated test files.
835cfaa llvm-objdump: fix remaining use of %x format specifier for 64-bit values
17ef00e ARM: __gnu_h2f_ieee and __gnu_f2h_ieee always use the soft-float calling convention
0679d2d In Machine CSE pass, the source register of a COPY machine instruction can be propagated to all its users, and this propagation could increase the probability of finding common subexpressions. If the COPY has only one user, the COPY itself can be removed.
1505fa4 In LVI(Lazy Value Info), originally value on a BB can only be caculated once, and the lattice will be updated to be a state other than "undefined". This limiation could miss some opportunities of lowering "overdefined" to be an even accurate value. So this patch ask the algorithm to try to lower the lattice value again even if the value has been lowered to be "overdefined".
07f1b21 Re-commit "Increase the size of this SmallVector in PeepholeOptimizer." (r215340)
cb57e03 Revert "Increase the size of this SmallVector in PeepholeOptimizer." (r215340)
9796e98 Increase the size of this SmallVector in PeepholeOptimizer.
9af0902 SubTargetFeature.cpp: it seems the size of this SmallVector should be 3
e4506cd Increase the size of SpillPlacement::BlockFrequencies.
bf5a4c3 LegacyPassManagers.h: increase the size of PMDataManager::HigherLevelAnalysis.
edcf61a Increase the size of these SmallVectors in X86ISelLowering.cpp.
d9dd969 Increase the size of this SmallVector in CloneNodeWithValues.
6adf338 Increase the size of DwarfAccelTable::TableHeaderData::Atoms.
75762d6 Increase the size of PMTopLevelManager::ImmutablePasses from 8 to 16.
97b0c63 Add support for scalarizing cttz_zero_undef
3e5734d ARM: correct isPredicable for MULS in ThHUMB mode
4417c25 @l and friends adjust their value depending the context used in. For ori, they are unsigned, for addi, signed. Create a new target expression type to handle this and evaluate Fixups accordingly.
901a1b8 Fix tabs.
b2b3634 If available, pass down the Fixup object to EvaluateAsRelocatable. At least on PowerPC, the interpretation of certain modifiers depends on the context they appear in.
f96cd1a ADT: remove MinGW32 and Cygwin OSType enum
21327ec fixed typos
c399631 Resolving some type truncation warnings in MSVC (enum to bool in this case). No functional changes intended.
7a3264e MC: remove duplicated code
eb9f113 MC: cleanup includes
8eab0e6 CodeGen: switch to a range based for loop
06e8dbe Allow the third argument for the subi family to be an expression.
e38c52d Test commit access
0c5a408 Update disassembler test to check the full dccci/iccci form.
26adfd1 Use the full form of dccci and iccci from the early PPC 405 documents, since the operands are actually used on those cores. Provide aliases for the only documented case in the newer Power ISA speec.
e9da71f Initialize PPC DataLayout based on the Triple only.
f3157be Remove extraneous 64-bit argument to the PPC TargetMachine constructor and update initialization.
a617b53 Initialize X86 DataLayout based on the Triple only.
cce2600 R600: Disable FP exceptions.
d0ba0f6 Move some X86 subtarget configuration onto the subtarget that's being created.
4e8a136 R600/SI: Custom lower CONCAT_VECTORS
f1ba587 R600/SI: Update concat_vectors.ll to check for scratch usage
93c1316 Fix expected windows result.
895fcbe Fix typo.
e5885ca [MCJIT] Simplify immediate decoding code in the RuntimeDyldMachO hierarchy.
72260fe [FastISel][X86] Silence -Wenum-compare warning
cea3043 Fix the windows build.
2f58085 Reword comment slightly.
d6039e0 Remove dead code. Fixes pr20544.
a7c6b3a Convert from Windows to Unix paths in sys::path::native.
996a304 Allow large immediates for branch instructions in 32bit mode.
f0b70e2 Provide an implementation of getNoopForMachoTarget for PPC, otherwise empty functions will assert in the MC object writer.
0980ef2 [FastISel][X86] Fix INC/DEC optimization (r215230)
1968324 AArch64: avoid deleting the current iterator in a loop.
5714db4 [FastISel][AArch64] Attach MachineMemOperands to load and store instructions.
cbda4b3 [FastISel][X86] Use INC/DEC when possible for {sadd|ssub}.with.overflow intrinsics.
6d56b95 DebugInfo: Recommit (reverted in r215217, originally committed in r215157) the assertion that no argument variable is overwritten by subsequent argument variables.
b6273f0 AArch64A57FPLoadBalancing.cpp: Define ColorNames in !NDEBUG.
1b2f735 DataTypes.h.cmake: Define PRIx32 &c for !HAVE_INTTYPES_H hosts.
7d17722 Delete dead code. NFC.
ef6ddcf Added a TLI hook to signal that the target does not have or does not care about floating point exceptions, added use of flag to fold potentially exception raising floating point math in selection DAG. No functionality change, as targets have to explicitly ask for this behavior and none does today.
6f3e49e Add low-level option for avoiding float stores from va_start until soft-float is properly supported.
c9def6b Add support for SPE load/store from memory.
0bd9423 getLoadName is only implemented for ELF, make it ELF only.
015f576 Use a simpler predicate. NFC.
8bbca2c DebugInfo: Remove assertion (added in r215157) that's firing on a blocks test in the test-suite while I investigate further.
d272237 pr20589: Fix duplicated arch flag.
24623ba pr20588: add missing calls to va_end.
a19fc6d [mips] Invert the abicalls feature bit to be noabicalls so that it's possible for -mno-abicalls to take effect.
b79931d Add missing Interpreter intrinsic lowering for sin, cos and ceil
a9ee302 Fix for #20408 - CMake LLVM_ENABLE_FFI=ON build fails on reconfigure
3b85f30 [AArch64] Fix a type conversion bug for anlyzing compare.
82acfbf Fix bug 20125 - clang-format segfaults on bad config.
1952807 [mips] Remove reason for XFAIL from a test that isn't actually XFAILed.
414df79 [LoopVectorizer] Enable support for floating-point subtraction reductions
3a106a2 [AArch64] Add an FP load balancing pass for Cortex-A57
b56b256 llvm-objdump: add missing % in format specifier.
5ccbb28 llvm-objdump: use portable format specifiers for info.
da52aa0 [mips] Initial implementation of -mabicalls/-mno-abicalls.
bbdf1e0 AArch64: stop trying to take control of all UnknownArch triples.
cf40386 [pr19635] Revert most of r170537, and add new testcase.
8e5c298 GlobalOpt: Optimize in the face of insertvalue/extractvalue
2477ef9 Fix llvm/test/DebugInfo/X86/recursive_inlining.ll to use %llc_dwarf.
4f8cb33 AArch64InstrInfo.cpp: Fix \param(s). [-Wdocumentation]
a6c1584 [tablegen] - Eliminate memory leaks in TGParser.cpp
a8e1cda [AVX512] Add zero-masking variant to AVX512_masking multiclass
d0f88d5 Fix for multi-line comment warning
690499e [AVX512] Add codegen test for the masking variant of valign
43f6ce9 [stack protector] Look through bitcasts to get global variable __stack_chk_guard.
7f48f05 Make these regexes stricter by disallowing any additional characters in the output. Thanks to dblaikie for pointing this out!
2158dec SLPVectorizer: Use the type of the value loaded/stored to get the ABI alignment
b93c57c Add a separate testcase for a DWARF expression describing a value in a subregister.
2ead89a Reflow this comment.
263998a DebugInfo: Fix overwriting/loss of inlined arguments to recursively inlined functions.
cf76da9 fix materialization of one bit constants and global values which are accessed through a base GOT entry.
aa5b9c0 Temporarily Revert "Nuke the old JIT." as it's not quite ready to be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate.
9fbb012 Debugging Utility - optional ability for dumping critical path length
e4fa341 MachineCombiner Pass for selecting faster instruction sequence on AArch64
31dec85 Add two missing ARM cpusubtypes to the switch statement in MachOObjectFile::getArch(uint32_t CPUType, uint32_t CPUSubType) .
d4748bb Fix a case in SROA where lifetime intrinsics could inhibit alloca promotion.  In this case, the code path dealing with vector promotion was missing the explicit checks for lifetime intrinsics that were present on the corresponding integer promotion path.
3625108 [MCJIT] Replace a c-style cast with reinterpret_cast + static_cast.
c00ae93 Remove Support/IncludeFile.h and its only user. This is actively harmful, since it breaks the modules builds (where CallGraph.h can be quite reasonably transitively included by an unimported portion of a module, and CallGraph.cpp not linked in), and appears to have been entirely redundant since PR780 was fixed back in 2008.
1f4ef37 Fix test failure on ARM.
84c5f9d [modules] Update module map workaround to cope with the problematic file having been relocated.
7d05a0f test commit: remove trailing whitespace.
a7e87a1 Remove a few XFAILs.
70b5605 [Branch probability] Recompute branch weights of tail-merged basic blocks.
71c5eed Add the majority of the remaining SPE instructions.
b7c9534 FileCheck: Add a flag to allow checking empty input
39637ed Indent
c10cecf [AVX512] Generate masking instruction variants with tablegen
94287f1 llvm/test/tools/llvm-objdump: Reorganize target-dependent some tests.
069468b Fix the ocaml bindings.
7b232e2 fix configure+make build
93f0670 Remove empty directories.
875710a Nuke the old JIT.
7ad7c75 Add mfasr and mtasr
d94b6e8 Add mfrtcu and mfrtcl instructions
5b1fba4 Support mttbl and mttbu mnemonic
80de56e Add RFID instruction.
619bacb Fix Itineray class of rfi
46a750b Spell e500 feature in lower case.
445a9f9 Add first bunch of SPE instructions. As they overlap with Altivec, mark them as parser-only until the disassembler is extended to handle predicates properly.
2ca1dd1 Insert parens to avoid a warning:   suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
6a85b88 Silencing an MSVC C4334 warning ('<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)). No functional changes intended.
6cc2e1a [mips] Add assembler support for .set msa/nomsa directive.
28e0634 Fix lld-x86_64-win7 Build #11969
0e89fbb [x86] Fix another miscompile found through fuzz testing the new vector shuffle lowering.
0651861 [x86] Fix another miscompile in the new vector shuffle lowering found via the fuzz tester.
b336451 [x86] Fix another miscompile in the new vector shuffle lowering found through the new fuzzer.
5d8c984 [x32] Use ebp/esp as frame and stack pointer
15d82b7 [x86] Fix a miscompile in the new shuffle lowering found through the new fuzz testing.
e216468 Update Tablegen documents given that binary literals are now sized
ecdbbbe Update BitRecTy::convertValue to allow if expressions with bit values on both sides of the if
64a334d Change the { } expression in tablegen to accept sized binary literals which are not just 0 and 1.
2093e2c Change BitsInit to inherit from TypedInit.
42c1227 Change TableGen so that binary literals such as 0b001 are now sized.
f5b7351 TableGen: Change { } to only accept bits<n> entries when n == 1.
3f2aee7 Fix a whole bunch of binary literals which were the wrong size.  All were being silently zero extended to the correct width.
792202d Add an option to the shuffle fuzzer that lets you fuzz exclusively within a single bit-width of vectors. This is particularly useful for when you know you have bugs in a certain area and want to find simpler test cases than those produced by an open-ended fuzzing that ends up legalizing the vector in addition to shuffling it.
14d29b6 Use the minor number for the revision numbers.
81dfaef Add a vector shuffle fuzzer.
971bf28 DebugInfo: Make a test more portable
7cc1de1 MC: split Win64EHUnwindEmitter into a shared streamer
15c8452 [X86][SchedModel] Fixed missing/wrong scheduling model found by code inspection. Source: Agner Fog's Instruction tables.
75d423f Add the -mcpu= option to llvm-objdump for use with the disassemblers. Also make the disassembler created with the Mach-O parser (the -m option) pick up the Target specific attributes specified with -mattr option.
41d6599 MC X86: Accept ".att_syntax prefix" and diagnose noprefix
a0a7ad4 Revert "Reapply "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself.""
e15fd3d fix typo
6d48faf getNewMemBuffer memsets the buffer to zeros, the caller don't have to initialize it.
b9736ca Fix a test that has no checks.
60178b1 R600: Cleanup fadd and fsub tests
2764f3d Revert "r214897 - Remove dead zero store to calloc initialized memory"
41612a9 Remove the target machine from CCState. Previously it was only used to get the subtarget and that's accessible from the MachineFunction now. This helps clear the way for smaller changes where we getting a subtarget will require passing in a MachineFunction/Function as well.
6cdc374 Improve performance of calculateDbgValueHistory.
6e62bbd Cleanup collectChangingRegs
e7a280a DebugInfo: Fix ranges+gmlt test case to actually exercise the gmlt situation.
7911f2d Add a triple to this test to get the right IR mangling
5d04e52 Don't count inreg params when mangling fastcall functions
9688239 Round up the size of byval arguments to MinAlign
2669f9b UseListOrder: Use std::vector
af4e764 [AArch64] Add a few isTarget* API to AArch64 Subtarget.
4e78deb Add test case omitted in r214974.
b47a215 [AArch64] Fix OS ABI flag for aarch64-linux-gnu target.
72a8b11 use register iterators that include self to reduce code duplication in CriticalAntiDepBreaker
ec4188b [AVX512] Added load/store instructions to Register2Memory opcode tables. Added lowering tests for load/store.
e0243fb [AArch64] Add a testcase for r214957.
2d98881 Add a new option -run-slp-after-loop-vectorization.
2c0d42a ARM: do not generate BLX instructions on Cortex-M CPUs.
08828a9 ARM-MachO: materialize callee address correctly on v4t.
c2482df [AArch64] Conditional selects are expensive on out-of-order cores.
a341a80 [x86] Fix two independent miscompiles in the process of getting the same test case to actually generate correct code.
346b687 [x86] Switch to a formulation of a for loop that is much more obviously not corrupting the mask by mutating it more times than intended. No functionality changed (the results were non-overlapping so the old version "worked" but was non-obvious).
2b9b503 [X86] Fixes commit r214890 to match the posted patch
e3ef543 Correct comment
95d1d44 [dfsan] Try not to create too many additional basic blocks in functions which already have a large number of blocks. Works around a performance issue with the greedy register allocator.
85dc7da R600: Increase nearby load scheduling threshold.
c9c70b1 R600/SI: Implement areLoadsFromSameBasePtr
5200d84 [X86][SchedModel] Fixed some wrong scheduling model found by code inspection. Source: Agner Fog's Instruction tables.
8480bee DebugInfo: Assert that any CU for which debug_loc lists are emitted, has at least one range.
406658c DebugInfo: Fix a bunch of tests that, owing to their compile_unit metadata not including a 13th field, had some subtle behavior.
f1ca953 R600/SI: Add definitions for ds_read2st64_ / ds_write2st64_
5e48675 Fix typos in comments and doc
5bfa4ba DebugInfo: Move the reference to the CU from the location list entry to the list itself, since it is constant across an entire list.
9920f56 Remove a virtual function from TargetMachine. NFC.
b23c2d9 Re-apply r214881: Fix return sequence on armv4 thumb
416ea4b [MCJIT] Make llvm-rtdyld check RuntimeDyld's error state when running in -verify mode.
bb639a1 [PowerPC] Swap arguments and adjust shift count for vsldoi on little endian
998edc6 Improved test cases that were added with r214892.
0ca2867 Don't internalize all but main by default.
936a1b5 Add a test showing the interaction of linker scripts and plugin.
fadc91b [x86] Fix a crasher due to shuffles which cancel each other out and add a test case.
b72118f Remove dead code in condition
8d7feda X86CodeEmitter.cpp: Add SEH_Epilogue to ignored list for legacy JIT, corresponding to r214775.
c64a059 [X86] Improve comments for r214888
c1072cf R600/SI: Use register class instead of list of registers
178066b R600/SI: Add exec_lo and exec_hi subregisters.
7f2cd21 BitcodeReader: Fix non-determinism in use-list order
b835f34 Remove dead zero store to calloc initialized memory
c2feb6b Revert r214881 because it broke lots of build-bots
6902c68 Optimize vector fabs of bitcasted constant integer values.
545f892 [AVX512] Add masking variant and intrinsics for valignd/q
b1f410a [X86] Increase X86_MAX_OPERANDS from 5 to 6
af98f76 [X86] Add lowering to VALIGN
b4d5897 [X86] Separate DAG node for valign and palignr
fd52de3 [AVX512] alignr: Use suffix rather than name argument to multiclass
c2b5d99 [AVX512] Pull everything alignr-related into the multiclass
0ae6dc9 Wrap long lines
77327b8 Fix return sequence on armv4 thumb
1d15bbc Partially revert r214761 that asserted that all concrete debug info variables had DIEs, due to a failure on Darwin.
effcb72 Improve test for merged global debug info by using llvm-dwarfdump.
2888b08 Add accessors for the PPC 403 bank registers.
84bd563 Add tests for cp10/cp11 on ARMv5/6
f2115a0 Specify that the thumb setend and blx <immed> instructions are not valid on an m-class target
966fc93 Define stc2/stc2l/ldc2/ldc2l as thumb2 instructions
bb97134 Accessors for SSR2 and SSR3 on PPC 403.
94dfb88 R600/SI: Update MUBUF assembly string to match AMD proprietary compiler
9a7e35a R600/SI: Avoid generating REGISTER_LOAD instructions.
deaa09e Add dci/ici instructions for PPC 476 and friends.
2bdd960 Add mftblo and mftbhi for PPC 4xx.
0f36574 Add lswi / stswi for assembler use with a warning to not add patterns for them.
68b3d68 AArch64: Add support for instruction prefetch intrinsic
72035e9 Teach the SLP Vectorizer that keeping some values live over a callsite can have a cost.
ff8028c [x86] Reformat some code I moved around in a prior commit but left poorly formatted. Sorry about that.
c754b57 Allow binary and for tblgen math.
e6329cf [x86] Fix a crash and wrong-code bug in the new vector lowering all found by a single test reduced out of a failure on llvm-stress.
baa40c6 [FastIsel][AArch64] Fix previous commit r214844 (Don't perform sign-/zero-extension for function arguments that have already been sign-/zero-extended.)
eee659a [FastISel][AArch64] Implement the FastLowerArguments hook.
6739735 Revert "r214832 - MachineCombiner Pass for selecting faster instruction"
7e9c0bc [FastISel][AArch64] Don't perform sign-/zero-extension for function arguments that have already been sign-/zero-extended.
d047a9d Provide convenient access to the zext/sext attributes of function arguments. NFC.
6035518 Have MachineFunction cache a pointer to the subtarget to make lookups shorter/easier and have the DAG use that to do the same lookup. This can be used in the future for TargetMachine based caching lookups from the MachineFunction easily.
c2328d5 MachineCombiner Pass for selecting faster instruction  sequence on AArch64
e2f9c8d Add TCR register access
7c5b978 Add PPC 603's tlbld and tlbli instructions.
94a1af5 Allow CP10/CP11 operations on ARMv5/v6
84fef1f [PPC64LE] Fix wrong IR for vec_sld and vec_vsldoi
2a78a0c Enable Darwin vararg parameters support in assembler macros.
3da0245 Changed the liveness tracking in the RegisterScavenger to use register units instead of registers.
db3ce56 Add simplified aliases for access to DCCR, ICCR, DEAR and ESR
e85047e Fix SmallDenseMap assignment operator.
2c68cde [FastISel][AArch64] Fix shift lowering for i8 and i16 value types.
3bc3e03 IR: Fix up doxygen comment for LLVMContext::diagnose
8a74e2f [SDAG] Fix a really, really terrible bug in the DAG combiner.
25c8b47 tlbre / tlbwe / tlbsx / tlbsx. variants for the PPC 4xx CPUs.
5b08f16 Reorder to keep data and routines separate and to keep a couple of similar routines close to each other.
9f85dcc Remove the TargetMachine forwards for TargetSubtargetInfo based information and update all callers. No functional change.
ffa13ea Reimplement the temporary non-const getSubtargetImpl routine so that we can avoid implementing it on every target. Thanks to Richard Smith for the suggestions!
82c9345 [AArch64] Extend the number of scalar instructions supported in the AdvSIMD scalar integer instruction pass.
a770bd6 MC uses .lcomm now, so adjust.
0b04cf6 Fix failure to invoke exception handler on Win64
1bb69f1 Correct the emission kind constants committed in r214771
b00cca0 Document the "emission kind" field of the DICompileUnit in LLVM's Source Level Debugging metadata.
355845b Recognize mftbl as alias for mftb, for symmetry with mttb.
6d6454e Add a sentence that all entries should include an email address. Add one for Greg Clayton, Peter Collingbourne, Tobias Grosser and Jakob Olesen based on recent commits.
df5eef2 Reapply "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself."
fa76ba8 R600/SI: Fix definitions for ds_read2 / ds_write2 instructions.
d6c23be Rename PPCLinuxMCAsmInfo to PPCELFMCAsmInfo to better reflect the systems it represents.
e8f23a8 Allow .lcomm with alignment on ELF targets.
aafa4b5 Coverage: add HasCodeBefore flag to a mapping region.
b88bbc0 Move the R600 intrinsic support back to the target machine - there's nothing subtarget dependent about the intrinsic support in any backend as far as I can tell.
981eb59 Path: Stop claiming path::const_iterator is bidirectional
93bbddf Refactor SPRG instructions.
93a4549 [X86] Place parentheses around "isMask_32(STReturns) && N <= 2".
df64464 Add support for m[ft][di]bat[ul] instructions.
b47e0f1 Use the known address space constant rather than checking it
0ce8757 R600: Remove unused include
986a9fa Add a dummy subtarget to the CPP backend target machine. This will allow us to forward all of the standard TargetMachine calls to the subtarget and still return null as we were before.
977b978 Add features for PPC 4xx and e500/e500mc instructions. Move the test cases for them into separate files.
29ec747 [PowerPC] Add target triple to vec_urem_const.ll test case
7017934 [SKX] Enabling load/store instructions: encoding Instructions: VMOVAPD, VMOVAPS, VMOVDQA8, VMOVDQA16, VMOVDQA32,VMOVDQA64, VMOVDQU8, VMOVDQU16, VMOVDQU32,VMOVDQU64, VMOVUPD, VMOVUPS,
c568629 [PowerPC] Swap arguments to vpkuhum/vpkuwum on little-endian
c245c18 Improving the name of the function parameter, which happens to solve two likely-less-than-useful MSVC warnings: warning C4258: 'I' : definition from the for loop is ignored; the definition from the enclosing scope is used.
d5e9497 [PowerPC] MULHU/MULHS are not legal for vector types
c8be373 Fixed accidental use of reserved identifier in r214709.
3b7a193 [PowerPC] Fix and improve vector comparisons
98b419b [mips] Add assembler support for '.set mipsX'.
12d4f9f TargetInstrInfo::genAlternativeCodeSequence(): Fix a couple of \param(s). [-Wdocumentation]
48593d7 [x86] Just unilaterally prefer SSSE3-style PSHUFB lowerings over clever use of PACKUS. It's cleaner that way.
93f5d9f [x86] Implement more aggressive use of PACKUS chains for lowering common patterns of v16i8 shuffles.
a6a0f12 Update links to the gcc and java documentation that 404'd.
534100b Revert "r214669 - MachineCombiner Pass for selecting faster instruction"
499befa MemoryBuffer: Don't use mmap when FileSize is multiple of 4k on Cygwin.
73100d8 [x86] Handle single input shuffles in the SSSE3 case more intelligently.
f3ef961 [x86] Fix the test case added in r214670 and tweaked in r214674 further.
0980da3 [OCaml] Add Llvm.{string_of_const,const_element}.
5f3f062 [LLVM-C] Add LLVM{IsConstantString,GetAsString,GetElementAsConstant}.
7bf958f Account for possible leading '.' in label string.
53dd6f7 [x86] Don't add nodes to the combined set (and prune subsequent combines) until they are legal.
f83017c X86: silence warning (-Wparentheses)
335c0ca CodeGen: silence a warning
0f2bc49 fix for PR20354 - Miscompile of fabs due to vectorization
48e1bd7 MachineCombiner Pass for selecting faster instruction  sequence -  AArch64 target support
b0b7088 MachineCombiner Pass for selecting faster instruction  sequence -  target independent framework
83eaeba MC: virtualise EmitWindowsUnwindTables
2aded1f MC: rename Win64EHFrameInfo to WinEH::FrameInfo
fc65cf6 R600/SI: Fix extra whitespace in asm str
3d5463d [SimplifyCFG] fix accessing deleted PHINodes in switch-to-table conversion.
a0e1d10 tlbia support
55f925a mfdcr / mtdcr support
8624519 fix bug 20513 - Crash in SLP Vectorizer
14d596a Update test to use a more modern AArch64 triple, as requested by Renato.
419f380 Don't use additional arguments for dss and friends to satisfy DSS_Form, when let can do the same thing. Keep the 64bit variants as codegen-only. While they have a different register class, the encoding is the same for 32bit and 64bit mode. Having both present would otherwise confuse the disassembler.
e411c38 [AArch64] Teach DAGCombiner that converting two consecutive loads into a vector load is not a good transform when paired loads are available.
caf471e [x86] Remove the FIXME that was implemented in r214628. Managed to forget to update the comment here... =/
49f7f89 [x86] Give this test a bare metal triple so it doesn't use the weird Darwin x86 asm comment prefix designed to work around GAS on that platform. That makes the comment-matching of the test much more stable.
1029c70 [x86] Largely complete the use of PSHUFB in the new vector shuffle lowering with a small addition to it and adding PSHUFB combining.
a661225 [x86] Switch to using the variable we extracted this operand into.
3c92a7a [x86] Fix a few typos in my comments spotted in passing.
fb1293f [x86] Teach the target shuffle mask extraction to recognize unary forms of normally binary shuffle instructions like PUNPCKL and MOVLHPS.
8a64a46 [x86] Teach my pshufb comment printer to handle VPSHUFB forms as well as PSHUFB forms. This will be important to update some AVX tests when I add PSHUFB combining.
4e6635e [SDAG] Refactor the code which deletes nodes in the DAG combiner to do so using a single helper which adds operands back onto the worklist.
ec6d4d8 Fix issues with ISD::FNEG and ISD::FMA SDNodes where they would not be constant-folded during DAGCombine in certain circumstances.  Unfortunately, the circumstances required to trigger the issue seem to require a pretty specific interaction of DAGCombines, and I haven't been able to find a testcase that reproduces on X86, ARM, or AArch64. The functionality added here is replicated in essentially every other DAG combine, so it seems pretty obviously correct.
61e99f1 CodeGen: Remove commented out code
7e55ac7 [ARM] In dynamic-no-pic mode, ARM's post-RA pseudo expansion was incorrectly expanding pseudo LOAD_STATCK_GUARD using instructions that are normally used in pic mode. This patch fixes the bug.
354ed5f [MCJIT] Fix an overly-aggressive check in RuntimeDyldMachOARM.
507c5af R600: Cleanup fneg tests
bcf8459 Add a small utility called bisect that enables commandline bisecting on a counter.
2785e77 [lit] Add --show-xfail flag to LIT.
63fab54 R600/SI: Fix formatting.
a272803 [x86] Make some questionable tests not spew assembly to stdout, which makes a mess of the lit output when they ultimately fail.
cbd8458 [ASan] Use metadata to pass source-level information from Clang to ASan.
d61e28d [SDAG] Allow the legalizer to delete an illegally typed intermediate introduced during legalization. This pattern is based on other patterns in the legalizer that I changed in the same way. Now, the legalizer eagerly collects its garbage when necessary so that we can survive leaving such nodes around for it.
5e3bfde [SDAG] Let the DAG combiner take care of dead nodes rather than manually deleting them. This already seems to work, as no tests fail without this.
842a06e Add diagnostics to the vectorizer cost model.
1b23e26 BitcodeTests: Fix LINK_COMPONENTS.
1d31691 verify-uselistorder: Reverse use-lists at every verification
4277019 verify-uselistorder: Add missing `static`
99a43c2 IR: Add Value::reverseUseList()
f425efd PartiallyInlineLibCalls: Check sqrt result type before transforming it.
b2b0ad4 verify-uselistorder: Move shuffleUseLists() out of lib/IR
65225b6 Cleanup this test some more.
22c6e04 Add the missing target triple to this testcase.
87c17d9 Attempt to increase the overall happiness of the MSCV-based buildbots.
236c1ac verify-uselistorder: Make the verification logic easier to reuse
4a6fa13 InstrProf: Allow multiple functions with the same name
7df1db5 UseListOrder: Guarantee that shuffles change use-list order
1526278 UseListOrder: Fix blockaddress use-list order
306030f [X86] Simplify X87 stackifier pass.
c36cba4 llvm/test/CodeGen/Mips/cconv/arguments-varargs.ll: Add explicit -mtriple=(mips|mipsel)-linux on 4 lines.
2a39c99 Debug info: Infrastructure to support debug locations for fragmented variables (for example, by-value struct arguments passed in registers, or large integer values split across several smaller registers). On the IR level, this adds a new type of complex address operation OpPiece to DIVariable that describes size and offset of a variable fragment. On the DWARF emitter level, all pieces describing the same variable are collected, sorted and emitted as DWARF expressions using the DW_OP_piece and DW_OP_bit_piece operators.
0439521 [SDAG] MorphNodeTo recursively deletes dead operands of the old fromulation of the node, which isn't really the desired behavior from within the combiner or legalizer, but is necessary within ISel. I've added a hopefully helpful comment and fixed the only two places where this took place.
b2df20d Revert "R600: Move code for generating REGISTER_LOAD into R600ISelLowering.cpp"
b125730 MS inline asm: Hide symbol to attempt to fix test failure on darwin
147851e BitcodeReader: Change mechanics of BlockAddress forward references, NFC
7e59545 R600/SI: Remove leftover debugging code
7f288b4 R600: Move code for generating REGISTER_LOAD into R600ISelLowering.cpp
cdc41f5 docs: Strongly recommend setting rpath when using a local GCC toolchain
865919d IR: Add BasicBlock::insertInto()
f149954 [dfsan] Correctly handle loads and stores of zero size.
f9799db Add a non-const subtarget returning function to the target machine so that we can use it to get the old-style JIT out of the subtarget.
cf8b959 BitcodeReader: Fix some BlockAddress forward reference corner cases
fc15e8a Try to fix configure+make after r214556
2e9b60a Rewrite BitReaderTest, NFC
ab41806 MS inline asm: Use memory constraints for functions instead of registers
a2a42a6 llvm-profdata: Replace redundant tests with more targeted ones
5b74e5a [SDAG] Begin simplifying the way in which the legalizer deletes nodes.
8d3bf10 [FastISel][AArch64] Fold offset into the memory operation.
7485669 Include Archive.h
d9aaca0 Fix building with in-tree libc++abi on FreeBSD Differential Revision: http://reviews.llvm.org/D4743
db11712 Move virtual method out of line.
ec9de46 Add support for StackMap section for ELF/Linux systems
3d253a3 [FastISel][AArch64] Add branch weights.
fff7ba3 Use object::Archive::create instead of new object::Archive.
5a96b41 Explicitly report runtime stack realignment in StackMap section
6312816 Replace comment about ownership with std::unique_ptr.
b36af07 [FastISel][ARM] Do not emit stores for undef arguments.
af30da4 Use range loop.
de97719 Add missing breaks to AArch64InstrInfo::isGPRCopy
f823085 R600: Cleanup test
b3cecb1c Make getNamedOperandIdx readonly
76db85a R600/SI: Don't display GDS bit for read2
b4cded4 [AArch64] Fix test from r214518 in an attempt to appease buildbots.
09237b8 Remove lto_codegen_set_attr.
4175e2f [AArch64] Generate tbz/tbnz when comparing against zero.
a45d218 [PowerPC] PR20280 - Slots for byval parameters are not immutable
9aa0b5e Remove some calls to std::move.
a36429f [pr20127] Check for leading \1 in the Twine version of getNameWithPrefix.
19f5c7e Simplify the code a bit with std::unique_ptr.
f28a36e llvm-objdump: implement printing for MachO __compact_unwind info.
ea029d5 Allow only disassembling of M-class MSR masks that the assembler knows how to assemble back.
93b7c0b Improve some const-correctness to remove a -Wcast-qual warning. No functional changes intended.
3b3fa38 [ARM] Make the assembler reject unpredictable pre/post-indexed ARM LDRB/LDRSB instructions.
9bd0d2a [ARM] Make the assembler reject unpredictable pre/post-indexed ARM LDRH/LDRSH instructions.
70c9be7 [ARM] Make the assembler reject unpredictable pre/post-indexed ARM LDR instructions.
5e2214c SLPVectorizer: fix build problem in Release configuration
956268f SLPVectorizer: improved scheduling algorithm.
0a15e20 [mips][PR19612] Fix va_arg for big-endian mode.
12f7582 SLP Vectorizer: added statistics counter
e47fce6 SLP Vectorizer: improve canonicalize tree operands of commutitive binary operands.
2fd13bb Revert of 214418: "Create a default symver on Linux like ELF OSes."
d2a9010 [PowerPC] Generate unaligned vector loads using intrinsics instead of regular loads
1952b5a This patch implements transform for pattern "(A & ~B) ^ (~A) -> ~(A & B)".
78061f4 This patch implements transform for pattern "(A | B) & ((~A) ^ B) -> (A & B)".
d05b6c6 This patch implements transform for pattern "( A & (~B)) | (A ^ B) -> (A ^ B)"
8756941 This patch implements transform for pattern "(A & B) | ((~A) ^ B) -> (~A ^ B)". Patch Credit to Ankit Jain !
de55992 R600/SI: Fix build warning
74ac163 [FastISel][AArch64] Fix the immediate versions of the {s|u}{add|sub}.with.overflow intrinsics.
bcaf5e1 [PowerPC] Recognize consecutive memory accesses from intrinsics
21e23ab MS inline asm: Fix null SMLoc when 'ptr' is missing after dword & co
17c8fef R600/SI: Do abs/neg folding with ComplexPatterns
f3b62df TableGen: Allow AddedComplexity values to be negative
5494792 R600/SI: Simplify and fix handling of VOP2 in SIInstrInfo::legalizeOperands
635fb9f R600/SI: Fold immediates when shrinking instructions
e5fc420 R600/SI: Fix incorrect commute operation in shrink instructions pass
42deb12 Add support for the X86 secure guard extensions instructions in assembler (SGX).
0b3444c X86 MC: Don't crash on empty memory operand parens
7895ae3 X86 MC: Reject invalid segment registers before a memory operand colon
e120a76 White space fix.
af85a09 Make classof in MemSDNode consistent with MemIntrinsicSDNode
22c99ee R600: Modernize work item intrinsics test
7d54c5b Make sure no loads resulting from load->switch DAGCombine are marked invariant
f7be7f1 Improve the remark generated for -Rpass-missed.
db50d8b Revert "Remove MCObjectDisassembler.cpp as it is untested and unused." as it is apparently used, but the build didn't return errors weirdly.
8821207 Improve the remark generated when a variable that is used outside the loop is not a reduction or induction variable.
03c8d18 Replaces a few pointers with references in llvm-nm.cpp.
c57853e Fixing CMake problems with MCObjectDisassembler.cpp not existing.
e8a696f Remove MCObjectDisassembler.cpp as it is untested and unused.
36daac3 msbuild integration: remove duplicated lines and BOM from 2014 integration (PR20341)
fc272c3 DWOHolder takes ownership of the argument constructor, use std::unique_ptr.
81becb7 Use a reference instead of a pointer.
156ce6c Add documentation for lit's --show-unsupported flag
8d6cf4d Clarify in PowerPC release notes that 32-bit PIC support is incomplete.
723bdb5 Disable IsSub subregister assert.  pr18663.
72c5355 Remove unused argument.
1023307 Move MCObjectSymbolizer.h to MC/MCAnalysis.
50c05c9 Fix ScalarEvolutionExpander when creating a PHI in a block with duplicate predecessors
94f7c7a verify-uselistorder: Change the default -num-shuffles=5
26d8315 Create a default symver on Linux like ELF OSes.
9d65d37 UseListOrder: Handle self-users
5dbbe4a Fix loop end condition.
b74ca14 Wrong heading level for PowerPC changes in release notes
40b4bf5 Release Notes: Overriding PPC64 and PPC64LE ABI defaults is not yet supported.
b0574ad Add PowerPC release notes for 3.5.
43a151d Fixing an -Woverloaded-virtual warnings by exposing the hidden virtual function as well. No functional changes intended.
fec274d Fixing a -Wcast-qual warning in GCC. No functional changes.
7ee4f09 [msan] Fix handling of array types.
8a78bb9 [asan] Support x86 REP MOVS asm instrumentation.
40f2023 MergeFunctions, tiny refactoring: cmpOperation has been renamed to cmpOperations (multiple form).
95ec276 [FastISel][AArch64] Add basic bitcast support for conversion between float and int.
a60ed42 [FastISel][AArch64] Add sqrt intrinsic support.
a4a812f InstCombine: Correctly propagate NSW/NUW for x-(-A) -> x+A
ec7ee07 InstSimplify: Simplify (X - (0 - Y)) if the second sub is NUW
d1d53e8 Fix some grammatical errors.
e482ebc [FastISel][AArch64] Update and enable patchpoint and stackmap intrinsic tests for FastISel.
e3a7501 [FastISel][AArch64] Add MachO large code model support for function calls.
1c9b982 A std::unique_ptr case I missed in the previous patch.
79002da Use std::unique_ptr to make the ownership explicit.
0a8cc45 Don't fail tablegen immediately after failing to set a value.
b71c54f Add a better error message when failing to assign one tablegen value to another
b4d70a0 Fix bit initializer which was one bit too long, but worked so long as we silently dropped the leading 0
302e995 Fix bit initializer which was one bit too long, but worked so long as we silently dropped the leading 0
fa003d0 Delete dead code.
e5ae09b UseListOrder: Don't give constant IDs to GlobalValues
dc6c25c [FastISel] Fix the patchpoint intrinsic lowering in FastISel for large target addresses.
450c33b [FastISel][AArch64 and X86] Don't emit stores for UNDEF arguments during function call lowering.
d321cdf verify-uselistorder: Add RUN lines to cases in test/Assembly
a749ecc X86 asm parser: Avoid duplicating the list of aliased instructions
cadb2a8 Add mtpid/mfpid for BookE.
187d75c Attempt at fixing the windows dll build.
c222d61 llvm-profdata: Add a test for mismatched numbers of counters
2adcddc llvm-profdata: Use consistent file suffixes in tests
d571205 Use "weak alias" instead of "alias weak"
367c5c2 Refactor TLBIVAX and add tlbsx.
7af08a4 X86 asm parser: Use a loop to disambiguate suffixes instead of copy paste
cb99212 [FastISel][AArch64] Add select folding support for the XALU intrinsics.
29c424c [FastISel][AArch64] Add branch folding support for the XALU intrinsics.
2235d7b [FastISel][AArch64] Add {s|u}{add|sub|mul}.with.overflow intrinsic support.
07731b3 [FastISel] Move the helper function isCommutativeIntrinsic into FastISel base class.
24383df [FastISel][AArch64] Create helper functions to create the various multiplies on AArch64.
b0dba10 [FastISel][AArch64] Add support for shift-immediate.
5624046 InstCombine: Simplify (A ^ B) or/and (A ^ B ^ C)
ee6a050 Add rfdi and rfmci from the e500/e500mc ISA.
7f6a685 SLP Vectorizer: Canonicalize tree operands of commutitive binary operands.
7fef5a3 SimplifyCFG: Avoid miscompilations due to removed lifetime intrinsics.
9e3d58a Add BookE's tlbre, tlbwe and tlbivax instructions.
31c0b5b docs: update the command guide documentation for llvm-profdata.
8f34515 Fix test case introduced in r214322
dab34a6 LangRef: add a note about the mangling-suppressing \01 prefix
8fa6f94 Refactor duplicated code.
75ba1b0 Fixing a few -Woverloaded-virtual warnings by exposing the hidden virtual function as well. No functional changes intended.
5fb3c84 Retain alignment requirements for load->selects modified by DAGCombine
43b54db UseListOrder: Visit global values
8dc3e30 Fix line endings before adding RUN lines, NFC
89c4197 Rename llvm-uselistorder => verify-uselistorder
4a9efda llvm-uselistorder: Improve the tool description
e188fa6 llvm-uselistorder: Fix memory leak from r214125
4366b6c Add the missing hasLinkOnceODRLinkage predicate.
d59fa04 Add a small test showing when a linkonce_odr symbol can be hidden.
b5b178a Correct vector type definition in LangRef.
a4d6ef1 Add BookE's wrtee and wrteei instructions.
a2d6cb1 SPRG 0 to 3 are valid outside BookE, so move them to the normal test file. Add support for accessing SPRG 4 to 7 on BookE.
840b5d5 Don't manually (and forcibly) run the verifier on the entire module from the jump instruction table pass. First, the verifier is already built into all the tools. The test case is adapted to just run llvm-as demonstrating that we still catch the broken module. Second, the verifier is *extremely* slow. This was responsible for very significant compile time regressions.
1febfa2 [MCJIT] Fix the ARM BR24 relocation in RuntimeDyldMachO.
e54c557 [PowerPC] Add JMP_SLOT relocation definitions
f3e7778 R600/SI: Remove redundant setting of bits on instructions.
e1681c9 [MCJIT] Actually remap sections based llvm-rtdyld options added in r214255.
562fd7a Use range loops.
3bff0d2 Convert a few more function pointer calls to just "f()".
9823db9 [AVX512] Test that _mm512_set1_* intrinsics generate broadcasts
0d51d7b [AVX512] Add missing CHECK-LABEL
fe580aa Don't duplicate the function name in a comment.
cd29d80 Reapply "UseListOrder: Order GlobalValue uses after initializers"
c128f3b UseListOrder: Fix undefined behaviour
8ad2443 R600/SI: Consider adjacent offsets in getLdStBaseRegImmOfs
278da37 Add support for scalarizing ctlz_zero_undef
601bb09 Use function pointers with just f(1,2) instead of (*f)(1,2).
f8b862d Revert "UseListOrder: Remove move assignment"
0630cb2 Header hygiene: remove using directive and #undef DEBUG_TYPE once we're done.
56a165c UseListOrder: Remove move assignment
f34e598 Add rfci instruction.
41364b7 [MCJIT] Add options to llvm-rtdyld to describe a phony target address space for use in -verify mode.
1bb9c81 mbar without argument is equivalent to mbar 0.
70fec68 Revert "UseListOrder: Order GlobalValue uses after initializers"
6e48dd6 Recognize BookE's mbar instruction.
04bcdf1 UseListOrder: Additional test coverage for r214242
9b9c195 UseListOrder: Order GlobalValue uses after initializers
abf3c77 UseListOrder: Create a struct around OrderMap, NFC
70626f5 Feedback on r214189, no functionality change.
b140034 Add missing test for r214210.
2f8f622 Fix typo in alias: DSIR -> DSISR
12855f6 llvm-profdata: Clean up and reorganize some tests
b925365 Support move to/from segment register.
f4d9095 [MCJIT] XFAIL some RuntimeDyld tests on MIPS - RuntimeDyldChecker isn't properly endian-aware yet, and this is causing failures when cross-linking on MIPS.
3c08473 Use nullptr instead of NULL.
5819748 Coverage: improve efficiency of the counter propagation to the expansion regions.
2531afb [MCJIT] Make sure we print the full 64-bit result of exprs in RuntimeDyldChecker.
9a3b1eb Remove unused includes.
37467ae R600/SI: Implement getLdStBaseRegImmOfs
f805325 UseListOrder: Try to resolve buildbot failure
ee7f2db Delete dead code.
63252a0 Have a single enum for "not a bitcode" error.
8b891ea R600/SI: Enable named operand table for DS instructions
5479b92 Remove line with no effect
df7568e gold plugin: Fix handling of corrupted bitcode files.
bcb3a41 UseListShuffleVector: Remove copy constructor
49d1690 UseListShuffleVector: Code reorganization, NFC
fbfb014 [MCJIT] Make the RuntimeDyldChecker stub_addr builtin use file names rather than full paths for its first argument.
570be93 Fix FileCheck crash when empty prefix is passed.
75a9d37 Move the bitcode error enum to the include directory.
65b5936 Coverage: fix the missing output stream in recursive call to CoverageMappingContext::dump
6277ad6 [RuntimeDyld][AArch64] Make encode/decodeAddend also work on big-endian hosts.
26dd3e6 [RuntimeDyld][AArch64] Make encode/decodeAddend more typesafe by using the relocation enum type. NFCI.
d7a5d94 Small gold plugin simplifications.
e31c7fd Add a number of aliases for SPR access.
b33d6c4 R600/SI: Add isMUBUF / isMTBUF
dbd003e R600/SI: Set bits on SMRD instructions
e2c33c3 Install the `obj2yaml` and `yaml2obj` utilities together with other LLVM tools.
23ab342 [Debug Info] remove DITrivialType and use null to represent unspecified param.
52f23be llvm-uselistorder: Fix header comments from r214144
800b4d1 Add a test for the mtriple plugin option.
34fa697 IR: Create the use-list order shuffle vector in-place
f0fd505 ProfileData: Don't redundantly default initialize a member
f668960 Add rfi instruction. Based on feedback by Ulrich Weigand.
84d2361 [mips] Don't use odd-numbered single precision registers for fastcc calling convention if -mno-odd-spreg is used.
5a0979e [PowerPC] Fix ppc64-elf-abi.ll test case on Darwin
b7e87b0 UseListShuffleVector: Add a copy constructor to appease msc17.
6f800f7 CodeGenPrep: fall back to MVT::Other if instruction's type isn't an EVT.
30ef915 ARM: add __aeabi_d2h for truncation on AEABI systems
b1692ad ARM: fix @llvm.convert.from.fp16 on softfloat targets.
66c0ebf UseListShuffleVector::~UseListShuffleVector(): Fix inappropriate delete. It should be delete[].
7b34558 [autoconf] Fixup s/3.5/3.6/. Clang's ident was 3.5.0svn in autoconf build.
a3b8caf Implement AArch64 TTI interface isAsCheapAsAMove.
f3224d0 Add TargetInstrInfo interface isAsCheapAsAMove.
994af14 Bitcode: Correctly compare a Use against itself
15f92a3 Fix line-endings, NFC
2c9dac0 IR: Augment debug statements for use-list order
16c0d7e Delete dead code.
3bd1487 Fix typos / grammar.
3f8df97 Fix header including itself
a784589 llvm-uselistorder: Add -num-shuffles option
0ee7d91 Tweak llvm-nm’s -undefined-only (aka -u) printing for Mach-O files to just print the symbol name.  So it matches darwin’s nm(1) -u option.
9cee201 Clean up testing cases.
2bd885a [Debug Info] unique MDNodes in the enum types of each compile unit.
6514cc5 Remove extra ; in testing case.
f575ec4 IR: Optimize size of use-list order shuffle vectors
807538b [Debug Info] add DISubroutineType and its creation takes DITypeArray.
0b783fc Update LLVM version: 3.5 => 3.6
8a865f3 Regenerate autoconf, previous updates to the configury haven't been updating configure.
8a4d11e llvm-uselistorder: Get it building in configure+make after r214125
bd24fe8 Bitcode: Serialize (and recover) use-list order
0aed6e7 llvm-uselistorder: Add -save-temps option
beb0ac5 llvm-uselistorder: Check the correct flag for assembly
31e6dbf IR: Expose Module::rbegin() and rend()
b6f1c15 [MCJIT] Remove extraneous parentheses in test case.
3bc4027 Test the linker plugin handling of llvm.used.
3cbd21c [Debug Info] add a template class DITypedArray.
8e8c1ac [Debug Info] rename getTypeArray to getElements, setTypeArray to setArrays.
f9b5976 [Debug Info] replace DIUnspecifiedParameter with DITrivialType.
40a0707 R600: Modernize test
35822f7 llvm-cov: move the gcov code into a separate file.
7505602 R600/SI: Fix return type for isMIMG / isSMRD
d9d33c9 [SDAG] Add DEBUG logging to the legalizer, fixing a "bug" found by inspection in the proccess, and shuffle the logging in the DAG combiner around a bit.
3a5e9cb R600/SI: Implement getOptimalMemOpType
3ee48e0 Add tests for the various emit-llvm plugin options.
e7dac08 R600/SI: Make argument loads invariant
da4e4e3 Update comment
ceda947 Test the mcpu option.
281d2bf [SKX] Enabling mask logic instructions: encoding, lowering Instructions: KAND{BWDQ}, KANDN{BWDQ}, KOR{BWDQ}, KXOR{BWDQ}, KXNOR{BWDQ}
b3768f6 Emit a warning if llvm_map_components_to_libraries() is used noting that its use is deprecated in favour of llvm_map_components_to_libnames()
1149da6 Document the new LLVM CMake interface for building against LLVM libraries. With many contributions from Brad King.
e301e0b Fixed sphinx warning.
225048b [PowerPC] Add testcase forgotten in the 214072 commit.
fe7131e [PowerPC] Support ELFv1/ELFv2 ABI selection via features
12cc465 Start adding some tests for the gold plugin.
77b9fc1 ARM: correct handling of features in arch_extension
ddbe5ab ARM: convert loop to range based
2dd264c Add alignment value to allowsUnalignedMemoryAccess
54a7f7f AArch64: fix conversion of 'J' inline asm constraints.
3315351 [x86] Sink a variable only used by asserts into the asserts. Should fix some -Werror bots, sorry for the noise.
a6f9501 [x86] Add a much more powerful framework for combining x86 shuffle instructions in the legalized DAG, and leverage it to combine long sequences of instructions to PSHUFB.
8e704b1 [ADT] Add a remarkbly useful little helper routine to ArrayRef for checking whether the ArrayRef is equal to an explicit list of arguments.
86ac382 R600/SI: Fix broken test.
71bf400 Fix the failing test 'vector-idiv.ll'. On Darwin the comment character is ##.
44c3a98 R600: Move intrinsic lowering to separate functions
f1ce818 [SDAG] Add an assert that we don't mess up the number of values when replacing nodes in the legalizer.
722419e [SDAG] Simplify the code for handling single-value nodes and add a missing transfer of debug information (without which tests fail).
69359ed [SDAG] When performing post-legalize DAG combining, run the legalizer over each node in the worklist prior to combining.
c94ff3d Fix broken assert.
09ed816 X86ShuffleDecode.cpp: Silence a warning. [-Wunused-variable]
6d87e6e llvm/test/CodeGen/X86/vector-idiv.ll: Fix for -Asserts.
5bce4d8 [x86] Fix PR20355 (for real). There are many layers to this bug.
4efdce6 [x86] Finish switching from CHECK to ALL. This was mistakenly included in r214007 and then reverted when I backed that (very misguided) patch out. This recovers the test case cleanup which was good.
86de7ad [x86] Revert r214007: Fix PR20355 ...
47a12d8 [x86] Fix PR20355 (and dups) by not using unsigned multiplication when signed multiplication is requested. While there is not a difference in the *low* half of the result, the *high* half (used specifically to implement the signed division by these constants) certainly is used. The test case I've nuked was actively asserting wrong code.
72d05e0 [x86] Add coverage for PMUL* instruction testing on SSE2 as well as SSE4.1.
df6b3e5 [modules] Work around mislayering of MC / Object.
5eb69c2 Update X86/Utils/LLVMBuild.txt corresponding to r213986. "Core" has been introduced.
e0b5c10 IR/UseTest.cpp: Avoid std::to_string() to appease mingw32 bot.
9400b4b [x86] More cleanup for this test -- simplify the command line.
b1fa0cf [x86] Fix unused variable warning in no-asserts build.
9695d08 [x86] FileCheck-ize this test.
30e89dd [x86] Teach the X86 backend to print shuffle comments for PSHUFB instructions which happen to have a constant mask.
ee17bf3 R600/SI: Allow partial unrolling and increase thresholds.
3aa56ba Move R600 subtarget dependent variables onto the subtarget.
b3a3e59 coverage: remove empty mapping regions
5cb8ab5 Canonicalization for @llvm.assume
a7f2c54 Wrap to 80 columns, no behavior change.
64db1e1 llvm-uselistorder: Fix up LINK_COMPONENTS.
8ef7b17 Add @llvm.assume, lowering, and some basic properties
9c5f6b8 [stack protector] Add test cases for thumb and thumb2.
0651a55 [stack protector] Fix a potential security bug in stack protector where the address of the stack guard was being spilled to the stack.
24dfa53 Fix arc4random detection.
a5e6ff6 Remove dead code.
e9b6201 [PowerPC] Support TLS on PPC32/ELF
06640d9 [FastISel][AArch64] Add support for frameaddress intrinsic.
2602b66 Move -verify-use-list-order into llvm-uselistorder
fcfd562 Reapply "DebugInfo: Don't put fission type units in comdat sections."
1d20dd4 Claim AA generally as code owner
d72804a Fix MSVC2012 build error in UseListOrder.cpp
17cb4cb Bitcode: Don't optimize constants when preserving use-list order
e27d5a0 Recommit r212203: Don't try to construct debug LexicalScopes hierarchy for functions that do not have top level debug information.
402cf19 DebugInfo: Fix up some test cases to have more correct debug info metadata.
ac34a28 Add code owner of scoped-noalias metadata
9f0a2a8 Convert noalias parameter attributes into noalias metadata during inlining
6f5c609 Simplify and improve scoped-noalias metadata semantics
deb8e30 Try to fix a layering violation introduced by r213945
d8d3b4d Fix -Werror build after r213945
7bf73bd IPO: Add use-list-order verifier
db4f73f [ARM] Emit ABI_PCS_R9_use build attribute.
ce63ab3 Run sort_includes.py on the AArch64 backend.
168d0c1 [cmake] Use the external project machinery for libcxxabi so that it can be disabled in CMake or relocated if desired.
c819279 llvm/test/CodeGen/ARM/inlineasm-global.ll: Add explicit triple to appease targeting *-win32.
c27d6a7 llvm/test/CodeGen/ARM/inlineasm-global.ll: Avoid specifing source file on llc.
568ab6a [SDAG] Enable the new assert for out-of-range result numbers in SDValues, fixing the two bugs left in the regression suite.
38ccfe9 [SDAG] Don't insert the VRBase into a mapping from SDValues when the def doesn't actually correspond to an SDValue at all. Fixes most of the remaining asserts on out-of-range SDValue result numbers.
068898d Store nodes only have 1 result.
72d4fa9 [SDAG] Start plumbing an assert into SDValues that we don't form one with a result number outside the range of results for the node.
642c8be [ARM] In thumb mode, emit directive ".code 16" before file level inline assembly instructions.
b64f842 [X86] Add comments to clarify some non-obvious lines in the stackmap-nops.ll testcases.
b984536 llvm-vtabledump: use a std::map instead of a StringMap for VBTables
2048bc2 Fix a warning in CoverageMappingReader.cpp
76cbffa [X86] Clarify some stackmap shadow optimization code as based on review feedback from Eric Christopher.
2286ae5 [PATCH][PPC64LE] Correct little-endian usage of vmrgh* and vmrgl*.
65b3fca Add code coverage mapping data, reader, and writer.
4fbd136 Add code coverage mapping data, reader, and writer.
fb0326c Add an implementation for llvm-nm’s -print-file-name option (aka -o and -A).
51a4c94 Opportunistically fix the builders
9617132 llvm-vtabledump: A vtable dumper
d10aa6f After unrolling a loop with llvm.loop.unroll.count metadata (unroll factor hint) the loop unroller replaces the llvm.loop.unroll.count metadata with llvm.loop.unroll.disable metadata to prevent any subsequent unrolling passes from unrolling more than the hint indicates.  This patch fixes an issue where loop unrolling could be disabled for other loops as well which share the same llvm.loop metadata.
86854be Don't use 128bit functions on PPC32.
d24d326 [SDAG] Introduce a combined set to the DAG combiner which tracks nodes which have successfully round-tripped through the combine phase, and use this to ensure all operands to DAG nodes are visited by the combiner, even if they are only added during the combine phase.
1b1fbcc [x86] Make vector legalization of extloads work more like the "normal" vector operation legalization with support for custom target lowering and fallback to expand when it fails, and use this to implement sext and anyext load lowering for x86 in a more principled way.
24ade3b Target: invert condition for Windows
0349d54 Feedback from Hans on r213815. No functionaility change.
dee5e2c Windows: Don't wildcard expand /? or -?
b96e833 [X86] Optimize stackmap shadows on X86.
5b93c8a Replace an assertion with a fatal error
1cb9342 Use the same .eh_frame encoding for 32bit PPC as on i386.
7963749 Try to fix the bots again by moving test to X86 directory.
69280f8 X86: correct library call setup for Windows itanium
855a7e6 R600: Add FMA instructions for Evergreen
203dc9d Try to fix the bots. If this does not work, I am going to move it to X86 directory.
9a05091 X86: silence sign comparison warning
cb1ac70 R600: Add new functions for splitting vector loads and stores.
519212b Let the integrated assembler understand .exitm, PR20426.
5c87418 Remove unused field MacroInstantiation::TheMacro. No behavior change.
2604a97 Let the integrated assembler understand .warning, PR20428.
1dd6dee Include relative path for header outside the current directory.
6e1b858 Remove dead code.
3715084 AArch64: refactor ReconstructShuffle function
cf37944 Fix r213824 on windows
16fd27b Add scoped-noalias metadata
e8d5c37 Fixing an MSVC conversion warning about implicitly converting the shift results to 64-bits. No functional change intended.
6800393 [Target] Teach the query interfaces for lowering of extloads and truncstores to support EVTs and return expand for non-simple ones.
2c7c54c AA metadata refactoring (introduce AAMDNodes)
a4abc43 Prune redundant libdeps.
9d8661d Prune dependency to MC from each target disassembler.
4bc5f13 [CMake] tools/lto: Prune redundant libdep(s).
0fe305d [CMake] LineEditorTests: Add Support to link_components.
d51310e [ARM] Make the assembler reject unpredictable pre/post-indexed ARM STRH instructions.
25f4fcd [mips] Fix ll and sc instructions
de929f8 R600: Match rcp node on pre-SI
f303d03 R600: Fix LowerSDIV24
8971050 Remove unused substitution.
117dff7 IR: Fix comment from r213824
f227bf3 Remove a stray semicolon. [-Wpedantic]
9fda421 Update library dependencies.
ba86db1 R600: Implement enableClusterLoads()
2daff76 [AArch64] Fix a bug generating incorrect instruction when building small vector.
1bc34d7 [AArch64] Disable some optimization cases for type conversion from sint to fp, because those optimization cases are micro-architecture dependent and only make sense for Cyclone. A new predicate Cyclone is introduced in .td file.
d28cfd1 Fixed PR20411 - bug in getINSERTPS()
5092384 IR: Add Value::sortUseList()
ec6e535 Add a VS "14" msbuild toolset
4cae9cb SimplifyCFG: fix a bug in switch to table conversion
48b8c12 Fix the build when building with only the ARM backend.
b74b954 Document what backwards compatibility we provide for bitcode.
a25114b Let llvm/test/CodeGen/X86/avx512*-mask-op.ll(s) aware of Win32 x64 calling convention.
0bebd31 Fix indenting.
1d73b6f [x86] Rip out some broken test cases for avx512 i1 store support.
ba08e46 Reorganize and simplify local variables.
34c5b5b Finish inverting the MC -> Object dependency.
731c4f6 [RuntimeDyld][AArch64] Update relocation tests and also add a simple GOT test.
3322b7e Remove the query for TargetMachine and TargetInstrInfo since we're already inside TargetInstrInfo.
ccd1035 ArgPromo+DebugInfo: Handle updating debug info over multiple applications of argument promotion.
163a3f9 Test debug info in arg promotion with an actual promotion case, rather than a degenerate arg promotion that's actually DAE performed by ArgPromo
8c0cf3e Use an explicit triple in testcase.
adb6a36 [X86,AArch64] Extend vcmp w/ unary op combine to work w/ more constants.
4070037 X86: restrict combine to when type sizes are safe.
df48c93 DAG: fp->int conversion for non-splat constants.
2941802 [NVPTX] Add some extra tests for mul.wide to test non-power-of-two source types
ce64168 [NVPTX] Silence a GCC warning found by the buildbots
d55c7c7 Do not add unroll disable metadata after unrolling pass for loops with #pragma clang loop unroll(full).
4fa6ecc [FastISel][AArch64] Fix return type in FastLowerCall.
03f160f [NVPTX] mul.wide generation works for any smaller integer source types, not just the next smaller power of two
8b832c1 [SKX] Added missed test files for rev 213757
e2c63ff AsmParser: remove deprecated LLIR support
58ba15d ExecutionEngine: remove a stray semicolon
f47bcb3 [SKX] Fix lowercase "error:" in rev 213757
6b50a7d [NVPTX] Make sure we do not generate MULWIDE ISD nodes when optimizations are disabled
e8d7ebc In unroll pragma syntax and loop hint metadata, change "enable" forms to a new form using the string "full".
b1365e3 test commit: remove trailing space
67c325e [AArch64] Lower sdiv x, pow2 using add + select + shift.
3922da8 [SKX] Enabling mask instructions: encoding, lowering KMOVB, KMOVW, KMOVD, KMOVQ, KNOTB, KNOTW, KNOTD, KNOTQ
afb1938 ARM: spot SBFX-compatbile code expressed with sign_extend_inreg
52aa80b ARM: add patterns for [su]xta[bh] from just a shift.
ed10064 Enable partial libcall inlining for all targets by default.
3b867c9 [ARM] Make the assembler reject unpredictable pre/post-indexed ARM STRB instructions.
e35dcb6 Added release notes for MIPS.
8b62576 AArch64: remove "arm64_be" support in favour of "aarch64_be".
0f7b2e9 [ARM] Make the assembler reject unpredictable pre/post-indexed ARM STR instructions.
9231148 AArch64: remove arm64 triple enumerator.
bf0fb36 Revert r211771. It was: "[X86] Improve the selection of SSE3/AVX addsub instructions".
5a37ccc [x86] Clean up a test case to use check labels and spell out the exact instruction sequences with CHECK-NEXT for these test cases.
bd69956 [ARM] Add regression test for the earlyclobber constraint of ARM STRB.
fbf7b85 [ARM] Add earlyclobber constraint to pre/post-indexed ARM STRH instructions.
a642560 [SDAG] Make the DAGCombine worklist not grow endlessly due to duplicate insertions.
1bda2d9 We may visit a call that uses an alloca multiple times in callUsesLocalStack, sometimes with IsNocapture true and sometimes with IsNocapture false. We accidentally skipped work we needed to do in the IsNocapture=false case if we were called with IsNocapture=true the first time. Fixes PR20405!
b8d3634 Rework to let RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s pass on win32.
11e84ae Suppress a test on win32 for now, llvm/test/ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s.
4c72ce8 RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s: Use %/T here, or sed(1) would be confused with dos path.
c42cab9 Trailing whitespace.
a63fc16 RuntimeDyldMachOAArch64.h: Fix a warning. [-Wunused-variable]
8c3156e [MCJIT] Make stub_addr functionality in RuntimeDyldChecker work in release mode.
f072ab7 [MCJIT] Teach RuntimeDyldChecker to handle underscores at the start of symbols.
b9b8d09 XFAIL the test on MIPS
7edf396 [FastIsel][AArch64] Add support for the FastLowerCall and FastLowerIntrinsicCall target-hooks.
be8c68d [AArch64] Use CHECK-LABEL in ARM64 ABI unit tests.
fa8abbd [MCJIT] Improve stub_addr file-not-found diagnostic to help track down a buildbot failure.
daf061c [MCJIT] Refactor and add stub inspection to the RuntimeDyldChecker framework.
d3e2d81 Appease the buildbots.
04e8cc7 [RuntimeDyld][MachO][AArch64] Add a helper function for encoding addends in instructions.
6f2f090 [RuntimeDyld][MachO][AArch64] Implement the decodeAddend method.
214c554 [RuntimeDyld][MachO][AArch64] Add assertion to check for duplicate addend definition.
5b50a3c [RuntimeDyld] Change the return type of decodeAddend to match the storage type.
c9ea25f This patch implements optimization as mentioned in PR19753: Optimize comparisons with "ashr/lshr exact" of a constanst. It handles the errors which were seen in PR19958 where wrong code was being emitted due to earlier patch. Added code for lshr as well as non-exact right shifts.
3326ee4 Added InstCombine transform for pattern "(A & B) ^ (A ^ B) -> (A | B)"
1a1b1f7 Added InstCombine Transform for patterns: "((~A & B) | A) -> (A | B)" and "((A & B) | ~A) -> (~A | B)"
66ce49d Revert "Treat warnings in Sphinx as errors. The reasons for doing this are..."
e6113b6 Add LLVM_TOOLS_BINARY_DIR variable to LLVMConfig.cmake so clients of LLVM using CMake can easily find the tools directory.
f969d5b [ASan] Fix comments about __sanitizer_cov function
b3b2aac Make use of the align parameter attribute for all pointer arguments
50f2f14 X86: drop relocations on __eh_frame sections globally.
153dc48 Export LLVM_ENABLE_RTTI and LLVM_ENABLE_EH in LLVMConfig.cmake so clients of LLVM know if RTTI and/or EH were enabled in the build of LLVM they are trying to link against.
976824a Added LLVM_ENABLE_RTTI and LLVM_ENABLE_EH options that allow RTTI and EH to globally be controlled. Individual targets (e.g.  ExceptionDemo) can still override this by using LLVM_REQUIRE_RTTI and LLVM_REQUIRE_EH if they need to be compiled with RTTI or exception handling respectively.
578c74e This patch implements transform for pattern "(A | B) ^ (~A) -> (A | ~B)".

git-subtree-dir: llvm
git-subtree-split: cc4b123a47bc4f5e99b7cda313d517ab8ad703b8
Merge with LLVM.
Squashed 'llvm/tools/clang/' changes from 83859db..8942b6d

8942b6d Follow-up to r216380: update test expectations
1707621 [ASan] Rename the ASan dynamic RT
ccbd7ae Add hasAttr matcher for declarations.
89692cc clang-format: Understand sequenced casts.
9ec9028 clang-format: Improve formatting of nested builder-type calls.
708e338 Use range based for loops to avoid needing to re-mention SmallPtrSet size.
5780abe [modules] Fix false report of an ODR violation when merging friend declarations. We can't expect to find them in the canonical definition of the class, because that's not where they live.
1ed7bfb PR20716 - Crash when recovering from type in known dependent base.
8b2795c Frontend: unique_ptr-ify
a558d58 Move __vector long deprecation checking into DeclSpec::Finish
041b099 Implement __builtin_signbitl for PowerPC
852eed5 Don't assert on different DLL attributes in template and explicit instantiation (PR20137)
707e27b Add another test for DLL attribute inheritance to partial specializations
4b032fe Fix CodeGenCXX/dllexport.cpp test. Somehow this slipped out of my previous commit.
5148a69 MS ABI: Inherit DLL attributes to partial class template specializations
9c6a477 checkDLLAttribute: remove a redundant dyn_cast
c3209c1 CodeGen: Skip unnamed bitfields when handling designated initializers
63f1f83 [modules] When merging a tag declaration that has a typedef name for linkage purposes, look for other typedefs with that same name and merge into their named tag declaration if there is one.
309e8e9 [modules] Put class template declarations into the scope in which they're declared, rather than putting them into the template parameter scope. We previously had *no record* in the scope for class template declarations, once those declarations completed and their template parameter scopes were popped. This in turn caused us to be unable to merge class template declarations that were declared in the global scope (where we use scope lookup rather than DeclContext lookup for merging), when loading a module.
a8c7afe Fix a bad location in -Wparentheses fix-it hint
024d9c6 Objective-C. Warn when @encode'ing provides an incomplete type encoding because in certain cases, such as for vector types, because we still haven't designed encoding for them. rdar://9255564
91d7339 DebugInfo: Test that the loop backedge in a range-for is attribute to the loop header.
5ed8161 DebugInfo: for loop backedge should be attributed to the start of the for statement.
b7bb8d9 Clear the clang release notes to make room for 3.6.
dce8b37 DebugInfo: Provide scopes for C++11 range-for loop variables similar to r216288 (which was for plain-for loop condition variables).
f256e04 DebugInfo: Scope for condition variables more narrowly than the loop variable.
9375a83 Ignore -Wunsupported-dll-base-class-template by default
7d38fcd Objective-C. Update my previous patch to not warn if +initialize is called on 'super' in its implementation. rdar://16628028
78c5ce7 Fix PR17239 by changing the semantics of the RemainingArgsClass Option kind
006f3ae [test/CodeGen/ARM] Adpat test to match new codegen after r216274. Moreover, rework some patterns to actually check the emitted instructions instead of matching unrelated string!
1292e09 [analyzer] Remove check covered by -Wobjc-missing-super-calls.
99ef95c Objective-C. Warn if user has made explicit call to +initilize as this results in an extra call to this method. rdar://16628028
703e007 -fms-extensions: Alias _intNN to __intNN
53c7267 Fixing MSVC warning: "warning C4373: 'blah': virtual function overrides 'blah', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers."
dfc0ac7 [AArch64, inline-asm] Improve diagnostic that is printed when the size of a variable that has regiser constraint "r" is not 64-bit.
7276d2d MS ABI: Don't use the Itanium scheme for numbering lambdas
ca36cf5 Fix PR20705, crash on invalid.
039fc1e CGCall: Factor out the logic mapping call arguments to LLVM IR arguments.
b5dca5b [test/CodeGen/ARM] Adpat test to match new codegen after r216236.
71f992a Update for LLVM API change to remove discriminator tracking from DILexicalBlock (in favor of DILexicalBlockFile - where a default arg is used to avoid the need for API churn of those callers)
9c865a8 Update Clang for LLVM API change to use unique_ptr in SourceManager::AddNewSourceBuffer
16169e7 Return statements are initialization; don't forget to revert the initializer to its syntactic form before re-analyzing it during template instantiation.
10c57ce Simplify this logic now that -W can't be applied to remarks. No functionality change.
21b45ea Fix grammatical error in diagnostic.
4152ff7 Pass expressions instead of argument ranges to EmitCall/EmitCXXConstructorCall.
3f1e549 Coverage Mapping: store function's hash in coverage function records.
c7bc814 Refactor TLI creation. NFC.
342ba4c Objective-C. Recover from missing interface decl. and checking on availability of method declaration instead of crashing. // rdar://18059669
89699bf Range'ify some for loops over RecordDecl::fields()
19854c0 R600: Implement getPointerWidthV()
57bf16b R600: Add processor type for hainan
a528c6a Driver: Implement -cl-denorms-are-zero
ab704bc [analyzer] Don't warn on virtual calls in ctors to final methods.
ef943a9 Fix invalid test generation by utils/ABITest/ABITestGen.py when the same enum is generated more than once.
aeb085d MS ABI: Don't always instantiate all members of dllexported class templates (PR20163)
d284ced test/CodeGenCXX/dllexport.cpp: don't instantiate templates in USEMEMFUNC macro
114cb5f [test] Turn off warnings for test/Analysis/identical-expressions.cpp.
b9d3f06 Test: CoverageMapping: use "RUN: FileCheck" command instead of "RUN: cat | Filecheck".
fd55f56 Coverage mapping: fix mapping for objective-c for statement
82aa23b Coverage mapping: fix mapping for objective-c message expression
50e819a [analyzer] UnixAPI: Check that the third argument to open(2) (if present) is an integer.
820e69f [analyzer] UnixAPI: Check when open(2) is called with more than three arguments.
8ecdd0a [analyzer] IdenticalExpr: don't try to compare integer literals with different widths.
ef75d13 [analyzer] IdenticalExpr: use getBytes rather than getString to compare string literals.
b9f1d9e Objective-C [qoi]. Provide fix-it hint when sending class method to an object receiver. rdar://16263395
fa39a24 Handle SPARC float command line parameters for SPARCv9.
6aa083d Test: Coverage Mapping: add missing RUN commands
4905e06 Add tests for coverage mapping generation.
6ae7057 ext_vector IRGen. Patch to allow indexing into ext_vector_type's 'hi/lo' components when used as lvalue. rdar://18031917 pr20697
fbc9c9f C++1y is now C++14!
9a90ce5 Move the body out of line to try to fix a buildbot.
932979d Go back to having a takeModule instead of a getModule.
4e6916ab [OPENMP] Extract common superclass from all the loop directives. No functional changes (having common superclass is convenient for future loop directives CodeGen implementation)
194c27f MS ABI: Update alias template mangling for VC "14" CTP 3
82abc10 Update for llvm api change.
9adb1ed Add a warning flag for an existing diagnostic.
8312572 Update link strategy for sanitizer runtime libraries on Linux:
6dc4e613 Fix the rececl chain for redeclarations of predefined decls
e95b2a0 Store std::unique_ptr in InMemoryBuffers. NFC.
623a4f4 return a std::unique_ptr from getMainBufferWithPrecompiledPreamble. NFC.
0e34c9f Use std::unique_ptr to simplify this code a bit.
3bc6e60 Inline function into only use.
2166e87 Simplify ASTUnit::Parse a bit by passing a std::unique_ptr to it.
745e15c [x32] Handle -m64/-m32 switches by Driver in x32 mode
25d2ffa Fix a memory leak in one of the test unit. Silent coverity warning CID 1095912
01af2ae Add the break in the switch case (even if there is llvm_unreachable. It will silent coverity warning CID 1231654
09163b8 Update the call to llvm::sys::fs::UniqueID to match the definition: UniqueID(uint64_t Device, uint64_t File) Fixes CID 1095247
effa2bc Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size.
329d3b8 Use the pointer-like API of ErrorOr.
7b34374 Create a std::unique_ptr earlier.
e4b06e9 Use std::unique_ptr in a few methods that take ownership.
783cea4 Update for llvm api changes.
86925f9 Convert a few ownership comments with std::unique_ptr.
ad67cbb Do not rely on bin/ path prefix in tests.
61f219b Add a test for -no-canonical-prefixes.
b7c04bc Fix assertion on asm register that are "%"
0606cf7 Uniformed parsing of GNU attributes at line beginnning and added GNU attributes parsing FIXMEs.
76ef35d When loading a module with no local entities, still bump the size of the
a11b69c Clarify.
8bb346b Try indenting to put all the text inside the block.
c2842d5 Document what's experimental about __attribute__((enable_if)). PR20392
2fd1ed4 [libclang] Introduce clang_File_isEqual for comparing CXFile handles.
95c7500 Revert "Update for LLVM change (StringSaver)"
4a38c1f Make sure that vtables referenced from delay-parsed templates get referenced.
170ebf4 Update for LLVM change (StringSaver)
aa5769f Add a RAII class for saving and restoring instantiations and uses. No behavior change.
cd2512d Wrap to 80 columns, no behavior change.
6871abb Rename as suggested by dblaikie
e0b8ba1 ArrayRef'ize
fcd34fd DebugInfo: While loop backedge should be attribute to the start of the while statement.
a38374b Rename this function to better reflect its purpose
c733e27 DebugInfo: Fix PR19864 better - attribute the jump at the end of a range-for loop, to the start of the loop.
3a9d3ba Typo fix in comments: definintion -> definition
aa25811 [cleanup] Rename this function to better reflect its purpose. NFC.
731b3be [cleanup] Range-for'ify this loop. NFC.
df3ecd5 [cleanup] Factor out handling CC1 tools. NFC.
865561c Add missing matchers to the dynamic registry.
50b1cd7 [cleanup] Factor out setting the driver's install dir. NFC.
a0a6177 [cleanup] Factor out initializing the DianosticOptions. NFC.
3b5494b [cleanup] Factor out adjusting "cl.exe" to "clang-cl.exe". NFC.
0f3db83 [cleanup] Factor out some checks. NFC.
bcc4095 MS ABI: Virtual member pointer thunks are not unnamed_addr
a1fb0dd R600: Add ldexp intrinsic
34db924 Objective-C. Do not warn if user is using property-dox syntax to name a user provided setter name (as declared in @property attribute declaration). rdar://18022762
be9f08f Move some code into a helper function. NFC.
9a9dbd8 Use a valid arch name in this triple.
35211d0 Add isDeleted() matcher for FunctionDecl nodes.
bb74ef4 Const-correctness, return-after-else, and formatting updates. NFC.
d23589f There are no overloads of this virtual function, nor are there any callers of it. NFC.
547f9d8 Adding const-qualifiers to auto declarations. NFC.
60ea804 arm_acle.h: Small cleanup
aa20405 clang-format: Prefer breaking after return type over template param
782b0db clang-format: [proto] Understand text-format nesting without :
8444ae7 Make sure CallExpr::getLocStart doesn't segfault
99af5d6 Limit our MSVC compat hack for nested names from dependent bases
8e928eb Thread Safety Analysis:  Move -Wthread-safety-negative out of the -Wthread-safety umbrella flag, pending updates to documentation.  The flag works, but is likely to be confusing to existing users of -Wthread-safety.
1fb5438 Use a switch statement for IsIntegratedAssemblerDefault().
2974801 Thread safety analysis: add -Wthread-safety-verbose flag, which adds additional notes that are helpful when compiling statistics on thread safety warnings.
cc1aa26 [modules] Turn off a broken optimization: we need to pick up implicit special members from all redefinitions of a class that have them, in case the special member is defined in one module but only declared in another.
8ca5957 Don't Lex past EOF when lexing _Pragma
b95f6d5 Thread Safety Analysis: fix to improve handling of references to guarded data members and range based for loops.
66cf4e3 Use the big endian emulations for NetBSD/arm in EB mode.
42a4388 [AVX512] Add FMA intrinsics
8e28c57 Use the proper post-order traversal in LiveVariables analysis, to recover the performance after r214064.
fccd6cc Revert "CodeGen: When bitfields fall on natural boundaries, split them up"
7e5485c Delete support for AuroraUX.
13f22e6 Split a large unit-test, so that it doesn't exceed stack frame size in certain test environments
078a00c clang-format: Fix AlwaysBreakAfterDefinitionReturnType in Stroutrup style
4230ae8 clang-format: Support chained dereferenced assignments.
0982555 clang-format: Support breaking arguments of function type typedefs.
bd8060f Fix a crash when compiling blocks in OpenCL with multiple address spaces.
bbd242e Parse: Don't attempt to act on #pragma init_seg when not targeting MSVC
e3a8218 [modules] Factor .td-generated diagnostics stuff out into its own module; this avoids users of AllDiagnostics.h from needing to pregenerate *all* generated headers. Hopefully this will make my modules buildbot happier...
688e6c5 [modules] Don't assert if the same imported class template specialization declaration has its definition instantiated in two sibling modules and they use a partial specialization.
12d8791 CodeGen: When bitfields fall on natural boundaries, split them up
f2e6053 [modules] When we merge together multiple class template specialization definitions (because some other declaration declares a special member that isn't present in the canonical definition), we need to search *all* of them; we can't just stop when we find the requested name in any of the definitions, because that can fail to find things (and in particular, it can fail to find the member of the canonical declaration and return a bogus ODR failure).
30c1301 Sema: Permit nullptr template args in MSVC compat mode
30f2e7a clang/test/Modules/cxx-irgen.cpp: Let it tolerant of x86_thiscallcc.
c1100c1 Simplify some CodeGenTypes::arrangeXXX functions. No functionality change
cd21fe6 Objective-C. Handle case of multiple class methods found in global pool as well. rdar://16808765
32756ad Whitespace fix.
56b7cd4 ARM: Add mappings for ACLE prefetch intrinsics
e8b31f1 clang/test/Index/index-module.m: Tweak expressions to meet dos path on win32.
11f792a test/CodeGen: Don't rely on a value's number in check lines
dc812ef Objective-C. Minor refactoring of my last patch. // rdar://16808765
679b2ef [modules] Fix a rejects-valid resulting from emitting an inline function recursively within the emission of another inline function. This ultimately led to us emitting the same inline function definition twice, which we then rejected because we believed we had a mangled name conflict.
7cdaec7 Objective-C. This patch is to resolve the method used in method expression to the best method found in global method pools. This is wip.  // rdar://16808765
8d4cf9b Simplify a few loops over CallArgList/FunctionArgList. NFC
6b0c23e AArch64: Prefetch intrinsic
e68984a ARM: Prefetch intrinsics
854a022 Revert what looks like an unintended change in r215557.
9cda133 Small cleanup: Don't duplicate default behavior.
48bd217 Use std::unique_ptr to simplify memory management a bit.
7b36de5 Header guard canonicalization, clang part.
e216a3b Work around missing handling of temporaries bound to default arguments.
f9b3fc3 [Driver] Support -muclibc / -mglibc command line options for a couple of MIPS toolchains.
0608843 For NetBSD, use the same settings for PPC64 as for PPC when it comes to integrated assembler, libc++ and libgcc. Set emulation for ld for both platforms for correct -m32 handling.
7c643eb Fix crasher bug in clang-format.
c16172f Default getFile() to use the last accessed name in the FileEntry.
b3fae3d Emit diagnostic for -munaligned-access on v6m targets
fef3e20 clang-format: Format long lists in columns if without bin-packing.
3ed303a clang-format: Understand #defines defining system includes.
8402429 PR20634: add some more cases that can legitimately come after a struct declaration to our list of special cases.
bf6143f [modules] When performing a lookup into a namespace, ensure that any later redefinitions of that namespace have already been loaded. When writing out the names in a namespace, if we see a name that is locally declared and had imported declarations merged on top of it, export the local declaration as the lookup result, because it will be the most recent declaration of that entity in the redeclaration chain of an importer of the module.
ad059a3 [AVX512] Add intrinsics for FP scalar broadcasts
e971bd3 [UBSan] Add returns-nonnull sanitizer.
7c33b61 Objective-C [qoi]. Patch to not do Fix-It for fixing a messaging expression except in the simple case of a unary selector. We cannot reliably provide such a fixit due to numerous reasons where a matching selector could not be found. rdar://15756038
fc064f8 Fix the \param comments to have the parameter name.
ff09fa4 Support named values in the autocomplete feature.
4443509 Improve -Wuninitialized to catch const classes being used in their own copy constructors.
4d0e9cd MS ABI: Mangle this qualifiers on function types
58c713a [analyzer] Check for negative values used as the size of a C variable-length array.
5ddbece Verify all the module map files for a pcm are the same on load
d54ba51 Add a module cache path to test/Headers/cxx11
17735d7 Allow @synchronized to contextually convert a C++ object to an ObjC object pointer.
b452261 Objective-C. Fixes an assert where because of captured variable in block is over-aligned with an align attribute causing block metadata size not be multiple of alignment. rdar://17878679
1cb6d93 Use StringRef instead of MemoryBuffer&.
9db16bf Adding some test cases to test attribute-related source range diagnostics. This augments r214722, r214723 and r214507.
c80b428 Add documentation on how Language option in .clang-format files work.
cd177b1 clang-format: Avoid bad line break.
04f9ed5 clang/test/Frontend/print-header-includes.c REQUIRES shell due to "cd".
0e5c52d Correctly implement -include search logic.
4aeb30d Debuginfo: Correctly tag variadic ObjC methods with DW_TAG_unspecified_parameter.
b9df04c Reject virt-specifiers on friend declarations. Give anonymous bitfields a location so their diagnostics have somewhere to point.
444d8c4 Reject varargs '...' in function prototype if there are more parameters after it. Diagnose with recovery if it appears after a function parameter that was obviously supposed to be a parameter pack. Otherwise, warn if it immediately follows a function parameter pack, because the user most likely didn't intend to write a parameter pack followed by a C-style varargs ellipsis.
2f361f7 Modify behavior of -ast-dump-lookups: if -ast-dump is not also provided, dump anyway. If -ast-dump *is* also provided, then dump the AST declarations as well as the lookup results. This is invaluable for cross-correlating the lookup information with the declarations actually found.
9febd24 Change MemoryBuffer* to MemoryBuffer& parameter to Lexer::ComputePreamble
88b00c0 unique_ptr-ify FileSystemStatCache::setNextStatCache
3c85348 unique_ptr-ify the MemoryBuffer parameter of GlobalModuleIndex
7a15929 Add some FIXMEs.
133412d Sema: Properly perform lookup when acting on fields for desig inits
3806089 Revert r215365 - Coverage mapping: emit mapping for cxx constructors that use microsoft's ABI
0b98b89 ToolChains.cpp: Increase size of Lines vector in DetectDistro
f7a7b38 Increase the size of two SmallVectors in Generic_GCC::GCCInstallationDetector::init
21c38cf GCC compatibility: Ignore -fexec-charset=UTF-8 argument. It is the default in Clang. Reject other values.
4078613 Coverage mapping: emit mapping for cxx constructors that use microsoft's ABI
aed03e4 Increase the size of ToolChain::FilePaths
56b46af Increase SmallVector<> size in DiagnosticsEngine::setSeverityForGroup
a8a5ebf Work around default parameter problem in the static analyzer.
80e26f2 Fixes bug 20587 - Add K&R break before braces style
2c87bd9 Properly #include ASTConsumer.h instead of forward declaration.
dbea01e Sema: Handle declspecs without declarators in records properly in C mode
a3b5e01 Revert r215331, "unique_ptrify CompilerInstance::OutputFile(s) and remove a unique_ptr around a non-owning raw_ostream in CodeGenAction::CreateASTConsumer"
02b2fe5 unique_ptrify CompilerInstance::OutputFile(s) and remove a unique_ptr around a non-owning raw_ostream in CodeGenAction::CreateASTConsumer
b856f77 Follow up to r215323 - avoid llvm::make_unique in this particular case that's causing GCC on some buildbots some confusion.
42bd5fc Out-of-line CompilerInstance::takeSema to avoid a header dependence from CompilerInstance.h on Sema.h
b53da86 Recommit 213307: unique_ptr-ify ownership of ASTConsumers (reverted in r213325)
f1d79b5 Remove unused CompilerInstance::takeCodeCompletionConsumer
b4c4077 unique_ptr-ify CompilerInstance::takeSema
04a5a7f std::unique_ptr-ify the result of ASTUnit::LoadFromASTFile
a588e49 unique_ptr-ify FrontendAction::takeCurrentASTUnit
07e81e7 unique_ptr-ify FileSystemStatCache::takeNextStatCache
cde4013 unique_ptr-ify ASTReaderListener in the ASTReader
e46379d ModuleMap.h: Prune an obsolete "\param ModuleMap" corresponding to r215268.
131423b Fix PR20444 -- wrong number of vftable slots created when return adjustment thunks are needed
478bfc7 [modules] When considering merging a newly-declared typedef into an imported one, perform the import if the types match even if the imported declaration is hidden. Otherwise, NamedDecl::declarationReplaces will drop one of the name lookup entries, making the typedef effectively inaccessible from one of the modules that declared it.
16622ac Make this test unsupported when there is no real 'env' from a real shell. While the test was already requiring shell-preserves-root (such as the internal shell), it wasn't aware that the MSYS 1.0 env command knows how to expand root by itself!
f32274a Actually add the object file, skipped by the directory add.
0b1f3f7 Use std::unique_ptr to handle transient ownership of UnwrappedLine in ScopedLineState
a88987d Use the correct fallback directory for EABIHF targets on NetBSD/arm. From Matt Thomas.
c27f519 NetBSD/aarch64 has no libgcc or libstdc++. Drop arm64 tests.
b9c8ef2 Fix six tests are failing on Windows after r215241-r215243.
7948cb3 Fix PR20479 -- missing vftable slots in case of virtual inheritance vs return adjusting thunks
a3d8e75 Revert "Add tests for coverage mapping generation."
4da45c1 Revert a failing test from r215261
f8e5e7e [modules] Weaken an out-of-date assertion: an #undef can have no location if we imported it from a module when performing finalization before writing out an AST file.
243f2d7 Refactor the module map file used for uniquing a module name out of
630cbfc Remove some transient raw pointer ownership in ClangAttrEmitter::createArgument
28ec93e Add tests for coverage mapping generation.
253b9b6 Add predefined macros to identify x86_64h architectures.
3189dba Predefine IB_DESIGNABLE and IBInspectable macros. <rdar://problem/17441860>
a115a4d Add a cc1 "dump-coverage-mapping" for testing coverage mapping.
df1edce Simplify ownership of ExplodedGraph in the CoreEngine by removing unique_ptr indirection.
63fd633 Add -link-cxx-sanitizer driver flag.
01ad089 Extend tautological pointer compare and pointer to bool conversion warnings to macro arguments.
6149524 Objective-C [qoi]. Issue warning and fixit if property-dot syntax use mis-cased property name (which is currently accepted silently due to the way property setters are named). rdar://17911746
d4497bd Sure-up MemoryBuffer ownership in JSONCompilationDatabase's ctor.
ae784be Change __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ for versions > 10.9.
5c155ea Use llvm::sys::path::native instead of llvm::sys::fs::normalize_separators.
c43ca6b Partially revert r215204 - [mips] Add -mabicalls/-mno-abicalls to the driver
25fa8317 Objective-C. Minor refactoring of my previous patch. rdar://17554063
422dd7b Objective-C ARC. Use of non-retain/autorelease API for building Objective-C array literals in ARC mode. rdar://17554063
22efa1b Fix a bug when scan-build is used in a cross-compilation environment with the --use-cc option.
55a1129 DebugInfo: Blocks: Do not depend on LLVM argument numbering when choosing the debug info argument numbering.
1ad06b0 CompilationDatabase: Sure-up ownership of compilation databases using std::unique_ptr
c4d24d4 [mips] Invert the abicalls feature bit to be noabicalls so that it's possible for -mno-abicalls to take effect.
22a11d2 Expose the CUDA shared attribute to the C API.
d6d0486 [mips] Add -mabicalls/-mno-abicalls to the driver
b6ac242 Add missing header guards.
4ff1e1c clang-format: Prefer not to put lambdas on a single line.
a7492b9 clangAnalysis: Avoid member initializers in TempDtorContext to appease msc17.
d6283e2 Fix branch reachabiliy annotation for temp dtor branches.
16a9476 Parser: Array decls with static but without array size are illformed
3e682c4 [CMake] Upate libdeps in FrontendTests corresponding to r215145.
4f071e8 MS ABI: Don't force bases to have an inheritance model
c137a23 MS ABI: Handle member function pointers returning a member data pointer
91f0b9d Temporarily Revert "Update for llvm API change."
8bf63d9 Debug info: Use the vbtable offset for virtual bases in the MS ABI
916938c [modules] Don't defer performing updates if we have incomplete redecl chains. Instead, perform them carefully immediately.
62e6156 Objective-C arc. Switch the Objective-C dictionary literal in ARC mode to use non-retain/autorelease API variants of ObjC objects. wip. rdar://17554063
debb99e Flip the order the preprocessor and frontendaction are informed of the end of a file.
1151119 Revert "Debug info: Use record layout to find vbase offsets instead of vtables"
60a37d0 Debug info: Use record layout to find vbase offsets instead of vtables
ab7091d [modules] When emitting an update record containing the body of a destructor, also emit the updated 'operator delete' looked up for that destructor. Switch from UpdateDecl to an actual update record when this happens due to implicitly defining a special member function and unify this code path and the one for instantiating a function definition.
e4b4515 test/Modules: Use FileCheck's -allow-empty instead of "count 0"
54c1552 Mark successors as reachable/unreachable instead of changing the CFG.
4bf7752 Fix CFG for temporary dtors when the branch taken is known.
c8f9454 Model temporary destructors from logical operators with known values.
dc2fdc2 Only have one path in the CFG for ternaries if the condition is known.
29be994 Update for llvm API change.
cbcae73 Re-applying r214962.
d00775b Driver: Add tests for -fprofile-arcs and -fno-profile-arcs
30ff659 Driver: Add -fno-profile-arcs to go with -fprofile-arcs
9e2d9f2 Update the context location of the condition of a conditional operator to the question mark instead of the context of the conditional operator.  The condition does not need the context of the conditional operator at all.
ec2ad99 Make FullExprArg trivially copyable by removing the copy ctor
1bdad15 Use -Rblah, not -Wblah, to control remark diagnostics. This was always the intent when we added remark support, but was never implemented in the general case, because the first -R flags didn't need it. (-Rpass= had special handling to accomodate its argument.)
8e48d2f Add back the leading space when printing commands with -###
cce4195 Objective-C ARC. More code for Objective-C's new APIs for literals. nfc. wip. rdar://17554063
0c6a665 Revert "Fix modelling of non-lifetime-extended temporary destructors in the analyzer."
fd83e33 Objective-C ARC. Adding declarations for Objective-C's new APIs for literals. nfc. wip. rdar://17554063
8d3e43c Objective-C ARC. First patch toward generating new APIs for Objective-C's array and dictionary literals. rdar://17554063. This is wip.
b345aed FormatTokenLexer: Avoid non-static member initializer.
c9e2473 Remove unnecessary semicolon.
c5c29e8 clang-format: Correct SBPO_Always-behavior after function-like keywords
377b921 Fix sphinx warning.
71e0694 clang-format: Add special comments to disable formatting.
5b74012 clang-format: Fix indentation in multi-line placement new.
2282b76 Fix modelling of non-lifetime-extended temporary destructors in the analyzer.
564fcf1 [Driver] Add missed include header.
72492c3 [Driver] Move information about toolchain specific include directories from the common driver code to the corresponding `MultilibSet` declarations.
bab1697 MS ABI: Mangle lambdas which are given the same mangling number
8bedc02 Remove trailing whitespaces
f3e81fb MS ABI: Mangle empty type parameter packs compatibly
a8ea6ce Fix Driver tests that I broke on Windows in r214924
ac630d9 Expose the name mangling C API to Python bindings.
31cad06 Make crash diagnostics on Windows the tiniest bit more useful
75bd112 Introduce f[no-]max-unknown-pointer-align=[number] option to instruct the code generator to not enforce a higher alignment than the given number (of bytes) when accessing memory via an opaque pointer or reference. Patch reviewed by John McCall (with post-commit review pending). rdar://16254558
2e61d28 [Analyzer] fix for PR19102
f81c6d3 Added f and m flags to be ignored. These will not display a warning. The revision for this patch is here: http://reviews.llvm.org/D4570. This will help with the rebuild of Debian with clang. Here is a link to the errors that Debian is experiencing: http://clang.debian.net/status.php?version=3.4.2&key=UNKNOWN_ARG
226bee3 Added flags that should be ignored for compatibility. These flags will display a warning. Revision for this patch is here: http://reviews.llvm.org/D4565. This patch will help with the rebuild of Debian with clang and many other projects that wish to use clang. Here is a link to the errors that Debian is experiencing: http://clang.debian.net/status.php?version=3.4.2&key=UNKNOWN_ARG
2dec7c7 [PR19983] SBPO_Always not covering all the cases. Patch by "Roman Kashitsyn" <romankashicin@gmail.com>. Phabricator revision: http://reviews.llvm.org/D4788
8467662 [AVX512] Add intrinsic for valignd/q
5fc7890 ReleaseNotes: try to fix links
e7052c4 ReleaseNotes: mention basic debug info and ASan support in the Windows blurb
32f7b91 ASTMatchersTests/matchesConditionallyWithCuda: Add -fno-ms-extensions, and get rid of initializer list.
7cd7cdd ASTMatchers.h: Fix an annotation. [-Wdocumentation-html]
8a8fa04 [CMake] clangCodeGen: Update libdeps to add clangLex for PPChainedCallbacks.
6bb72d4 clang-format: Add option to always break after a function's return type.
7947557 clang-format: Break before 'else' in Stroustrup style.
633b8b6 Updating the documentation comment to list another parameter. No functional changes.
f0efbf6 MachO: set sizeof result type to what embedded headers expect.
a505280 Adds AST matchers for matching CUDA declarations.
ca7ee4e MS ABI: Make the alias template mangling more correct
e9f6fa9 ReleaseNotes: add blurb about Windows support
0500266 CodeGenObjCXX: Add a test for r214699
3fa2e5b MS ABI: Aligned tentative definitions don't have CommonLinkage
2691f6c [PPC64LE] Fix wrong IR for vec_sld and vec_vsldoi
ff0a750 ThreadSafety.cpp: Prune bogus \param(s). [-Wdocumentation]
e255811 ThreadSafetyAnalysis: Fix annotations in class members. [-Wdocumentation]
3d1e2a3 clang/test/Sema/struct-packed-align.c: Add the case in MS mode that alignment doesn't affect packing.
2fa2217 Trailing linefeed.
f57d8b3 Remove separator parameter from static local naming code
b951b14 Thread Safety Analysis: add a -Wthread-safety-negative flag that warns whenever a mutex is acquired, but corresponding mutex is not provably not-held.  This is based on the earlier negative requirements patch.
b3b9c09 Update for LLVM API change.
fd7b791 UsersManual: update clang-cl options
869e486 Don't drop dllimport from qualified friend redeclarations (PR20512)
77cab4a Nit picky const-correctness with auto. No functional changes.
a255584 A static_assert declaration cannot be a template; adding the diagnostic for this instead of silently accepting and producing possibly-unexpected behavior.
c9be733 Revert r214757 (Same fix as r214758)
d7f3049 Add CoverageMappingGen.cpp (introduced in r214752) to CMakeLists.txt
6a7e44f add lib/CodeGen/CoverageMappingGen.cpp to CMake
8bff0ff Add coverage mapping generation.
29fe700 Removing some extraneous spaces; no functional changes intended.
436bcdd Fix crash when accessing a property of an invalid interface
7e0b0ec Fix crash when assiging to a property with an invalid type
30d47b4 Diagnose GNU-style attributes preceding virt-specifiers, but only when the attribute is known to GCC. Clang accepts attributes in this position, but GCC does not, so this is a GCC-compat warning. If the attribute is not known to GCC, then the diagnostic is suppressed.
d8a1fd6 Thread safety analysis:  Add support for negative requirements, which are capability expressions of the form !expr, and denote a capability that must not be held.
5f2d818 Highlight the offending function parameter when the format argument refers to an invalid function parameter type.
a41cfc7 Highlight the offending function parameter when the format_arg argument refers to an invalid function parameter type.
54e272c clang-format: Understand parameter pack initialization.
67c4418 [Driver][Mips] Construct dynamic linker path by string concatination. That reduces a number of `if` operators and prevent a combinatorics explosion if/when more dynamic linker path variants added.
4794fa6 [x32] Add __int128 support
dd18a30 Fix tests Clang::Sema/statements.c and Clang::SemaTemplate/instantiate-expr-1.cpp when AArch64 is the default target.
5a85cc5 AST: Fix the mangling for unqualified-blocks
9160039 AST: Propagate 'AlignIsRequired' though many levels of typedefs
6a70bed PR11778: Fix the rejects-valid half of this bug. We still produce the same poorly-worded warning for a case value that is not a possible value of the switched-on expression.
997e4c4 Don't destroy MacroInfos if we find the macro definition is invalid; it'll get destroyed on shutdown regardless. Fixes a double-delete.
d569980 Driver: Simplify a use of the path API
27cfbea [Mips] Add the `mips64-linux-gnu` target to the test case to check `in128` type handling.
2726a1a Tools.cpp: Avoid std::to_string() on -fbuild-session-timestamp to appease mingw32 builder.
0dc5f63 vcfsx and dss instructions require immediates, variables are not valid.
1cf8a5c libclang/Makefile: Update LINK_COMPONENTS take #3. Sorry for the noise.
d749c02 libclang/Makefile: Update LINK_COMPONENTS take #2.
52c8d86 libclang/Makefile: Restore some components in LINK_COMPONENTS. Clang's Makefile(s) are not transitive on clang libs.
e8ce3ba libclang: Update LINK_COMPONENTS.
775e4c9 In the case of mangling collisions, make an attempt to note both definitions involved.
04ec81c [ASan] Use metadata to pass source-level information from Clang to ASan.
a95ae2c Fix test from r214577 for other timezones
b16d21a InstrProf: Update for LLVM API change
5dc696f Notional simplification: defer emitting deferred inline methods until we finish emitting everything, rather than potentially doing this reentrantly.
c274828 Actually fix problem with modules buildbot this time.
6f69702 Add -fbuild-session-file as an alternative to -fbuild-session-timestamp
d76b14a [Sanitizer] Introduce SanitizerMetadata class.
8ed8bfb Let's assume PowerPC has no SSE.
2bcf26f Re-commit r214547 with tests fixed. Hopefully all the bots will be happy now. Original message:
fded34d MS inline asm: Tests for r214550
f3bd7cf MS inline asm: Add tests for LLVM r214468
ea85150 Revert r214547 due to test breakage.
220a640 Fix iterator invalidation issues that are breaking my modules buildbot's bootstrap.
4ac262e Update build instructions for the clang-format VS plugin
a09c6cc Dropping some else-after-returns. No functional changes intended.
39163a2 Add IR Mangler for more stable mangling.
18dfa9d The GNU-style aligned attribute has an optional expression, but the generated pretty printing logic was unaware of this. Fixed the pretty printing logic, and added a test to ensure it no longer asserts.
343298a Revert r214497: [mips] Defer va_arg expansion to the backend.
306de08 Replacing some more complex logic with a helper function call to ObjCMethod::getReturnTypeSourceRange. No functional changes intended.
318e95f Xcore target: Fix CXXStdlibIncludeArgs to check 'nostdinc++' flag too.
e7f5aac clang-format: Add a space in ObjC protocols.
502d3d9 Improving diagnostic source ranges for the nonnull attribute. Now it highlights the attribute and the faulty nonpointer type when possible.
2ada1f3 Fix a memory leak - dispose of the CXString after printing it in mangling.
11089e9 Initializing the loop hint option token again.
d9b3d9a Initializing the loop hint option token.
06d81db [mips] Defer va_arg expansion to the backend.
5774697 [modules] Remove IRGen special case for emitting implicit special members if they're somehow missing a body. Looks like this was left behind when the loop was generalized, and it's not been problematic before because without modules, a used, implicit special member function declaration must be a definition.
ec4c240 Add comments to debug info testing case.
9972fd3 Remove this pointer that is converted to bool.  In well-defined contexts, the this pointer is always non-null.  If the this pointer is null, it is undefined and the compiler may optimize it away by assuming it is non-null.  The null checks are pushed into the callers.
2a1a395 clang-format vs plugin: claim support for VS 14 CTP too
e5b2a68 Fix buildbot: work around missing GCC C++11 feature.
59aecdb [modules] Maintain an AST invariant across module load/save: if any declaration of a function has a resolved exception specification, then all declarations of the function do.
0626641 Factor out exception specification information from FunctionProtoType::ExtProtoInfo. Most of the users of these fields don't care about the other ExtProtoInfo bits and just want to talk about the exception specification.
01adae8 Loop hint pragmas sometimes do not contain an identifier option (such as #pragma unroll(4)). Check explicitly that the token we stored was an identifier.
e3faa8f Implemented a diagnostic to handle multiple, distinct ownership_return attributes on the same declaration. This removes a FIXME from the code.
a05fb8f Add a state variable to the loop hint attribute.
b567f63 Local extern redeclarations of dllimport variables stay dllimport even if they don't specify the attribute
f267659 Reformat docstring to 80-col
91aa8f0 Removing an outdated FIXME. No functional changes.
fe52a33 Exposes a C API to name mangling for a given cursor.
dd5b95a Obective-C. Patch to fix the incorrect ObjcMessageExpr argument source ranges, when arguments are structures or classes. PR16392. patch by Karlis Senko
f98c887 Delay check for prototype on __fastcall functions until after MergeFunctionDecl.
60ec5f8 Automate attribute argument count semantic checking when there are variadic or optional arguments present. With this, the only time you should have to manually check attribute argument counts is when HasCustomParsing is set to true, or when you have variadic arguments that aren't really variadic (like ownership_holds and friends).
79cefc5 ms-inline-asm: Add a test to ensure that call doesn't clobber eax.
785d3d6 Fix parsing of classes where the class name is an absolute nested name specifier.
3a5597c PR18097: Support initializing an _Atomic(T) from an object of C++ class type T or a class derived from T. We already supported this when initializing _Atomic(T) from T for most (and maybe all) other reasonable values of T.
0de84a4 Sema: Disallow taking the address of a bitfield coming from preincrement
8745a3d [AVX512] Add unaligned FP load intrinsics
bbb5fd2 Revert r214333, "Add a state variable to the loop hint attribute."
dba1f9c Rename this test so that it actually runs, and fix it so that it passes.
4155dfc Updating a comment related to the implementation of -Woverloaded-virtual, and adding a FIXME to a test case. (Drive-by removal of trailing whitespace in the test case as well.)
dc0736d Update for llvm change.
229c2a3 Add a state variable to the loop hint attribute.
9f12dc4 [AVX512] Add intrinsic for knot
3576987 [AVX512] Add some of the FP cast intrinsics
da1b4a8 [AVX512] Add set1 intrinsics
be6a901 Add OpenCL/SPIR kernel_arg_base_type metadata node
09c64f6 [SKX] Enabling SKX target (Skylake server chip) a) add SKX support to Clang driver; b) add tests for SKX target and AVX512BW, AVX512DQ, AVX512VL features into clang driver tests
4dcbc9c Fix OpenCL/SPIR kernel_arg_type metadata node
6a4c46a Suppress clang/test/Sema/struct-packed-align.c also on msvc for investigating.
dd94b59 clang-format: Understand 'typename' in placement new.
0786bb1 Suppress clang/test/Sema/struct-packed-align.c for targeting LLP64.
2b80557 [Driver][Mips] Add function-wrapper so simplify creation of `Multilib` objects.
cdcaa88 AST: Simplify some code
00151dc Fix some cases of incorrect handling of lifetime extended temporaries.
529ef5e MS ABI: Mangle alias templates used as template-template arguments
04a6e2f Simplify the code.
272a846 Fix a use after free bug.
7c8f94e MS ABI: Consider alignment attributes on typedefs for layout
03cbfe0 Not all instantiated variable is odr-used. Do not mark non-odr-used variable template specializations as such.
90175cd [modules] Factor out ODR checking, to avoid unnecessary repeated work in finishPendingActions loop.
4653b56 clang-format vs plugin: include the license
f8d1c71 PR20473: Don't "deduplicate" string literals with the same value but different lengths! In passing, simplify string literal deduplication by relying on LLVM to deduplicate the underlying constant values.
68c679f Support LIBRARY_PATH on all Darwin targets.
90a7f5e Provide warning name for property attribute warning mismatch. //rdar://17845264
39ef195 Revert "Fix test case in r214190. (It failed on my end.)"
d7f857c Fix test case in r214190. (It failed on my end.)
ba8f34e Fix typo.
90d5170 Fix PR10177 where non-type template arguments to alias templates are not marked as used in dependent contexts. The fix actually forces non-dependent names to be checked at template definition time as expected from the standard.
f632a0cc [Debug Info] update testing case due to change in DIBuilder.
93c9157 Modify how the loop hint attribute is printed as a lead-up to supporting constant expression values.
fa3d66d DataflowWorklist.h - "We should have a description here of what this code does, not just where it's used."
be1d5dc AArch64: Resolve some FIXMEs in CGBuiltin left over from backend merge
d90e020 [OPENMP] Additional comments for implicit 'flush' clause + removed unused parameter from method classof().
69576d7 3.5 => 3.6
8ce8d44 Revert "Emit column debug information for loads"
944dbbe Emit column debug information for loads
8c111ed [modules] Add testcase for a bug reduced from a selfhost issue. This bug was never present in Clang trunk, but was present in some of my development work, and it seems like a useful test to have.
50c2f97 Revert accidentally-committed files in r214151.
023d791 [modules] Add missing #include, found by modules build. We need a class definition in order to apply isa<...>.
0f58539 Fix up handling of ARM options for controlling strict alignment.
3bd4314 Add a location to MS inline asm blobs
0655d20 Remove a nonsense friend declaration.
e0181c7 [Debug Info] add DISubroutineType and its creation takes DITypeArray.
1e7f3f1 [modules] PR20475: merging support for alias template declarations.
d0ae335 Change __INTx_TYPE__ to be always signed. This changes the value for char-based types from "char" to "signed char". Adjust stdint.h to use __INTx_TYPE__ directly without prefixing it with signed and to use __UINTx_TYPE__ for unsigned ones.
5b5ca53 [Debug Info] rename getTypeArray to getElements, setTypeArray to setArrays.
419d93b Add another keyword-selection flag to CorrectionCandidateCallback.
32dddbf Fix MSVC warnings about falling off the end of a non-void function
8935beb [AVX512] Add non-masking FP store intrinsics
264c7d4 [AVX512] Add FP add/sub/mul intrinsics
c7ad6d3 [AVX512] Reorder functions in avx512fintrin.h
bca1ae4 [AVX512] Bring the formatting of avx512fintrin.h closer to avxintrin.h
69e0324 [AVX512] Add CHECK-LABELs to test/CodeGen/avx512f-builtins.c
da95110 Objective-C. Improve diagnostic when property is not auto synthesized in current implementation. rdar://17774815
61e498a Thread Safety Analysis:  Replace the old and broken SExpr with the new til::SExpr.  This is a large patch, with many small changes to pretty printing and expression lowering to make the new SExpr representation equivalent in functionality to the old.
852e1d5 [TEST] Improve tests for #pragma clang optimize off/on
fdcb161 clang-format: [proto] Improve formatting of text-proto options.
7a5b206 clang-format: Improve operator and template recognition.
accdaf1 [PowerPC] Support ELFv1/ELFv2 ABI selection via -mabi= option
ad9a858 clang-format: Improve pointer/reference detection.
a0e9d76 clang-format: Fix unary operator recognition.
b1a732e clang-format: Fix formatting of lock annotations in lambda definitions.
0b98d32 DataflowWorklist.h: Appease msc17 -- Split a private constructor to DataflowWorklistBase.
5b4b6e9 Factoring DataflowWorklist out of LiveVariables and UninitializedValues analyses
0a07c05 Add missing override keyword to OpenBSD IsIntegratedAssemblerDefault().
6dc3bcd Wrap to 80 columns. No behavior change.
66829d2 Fix default argument comma disambiguation bug following the 'template' keyword.
c5011a1 When looking for temporary dtors while building the CFG, do not walk into lambda expressions (other than their capture initializers) nor blocks. Do walk into default argument expressions and default initializer expressions.
294342a [modules] Add some missing record names. We really should be generating this from a .def file or similar...
d1da606 [modules] Add abbreviation for ImplicitCastExpr. This is the most common record type in LLVM's IR module.
0287879 Wrap to 80 columns. No behavior change.
7e330dd Wrap to 80 columns. No behavior change.
ea39f32 Wrap to 80 columns, no functionality change.
4ab2452 Objective-C. Issue more warning diagnostic when certain properties are not synthesized in property auto-synthesis, as it can potentiall lead to runtime errors. rdar://17774815
917ace5 [Driver][Mips] Check output of -dynamic-linker arguments by the Clang driver for a couple of MIPS toolchains.
82ab1c5 [modules] Improve abbreviations for C++:
9bca33e Parse: Don't crash on trailing whitespace before EOF
bebff1b clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp: Fix for -Asserts, like CHECK64 does.
4f9419b If a template argument is non-evaluable expression, use the profile ID to see if the two arguments are equal.
93ada20 MS ABI: Use musttail for vtable thunks that pass arguments by value
c5b1da2 Remove an extra parameter and C++11 for loop-ify this code
781d491 Add a missing close quote in "while building module 'Foo:" diagnostic.
6cf872c R600: Add processor type for Mullins
4026b3e Revert new test from 213993.
d9828f9 Improve -UNDEBUG binary size. We don't need a different assert fail message for each different enum value here.
2bb6b0c Use -enable-global-merge option to match llvm r210639. <rdar://problem/17803206>
289357e clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp: Appease -Asserts build.
fa5442b MS ABI: Ensure 'this' is first for byval+sret methods
d898c50 Add test case for fix of linkage bug that miscompiled variable templates instantiated from similarly named local types (cf. r212233)
686569c Fix my broken test case in NDEBUG  :(
465a23c Fix my busted FileCheck invocation
aea8269 MS ABI: Don't push destructor cleanups for aggregate parameters in thunks
423eb50 Now that PIC generation on PPC32 is supported, hook up linking support for NetBSD.
c7e6bb7 Revert r213437 We no longer plan to use __except_hander3 and rather use custom personality functions per __try block.
11b178d Objective-C. Warn if protocol used in an @protocol expression is a forward declaration as this results in undefined behavior. rdar://17768630
f87a07a Return a StringRef in getDefaultUniversalArchName.
cee97e0 clang-cl: Add support for /Zp
63c7f0d [Driver][Mips] Remove "fp64" directories from the mips-mti-linux-gnu toolchain directories description. Released version of this toolchain has not separate libraries for -mfp64 command line option.
024c76d Revert part of r206963
5312c46 [OPENMP] Improved codegen for outlined functions for 'parallel' directives.
835aa85 [OPENMP] Improved DSA processing of the loop control variables for loop directives.
1297b77 [modules] Substantially improve handling of #undef:
a04b2e4 Fix test/CodeGen/ms-inline-asm.c from r213916.
a35420a Fix test/CodeGen/ms-inline-asm.cpp from r213916.
e26841e clang-cl: Merge adjacent single-line __asm blocks
fc29126 PR20445: Properly transform the initializer in a CXXNewExpr rather than running it through the normal TreeTransform logic for Exprs (which will strip off implicit parts of the initialization and never re-create them).
fd8641c Pass the PrintingPolicy when converting types to strings in template type diffing.  This removes extra "struct"/"class" in the type names and gives "bool" instead of "_Bool" for booleans.
54de80a Print "(default)" for default template template arguments to match the printing of other types.
8b5a8d7 Use ELF in the clang-interpreter on windows.
5f8184d Preserve libclang ABI compatibility with  the 3.5 release
bb34946 Add support for #pragma nounroll.
21c9768 Attempt at fixing the windows shared build.
26c5f1d Use MCJIT.
91f3b5f Remove the last use of llvm::ExecutionEngine::create.
f9bba08 Improving the "integer constant too large" diagnostics based on post-commit feedback from Richard Smith. Amends r213657.
66082df Setting the documentation heading for #pragma unroll, which should not be with the heading for #pragma clang loop.
5ce5cbd [CMake] LexTests: Prune redundant libdep(s).
a212e41 MachO: use "arm64" as the triple name in modules.
22c2a00 [OPENMP] Initial parsing and sema analysis for clause 'seq_cst' of 'atomic' directive.
419a459 [OPENMP] Initial parsing and sema analysis for clause 'capture' in 'atomic' directive.
0aa01aa MS ABI: -fno-rtti-data wasn't data-free enough
6078b27 Add support for nullptr template arguments to template type diffing.
b9ea932 [modules] Slightly expand module semantics documentation.
a7f8a19 Simplify MacroInfo lifetime management. We don't need three different functions to destroy one of these.
9b133b1 [OPENMP] Fixed DSA detecting for function parameters: by default they must be private.
ca240a9 Take the canonical type when forming a canonical template argument with 'nullptr' value. Fixes profiling of such template arguments to always give the same value.
2eb4379 Remove unused Prev pointer from MacroInfo chain.
30c7311 Replace r213816's fix with a different one. It's not meaningful to call isOnePastTheEnd on an invalid designator, so assert and push the check into the one caller that wasn't already checking.
bc962cf Split -Winvalid-command-line-argument into -Wignored-optimization-argument
ee41dd0 Add a missing Invalid check to SubobjectDesignator::isOnePastEnd()
6bf6289 PR20228: don't retain a pointer to a vector element after the container has been resized.
c54d5f7 Rename metadata in test which was missed when renaming loop unroll metadata in r213771.
81e2f71 In unroll pragma syntax and loop hint metadata, change "enable" forms to a new form using the string "full".
f4b5ece Fix test/Driver/cl-x86-flags.c by providing explicit --target
ad4bdd5 Add stopgap option -fmodule-implementation-of <name>
d331304 Prevent assert in ASTMatchFinder.
5a6d481 AArch64: use aarch64_be instead of arm64_be in all tests.
eb8c2c9 AArch64: update Clang for merged arm64/aarch64 triples.
51afa47 [mips] -mno-shared should only be given to the assembler when -fPIC/-fpic/-fPIE/-fpie is not in effect.
450760e ASTMatchers: Bound node results are always const, make selectFirst's template argument implicitly const.
d380fa4 [OPENMP] Initial parsing and sema analysis for 'update' clause of 'atomic' directive.
08c4b31 [Driver][Mips] Restore FIXME comment was removed accidentally.
25c5dd2 ARM: Add doc for ACLE memory barrier intrinsics
a5c80df Add module map entry for ARM ACLE header file
298a818 [OPENMP] Initial parsing an sema analysis for 'write' clause of 'atomic' directive.
2203f2c Improve diagnostic on default-initializing const variables (PR20208).
1c07772 AST printer: fix double space before base class with no access specifier.
7f45156 When pretty-printing a declaration of a pack, put the ellipsis before the name being declared, not at the end. When pretty-printing a non-type template parameter, put the name of the parameter in the middle of the type, not at the end.
73ef460 [OPENMP] Initial parsing and sema analysis for 'read' clause in 'atomic' directive.
9376631 test: add an explicit target triple
6ffcd70 PR14615: add (passing) tests for this already-fixed bug
6057f92 Use the correct from type in a SCS

git-subtree-dir: llvm/tools/clang
git-subtree-split: 8942b6df63d58741f853eca36c0e19056bbae4bc
Merge with Clang.
Merge with Clang.
Squashed 'llvm/tools/lldb/' changes from 9ebe97c..f94ccdc

f94ccdc Add a little documentation for the register kinds and the method to convert between them.
729e6c8 Resurect preprocessor definitions that got lost moving to HostInfo
1750359 I forgot to include the header file for std::find, and that's breaking the Linux build. Push a fix out. Patch suggested by Paul Osmialowski and Randy Smith
224300f Initialize LLVM when LLDB is initialized, and install a crash handler.
dbfb9fa Fixed a problem where IOObject was wrongly capitalized.
86a629f Extend the encoding parser to support the @typeName syntax for Objective-C object types
d914221 Fix a couple of potential issues in the lexer where we were ignoring the putback data
cc260f9 Fix a CMake error when using CMake 3.0.1
9e5af40 When adding a dSYM to an existing ObjectFile, we can have a situation with binaries in the dyld shared cache (esp on iOS) where the file address for the executable binary (maybe from memory, maybe from an expanded copy of the dyld shared cache) is different from the file address in the dSYM.  In that case, ObjectFileMachO replaces the file addresses from the original binary with the dSYM file addresses (usually 0-based) -- lldb doesn't have a notion of two file addresses for a given module so they need to agree.
380d1b2 Fixes a few more places where we were manually setting the filename.
78e3827 Bump the verison number in the xcode project files.
0d0f1cb Two small fixes to get Mac native + debugserver working after the HostInfo et al changes from Zachary.  Changes suggested by Zachary - fixes the problems I was seeing.
a246b6a Add missing HostInfo::Initialize() in llgs.
dbd3e59 Move the rest of the HostInfo functions over.
9386022 Fix compile error on Linux due to previous commit.
01af84b Move GetUsername and GetGroupname to HostInfoPosix
6d0e5ba Convert static constructors to be explicitly initialized at startup
340fb0c Move Host::GetLLDBPath to HostInfo.
fc4ce63 Fix on Linux for ReadThread lingering after inferior exits
2cf4d54 Fixed a typo.
2a67961 Add software breakpoint support for Linux aarch64.
a8d106f Enable more Linux aarch64 PTRACE support for local and remote debugging.
48914e4 Revert "Avoid global contstructors and place static variables inside classes as static local variables and remove the static ivars. Subclasses should use the accessor functions."
c7ed8a5 If an executable file is specified with no architecture and it contains more than one architecture select a compatible platform if all architectures match the same platform.
75dd6b4 Avoid global contstructors and place static variables inside classes as static local variables and remove the static ivars. Subclasses should use the accessor functions.
9a38f4d Fix warnings about overloaded virtual functions.
b071fa0 Move Host::GetArchitecture to HostInfo::GetArchitecture.
e788e7c Changes uint to uint32_t.
da974cd Add an accessor to ValueObject that determines if the object represents a base class, and also returns the depth of base-class-ness. For instance if one has class C : public B {} class B : public A {}, the value for A nested in B nested in C would be a base class of depth 2
010f6d3 Attempt to keep the Linux build happy in face of my changes. Non-Apple folks, can you confirm that this is good enough to keep things building for you?
fd657d9 This is a fairly bulky patch, but a lot of it involves rearranging existing code What it does:
228304d Fix FreeBSD build after r215992
b9a6884 Refactor the hardcoded formatters facility to use sequences of lambdas - still no feature change as none are present now, but this feels cleaner. Also, hardcoded formatters do not need to be per-type, so disable caching thereof
25514df Add includes needed for FreeBSD.
b125909 Adjust process launch --disable-aslr to take true/false value.
93f8733 Fix .clang-format file to adhere to LLDB 140 column limit.
ef86ba5 Move some Host logic into HostInfo class.
0cee62e Buffer not null terminated CID 1094354
a083c0d Update for llvm api change.
a233b23 Cleanup how we listen for process events by using the broadcaster class name instead of having to catch each process instance as it comes alive.
d23e79a Don't search for module resources at all if the setting is set to "false".
29d5945 Added newline at end of file to avoid compiler warning.
cacd630 Fix an issue with source file groupings in the CMake build.
592486a add missing break. Fix CID 1229446 & 1203680
69c0ee7 Fix the missleading indentation. Fix CID 1096332
5dae16f Fix the missleading indentation. Fix CID 1096300
4471b46 Update comment for functionality not present in ObjectFile
ac46ed5 Fix Linux to respect ASLR settings when launching processes to debug locally and remotely.
f679e0f Enable the data formatter for std::vector<bool> on libc++ again. In recent clang builds, we are vended a different typename, which the formatter needs to match against.
690c1c4 When attempting to print function names with arguments in frame formatting, attempt to detect templated functions, and replace the argument list with values outside the template marking. Turns C::f<(this=0x00007fff5fbffb70, x=2, y=1)0>(int, int) into C::f<(C::V)0>(this=0x00007fff5fbffb70, x=2, y=1), which definitely looks more like the real thing. Fixes rdar://14882237
7f09bc0 In order for the debug script filename to be valid as a module name, LLDB does some textual replacements. However, if one were unaware of this, they might name their script using the 'untampered' file name and they would get no feedback about it. Add logic to LLDB to make sure we tell people about those changes if it turns out they might need to know. Fixes rdar://14310572
c0d8994 In the CMake build, convert lldbHost to be a single static library.
1298de7 Still trying to fix the Make build.  Link lldbHostPosix to liblldb
3811632 Add functions to ClangASTContext to get integer types of a given byte size
039a89e Try to fix the Make build
c860c49 Remove another of the llvm given warnings from the list of warnings we compile with because of SWIG generated code.
4c0d481 Move FileSystem functions out of Host and into their own classes.
612aec6 Fix dependency ordering for the xpc file installs.
c0fba22 Missed a few places where we need to report unreadable executables.
6a2d615 Don't crash when specifying a core file that isn't readable.
9d515f4 Fix a thinko in the process list formatting. Made Process::Attach list the matching processes if there is more than one match.
fbb3583 Fix typo in error message.
b6cfe0e Update .gitignore for MacOSX
d0600c0 fix the _regexp-break command to allow quotes around the name:
1a70816 Fix 'pid' and 'executable' fields in the list-thread-group.
6c483f7 Implementation of exec-run using lldb API.
9883500 Fix command "gdb-set" to handle long option --threadgroup and accept --longOption type words as just words for string types. For example, MI command "17-gdb-set --thread-group i1 args --interpreter" is now acceptable, "--interpreter" was previous not valid.
5728efb Modification to clang-format style.
c0ac9ad Refactor FileAction out of ProcessLaunchInfo.
12116c5 Don't enable STDIN for cases where we are supplying lines to be run in the embedded python interpreter.
721ab0d <rdar://problem/18001677>
4e08fef Update clang-format file.
72424c1 Use consistent capitalization for ENABLE_THREADS in tests
44078af Get test executables compiling on Windows.
bc5161c gcc_esp_i386 and gcc_ebp_i386 had their values backwards for i386 eh_frame register numbering, encoding a darwin-specific bug in the register numbering.  Update the definitions to be the correct values, Darwin can use the register numbers from debugserver.  Patch from Tong Shen.
6ab0392 Add comment explaining the dwarf v. eh_frame register numbering used on i386 darwin.
ae46bcd Fixed launching in shell on haswell enabled Macs to work more than once when you do:
c7af158 llgs: corrected Linux signal reception notification for SIGABRT, SIGSEGV and their ilk.
b2ce15b Fix iohandler prompt race condition.
5032540 Fix incorrect Linux i386 register info initialization on x86_64.
8483c3a Fetching the parent frame may fail, handle that case.  Patch from Tong Shen.
07b078a Remove a few uses of LLDB_DISABLE_POSIX.
0033003 Patch to enable LLDB to extract value bytes from DWARF block forms and udata/sdata forms. By Greg Clayton
4c6368f Fix some typos: * transfered => transferred * unkown => unknown * sucessfully => successfully
394eb9e Also build lldb-gdbserver under KFreeBSD
f5cb022 Windows: update for LLVM API change
d541d12 Host: remove unused function
7cb6be5 Implement some common file operations on Windows.
b4d5c9c Fix a bug where SetFilePermissions was calling MakeDirectory.
bcac7d9 Fix bug causing FileSpec::GetPath() to crash with a null dest.
6bcd6c9 Fix some python shutdown / ordering issues.
2f6de97 Add an option to suppress the persistent result variable when running EvaluateExpression from Python.  If you don't need to refer to the result in another expression, there's no need to bloat the persistent variable table with them since you already have the result SBValue to work with.
c849a6f Fix a thinko in the memory allocator that was causing us to strand an allocation range in all but one of the AllocatedBlocks that matched the requested permissions.
95cd887 Restore some reverted fixes for spelling, newlines and __linux__ macro.
5b42451 Add new MI commands, features and fixes to the lldb-mi driver.
67dfd3c Add newline at end of IOObject.h to silence clang warning.
55ca990 Don't duplicate the logic of the ThreadPlanShouldStopHere::DefaultShouldStopHereCallback in the ThreadPlanStepInRange's implementation, just call it...
0c022d1 Disable the command pipe in ConnectionFileDescriptor for Windows.
d55c9cf Revert "Fix the build broken as a result of deleting jit from LLVM."
a31c53e Restore the handling of the --arch argument passed to the Driver that was inadvertently removed in r214319.
8a99663 r215124 missed a few Mac OS X only uses of FileSpec::Resolve, fixing to match the new signature.
a500cab Fix the description of FileSpec::Resolve to match the new signature.
576eb36 StringLexer: Fix CMake build
f2bfdfd Use standard realloc so FreeBSD Host.cpp can use glibc
5dda5d6 Add a StringLexer utility class that can be used when you have string data that needs to be parsed - I don't think such a general purpose facility is part of LLVM, and I am going to need this, so just add it to lldb_utility
f454b4f Optimizations for FileSpec.
37fd410 Fix FileSpec to be able to understand Windows paths.
9ddf769 Fix the build broken as a result of deleting jit from LLVM.
cfa2f9d Fixed the build broken by the r215046.
b1bd2df Fix ProcessKDP after Host/Socket addition
d5832f8 Creates a socket host object.
db3cb6a Add decorators for tests failing to build on the lab.llvm.org FreeBSD buildbot
a968b25 When stepping, handle the case where the step leaves us with the same parent frame, but different current frame - e.g. when you step past a tail call exit from a function.  Apply the same "avoid-no-debug" rules to this case as for a "step-in".
b7aa5d7 Probably should initialize that new ivar while I'm at it...
1822181 Add a variant of the CommandOverrideCallback that takes a CommandReturnObject.  Otherwise, all the overridden command can do is say it overrode the command, not say what it did...
72d77da Force trace on system() failure on FreeBSD while tracking down buildbot issues
87c3716 On FreeBSD skip test that produces bogus output
4784134 If you found a step through plan stop looking up the stack for a step out plan.
d9c1e8a Add some useful logging to the step log.
ab9086d Teach ProcessWindows plugin to support stdio i/o redirection.
364f7f2 Add code to AssemblyParse_x86::get_non_call_site_unwind_plan to recognize an epilogue that ends with a jmp to objc_retainAutoreleaseReturnValue instead of a ret instruction. <rdar://problem/17889928>
b12135e Change ProcessGDBRemote::DidLaunchOrAttach to call Target::SetArchitecture instead of modifying a reference to the target's architecture so that the target logging can show that the arch has been changed.
3c9eeef Make the swig generation script use the correct python executable.
65f3885 After you attach, give the process plugin a chance to report back (through DidAttach) the architecture of the binary you attached to.
a1f6963 Now that setting an architecture from a mach-o CPU type and subtype doesn't set the OS type, make sure to set it.
d08bf9b Fixed a problem in the Clang AST importer where we overrode debug information as the authoritative source for type information, substituting types from the Objective-C runtime.  The runtime should never be the primary source.
81ad5c0 Don't hand compute mydir, do it using "TestBase.compute_mydir(__file__)".
d3b9b17 Convert over to using pipes for the initial LLDB commands in the Driver.
5308027 Add decorator for FreeBSD test failure - malloc() breakpoint issue
5b5c15d Fix test execution: the cmake keyword is CACHE, not CACHED
26d6f06 Update the code with clang changes r214450 (FunctionProtoType::ExtProtoInfo update)
84e3ef7 Change the encoding of the Triple string exchanged across GDB-RSP and update documentation to suit, as suggested by Jason Molenda and discussed in:
d89509c Make CMake choose the target architecture according to the build.
cf26757 Remove shell-globbing from all test makefiles.
d670a56 Fixed an issue where the LLDB command prompt isn't interactive if you use -o -O -S -s or specify a file on the command line.
aeb77e1 Rewrote the initial DW_OP_piece support to be able to support opcodes like:
5ebb9d1 Add decorator for TestStopHookMultipleThreads failing on FreeBSD
53821a6 Add a new directory path to PlatformDarwinKernel::GetGenericSDKDirectoriesToSearch  - /Library/Developer/KDKs where users may store the kernel debug kits on their systems.
54978ef When doing an exhaustive search for the kernel in memory, also look at 16k offsets. <rdar://problem/17861781>
3132883 Disable test on Windows.  script print deadlocks on Windows.
5be7a50 When resetting the number of children on a ValueObject, also clear the existing children. This avoids issues where dynamic types change, but children stay the same
42f16b1 Revert a part of r214335 that I didn't mean to commit
215f928 Improve the way the ObjC data formatters fetch a valid frame to use for running expressions against
59a1f27 Reflect changes in LLVM getTypeInfo() API
229961e lldb is a scope, not a label
a1ee0aa Fix build: remove bogus ./ at end of line
4ecf6f2 Use Process::ReadMemoryFromPointer() instead of manually reading the pointer.
b3ec1c2 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@214319 91177308-0d34-0410-b5e6-96231b3b80d8
c83b319 Use __linux__ macro throughout, instead of ocasional __linux.
259c69e Silence a warning saying "typedef requires a name" from clang.
42383e2 Add $vAttach support to llgs.
7a7801d Attempt to fix the expression parser after r214119
32f0d4a Remove unused variable that was causing a warning.
18d3af4 Resolve the executable _before_ we try to get the module specifications.
ce1cdcc Use the most up to date dsymutil on Darwin, not the one in /usr/bin/dsymutil.
43b464f [Windows] Delegate str[n]casecmp to the appropriate MSVCRT func.
1896d93 When constructing an ArchSpec from a MachO cpu type and subtype, don't set the OS for x86_64 and x86 in case the binary ends up being for macosx or ios.
599d51e Fix compile error on Windows.
f427854 Fixup TestStepNoDebug to cleanup properly on shutdown.
a08bd4a Teach LLDB about Windows processes.
d0ccba3 Use llvm Support functions to get the user's home directory.
0c9789a Fix supported architectures on PlatformWindows.
b720040 Fix the MSVC build.  MSVC does not support constexpr.
fed1722 Test commit, please ignore
e8fc6b0 llgs: add --reverse-connect support.
cca6c01 Minor fixups to documentation for Process::Launch()/DoLaunch().
2a367a2 Fix an x86 assembler stack unwind calculation for non-volatile registers.
03dd9fd Fix configure/make builds on MacOSX.
8b3aa36 We were turning off all these tests on OSX and FreeBSD because of a known (and fairly unimportant) bug. Keep a test for that bug, but let the useful parts of the test run anyway.
73499d7 Fix endian test for big-endian hosts
583a44b Add debug asserts / sanity checks to GDBRemoteRegisterContext::ReadRegisterBytes and GDBRemoteRegisterContext::WriteRegisterBytes to ensure we don't try to read/write off the end of the register buffer.  This should never happen but we've had some target confusion in the past where it did; adding the checks is prudent to avoid crashing here if it happens again.
41b9610 Increase the gdb-remote packet timeout for the first packet we send to the remote side (QStartNoAckMode) - it may take a little longer than normal to get a reply.
3c32335 Add a .clang-format file to enhance formatting experience with clang-format
12fc226 ObjectFileMachO: Silence signed/unsigned comparison warning
43429cc Ensure that if some unspecified person were to pass in an invalid architecture when trying to create a target, that it would fail, but not cause LLDB to crash.
a2fe542 Make sure we don't crash if someone (E.G.) comments out on entry from g_core_definitions[] without removing the ArchSpec::Core enumeration when submitting from source.
81678e5 Add kalimba architecture checking to TestImageListMultiArchitecture
110c237 Improve documentation on triple encoding expectations for qHostInfo response.
baf4eb1 Update lldb to track recent Triple arm64 enum removal and collapse into aarch64.
27de48b Plugins: silence a few more signed comparision warnings
3840ab6 Target: silence a GCC warning
3296875 Enable lldb-platform exe support for Linux.
f91d338 SBCommunication: Fix a pointer-to-function to void-pointer cast
97ab27c ScriptInterpreterPython: %p should be used with void-pointer
3fa84d1 Host: Fix a pointer-to-function to void-pointer cast
1124b27 SBHostOS: Fix a pointer-to-function to void-pointer cast
d149678 PluginManager: Don't cast from void-pointer to pointer-to-function
e0a778e TypeSynthetic: Fix a pointer-to-function to void-pointer cast
d371bf8 Mangled: Fix an 'unused variable' warning on GNU/Linux
0875205 Dramatically improves C++ demangling performance by introducing a new implementation that is much faster than the existing demangler.  While not yet complete, the new demangler will fail gracefully when it encounters symbols it isn’t prepared to deal with.  In these cases LLDB will fall back to using the full demangler to prevent a loss in functionality.  On sizable code bases the fast path succeeds 95% of the time, providing a significant net win.
1e36446 Make the test runner understand Windows command shell execution.

git-subtree-dir: llvm/tools/lldb
git-subtree-split: f94ccdcac615f055e5bf3fd4198932df8a88ba84
Merge with LLDB.
Finish merge with LLVM/Clang/LLDB.