Squashed 'llvm/' changes from 861e4db..3560137

3560137 Fix unnecessary line break
9c3ac92 blockfreq: Some cleanup of UnsignedFloat
72eedb3 [rtdyld,c++11] Range'ify symbol table walking.
e6b88dc Tidy up. Remove extraneous typedef.
6763d96 Object: iterator_range accessors for ObjectImage symbols and sections.
9a11d66 Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl"
d5ebbc5 CalcSpillWeights: Hack to prevent x87 nonsense
85af3e7 Fix the test: DCE optimized away everything.
7e0b3fb [msan] Enable out-of-line instrumentation for large functions by default.
3c390e5 Appease autoconf build since X86Disassembler.c has been disappeared in r206717.
f161a91 [asan] add a run-time flag detect_container_overflow=true/false
7426771 Convert getFileOffset to getOffset and move it to its only user.
d329c79 Reapply r206732. This time without optimization of branches.
acbc9cb [asan] add llvm-ish test for memset/etc instrumentation
470565b [asan] instead of inserting inline instrumentation around memset/memcpy/memmove, replace the intrinsic with __asan_memset/etc. This makes the memset/etc handling more complete and consistent with what we do in msan. It may slowdown some cases (when the intrinsic was actually inlined) and speedup other cases (when it was not inlined)
57418d8 [PM] Add a new-PM-style CGSCC pass manager using the newly added LazyCallGraph analysis framework. Wire it up all the way through the opt driver and add some very basic testing that we can build pass pipelines including these components. Still a lot more to do in terms of testing that all of this works, but the basic pieces are here.
6060969 [PM] Fix a bug where we didn't properly clear the list map when the list became empty. This would manifest later as an assert failure due to a non-empty list map but an empty result map. This doesn't easily manifest with just the module pass manager and the function pass manager, but the next commit will add the CGSCC pass manager that hits this assert immediately.
2b34335 llvm/test/CodeGen/X86/bmi.ll: Relax expressions for targeting win32.
84c70a7 [asan] temporary disable generating __asan_loadN/__asan_storeN
1d16fde [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API.
4d3682b [PM] Wire the analysis passes (such as they are) into the registry, and teach the opt driver to use it rather than a manual list.
f69bb5e [X86] ISEL (and X, <constant mask>) to BZHI when BMI2 is available.
a21cd04 [PM] Add a nice low-tech registry of passes as a boring macro expansion file. This will make it easy to scale up the number of passes supported. Currently, it just supports the function and module transformation passes that were already supported in the opt tool explicitly.
81549a0 Revert r206732 which is causing llc to crash on most of the build bots.
215fc7d [asan] insert __asan_loadN/__asan_storeN as out-lined asan checks, llvm part
7d5100d Implement builtins for safe division: safe.sdiv.iN, safe.udiv.iN, safe.srem.iN, safe.urem.iN (iN = i8, i16, i32, or i64).
29e0c0b [LCG] Add some basic debug output to the LCG pass.
1df9ce8 Protect the ArgList dtor
f4a2635 Add missing #include found by modules build.
f2eb936 Remove comment that hasn't been true for 5 years
7117d73 Use unique_ptr to handle ownership of synthesized args in DerivedArgList
f8107eb C++ has a bool type! (And C's had one too, for 15 years...)
4c09131 More C++ification.
5c1b738 Remove some more C junk from these files.
6f37488 Don't provide two different definitions of ModRMDecision, OpcodeDecision, and ContextDecision in different source files (depending on #define magic).
5aacafc Don't define llvm::X86Disassembler::InstructionSpecifier in different ways in different source files.
4b35598 Maybe if I touch this file the buildbots will actually rerun configure like they need to...
fe0e7bb What year is it! This file has no reason to be written in C, and has doubly no reason to expose a global symbol 'decodeInstruction' nor to pollute the global scope with a bunch of external linkage entities (some of which conflict with others elsewhere in LLVM).
8612f6b [Mips] Add more special values for the st_other field in the symbol table entry for MIPS.
1eed890 [C++11] Range-based loop simplification.
8f59021 Fix redefinition of default argument, found by modules build.  It's not entirely clear whether this should be valid with modules enabled, but the fixed code is cleaner regardless.
8f5a7de Remove some empty statements
be76c2a ProfileData: Remove an extra semicolon
f44eda4 Revert "blockfreq: Rewrite BlockFrequencyInfoImpl"
c404a53 Revert "blockfreq: Temporarily turn on -debug-only=block-freq"
69552aa blockfreq: Temporarily turn on -debug-only=block-freq
f465370 Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl"
64b2297 Patch by Vadim Chugunov
2fa9e6c Patch by Ray Donnelly to print register names instead of numbers.
428d601 Add parens to appease GCC warning.
2033057 Revert "blockfreq: Rewrite BlockFrequencyInfoImpl" (#2)
55c1e1b OnDiskHashTable: Audit types and use offset_type consistently
e382065 ProfileData: Avoid UB when reading
1907b94 OnDiskHashTable: Fix a think-o with offset_type
6b2b204 Check whether functions have any lines associated before emitting coverage info for them. This isn't just a size/time saving, gcov may crash on these.
aae82fb llvm-profdata: Avoid writing to /dev/null in tests
1a47d66 Change the ARM assembler to require a :lower16: or :upper16 on non-constant expressions for mov instructions instead of silently truncating by default.
ad326ae test: Add extra run lines to investigate an error on the bots
036e26b Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl" (#2)
e0d2d7f [llvm-symbolizer] Print file/line for a PC even if there is no DIE describing it.
1c60993 ProfileData: Don't forward declare ComputeHash and make it static inline
2e3463e Compress debug sections only when beneficial.
e153fb3 ProfileData: Add support for the indexed instrprof format
4c464de Added Sphinx documentation generation to CMake build system.
08ef020 [DWARF parser] Turn DILineInfo into a struct.
037da24 Update the fragments of symbols in compressed sections.
6c4ec69 [ARM64] Ports the Cortex-A53 Machine Model description from AArch64.
ed56048 Remove -simplify-libcalls pass form Passes documentation
904f8dc Expanded test for x86-pc-windows-gnu and x86_64-pc-windows-gnu environments.
7dcb168 [LCG] Fix the bugs that Ben pointed out in code review (and the MSan bot caught). Sad that we don't have warnings for these things, but bleh, no idea how to fix that.
abc5eea OnDiskHashTable: Expect the Info type to declare the offset type
acf59d9 OnDiskHashTable: Expect the Info type to declare the hash size
4387550 [DWARF parser] Respect address ranges specified in compile unit DIE.
561edae Remove a couple of redundant copies of SmallVector::operator==.
d290fa6 [X86] Improve buildFromShuffleMostly for AVX
842c271 DebugInfo: Remove some initializer lists to make MSVC happy again.
e7b068f Add range access to MCAssembler's symbol collection.
b99f337 Update comment in LLVMBitCodes.h to reflect the actual bitcode record
6a3c4b7 Fix uint -> size_t conversion warning.
ebb5d29 Revert "blockfreq: Rewrite BlockFrequencyInfoImpl" (#2)
cfb2d0e Fixed llvm-build when no targets are enabled
3a9522f Fixing MSVC after r206622?
939bc92 Better comments to explain buffered/unbuffered processor resources.
fe030f3 [DWARF parser] Refactor fetching DIE address ranges.
54850be Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl"
1e1954f Add some target triples for better determinism
5dd15cd LineIterator: Add DataTypes.h for int64_t on MSVC.
f289611 Add some missing includes for various standard library implementations.
98b539a Make the copy member of StringRef/ArrayRef generic wrt allocators.
7b4b261 AArch64/ARM64: add more NEON tests.
d781e40 Allocator: Remove ReferenceAdder hack.
f34a512 ARM64: disable generation of .loh directives outside MachO.
9cfd368 ARM64: don't emit .subsections_via_symbols on ELF.
1d5a2ad ARM64: add extra NEG pattern.
9362854 AArch64/ARM64: port more AArch64 tests to ARM64.
753cfe6 AArch64/ARM64: add non-scalar lowering for more FCVT operations.
7b4b522 AArch64/ARM64: improve spotting of EXT instructions from VECTOR_SHUFFLE.
f19e327 [msan] Add -msan-instrumentation-with-call-threshold.
14def55 [LCG] Remove all of the complexity stemming from supporting copying. Reality is that we're never going to copy one of these. Supporting this was becoming a nightmare because nothing even causes it to compile most of the time. Lots of subtle errors built up that wouldn't have been caught by any "normal" testing.
d61b3c3 [Allocator] Fix an obvious think-o with the move assignment implementation of the SpecificBumpPtrAllocator -- we have to actually move the subobject. =] Noticed when using this code more directly.
4c7edb1 [LCG] Add support for building persistent and connected SCCs to the LazyCallGraph. This is the start of the whole point of this different abstraction, but it is just the initial bits. Here is a run-down of what's going on here. I'm planning to incorporate some (or all) of this into comments going forward, hopefully with better editing and wording. =]
c32e261 X86: Pattern match scalar loads + vcvtph2ps into just vcvtph2ps.
64eed05 Revert r206565 (and r206566 which updated tests).
fb96efa AArch64/ARM64: port atomics test to ARM64.
0d69959 AArch64/ARM64: spot a greater variety of concat_vector operations.
70b63374 ARM64: implement cunning optimisation from AArch64
e7ec66e ARM64: spot a vector_shuffle that maps to INS and expand.
8405c94 ARM64: nick some AArch64 patterns for extract/insert -> INS.
66643da AArch64/ARM64: emit all vector FP comparisons as such.
937290d AArch64/ARM64: port BSL logic from AArch64 & enable test.
2f5d14a AArch64/ARM64: copy byval implementation from AArch64.
eea662f Add missing config file for newly added test case introduced by r206563.
188195c Updated test with register names following r206565.
becde89 Patch by Ray Donnelly.
40a9c0f [asan] one more workaround for PR17409: don't do BB-level coverage instrumentation if there are more than N (=1500) basic blocks. This makes ASanCoverage work on libjpeg_turbo/jchuff.c used by Chrome, which has 1824 BBs
a1da819 This commit allows vectorized loops to be unrolled by a factor of 2 for AArch64. A new test case is also added for ARM64.
1b16515 R600: Minor cleanups.
c3097bf [ExecutionEngine] Allow JIT clients to enable/disable module verification.
bc3655f This is one of the optimizations ported from ARM64 to AArch64 to address the performance gap between these two back ends. The test case newly added for AArch64 already exists in ARM64.
746734d R600/SI: Try to use scalar BFE.
532a5ff This commit enables unaligned memory accesses of vector types on AArch64 back end. This should boost vectorized code performance.
c7a3b95 Revert "blockfreq: Rewrite BlockFrequencyInfoImpl"
2359d30 OnDiskHashTable: Provide iterator_range for keys and data
a9da909 blockfreq: Really fix r206548 (and r206549)
b08b9d7 c++11: Tidy up tblgen w/ range loops.
bfe74b9 iterator access to scheduling classes
7b771af iterator_range accessor for CodeGenTarget instruction list.
3db76cc iterator based accessors for CodeGenInstruction operand list.
a361096 blockfreq: Fixing MSVC after r206548?
cc1e170 blockfreq: Rewrite BlockFrequencyInfoImpl
6834a55 R600/SI: Match sign_extend_inreg to s_sext_i32_i8 and s_sext_i32_i16
c0bbe82 Fix example for VS2012.
bf1d0f4 PMBuilder: Expose an option to disable tail calls
cfe02c4 R600/SI: Use SReg_64 instead of VSrc_64 when selecting BUILD_PAIR
e89024e [ARM64,C++11] Range'ify another loop.
0a0d620 Fix bug 19437 - Only add discriminators for DWARF 4 and above.
07f099b remove some dead code
f90e2bb Start pushing changes for Mips Fast-Isel
fc8fa82 Make test/CodeGen/ARM64/vector-insertion.ll explicitly select neon syntax
52d940e R600: Add comment clariying use of sext for result of MUL_U24
93ea137 R600/SI: Stop using i128 as the resource descriptor type
ec6e62e R600/SI: Change default register class for i32 to SReg_32
c2bab04 R600/SI: Teach SIInstrInfo::moveToVALU() how to handle PHI instructions
1b011b5 R600/SI: Legalize operands after changing dst reg in FixSGPRCopies
5540570 Improve ARM64 vector creation
4af58f1 ARM64: [su]xtw use W regs as inputs, not X regs.
34ac90c ManagedStatic is never built with a null constructor, remove support for it.
90dd89e ARM64: switch to IR-based atomic operations.
fa9a0aa ARM64: add acquire/release versions of the existing atomic intrinsics.
d5e9413 Reverse 206485.
a323485 [stack protector] Make the StackProtector pass respect ssp-buffer-size.
09da6b5 Atomics: promote ARM's IR-based atomics pass to CodeGen.
dd0f0d6 C++11: Compatibility with (C++03 => MSVC)
5bcd710 C++11: Document some limitations imposed by MSVC
9e383d4 R600/SI: f64 frint is legal on CI
fa477d9 [AArch64] Implement the getCSRFirstUseCost API, mirroring that in ARM64.
207be30 Inliner::OptimizationRemark: Fix crash in clang/test/Frontend/optimization-remark.c on some hosts, including --vg.
83ae2f7 [LCG] Remove a dead declaration. This stopped being used when I switched to a more normal move operation on the graph itself. The definition already got removed, but I missed the declaration.
cad56cb [LCG] Move the call graph node class into the graph class's definition. This will become necessary to build up the SCC iterators and SCC definitions. Moving it now so that subsequent diffs are incremental.
c95ce87 Make the User::value_op_iterator a random access iterator. I had written this code ages ago and lost track of it. Seems worth doing though -- this thing can get called from places that would benefit from knowing that std::distance is O(1). Also add a very fledgeling unittest for Users and make sure various aspects of this seem to work reasonably.
a30ccb0 [LCG] Just move the allocator (now that we can) when moving a call graph. This simplifies the custom move constructor operation to one of walking the graph and updating the 'up' pointers to point to the new location of the graph. Switch the nodes from a reference to a pointer for the 'up' edge to facilitate this.
40f67f5 [LCG] Remove the Module reference member which we weren't using for anything and doesn't make sense if assigning.
d7eaf4f [Allocator] Make SpecificBumpPtrAllocator also movable and move assignable.
61070be [X86] Add disassembler support for the 0x0f 0x7f form of movq %mm, %mm.
67283b8 objdump: identify WoA WinCOFF/ARM correctly
c0b8743 MC: rework static_assert to be MSVC compatible
c30a528 Support: Move OnDiskHashTable from clang to llvm
003de06 R600/SI: Fix zext from i1 to i64
e1a38f7 [ARM64] Fix "Cannot select" for vector ctpop
d6312bb Inline a function when the always_inline attribute is set even when it contains a indirect branch. The attribute overrules correctness concerns like the escape of a local block address.
0fa7dc4 Teach LLVMConfigVersion.cmake to behave as find_package() expects.
8e58997 Add support for a patch version to the cmake system.
6c35f55 [c++11] Tidy up AsmPrinter.cpp.
3abd729 iterator_range for machine block terminators.
57f4539 Added new functionality to LLVM C API to use DiagnosticInfo to handle errors
8cafc53 Replacing a non-ASCII character in a comment with an ASCII character. Fixes a C4819 warning in MSVC.
b902acb Allow diagnostic handlers to check for optimization remarks.
685d699 Test commit - Added a new line
e443943 [mips] Use TwoOperandAliasConstraint for shift instructions.
c308f16 [mips] Add initial support for NaN2008 in the back-end.
92d2f98 ARM64: silence sign-comparison warning.
f539725 AArch64/ARM64: port some NEON tests to ARM64
9a8aff0 AArch64/ARM64: produce correct relocation for conditional branches.
ced4836 [mips] Indentation
4134d06 [mips] Fix emission of '.option pic0' for MIPS-IV.
849ca45 [mips] Correct r206370 to account for non-Linux targets using the small data section.
8cc4741 [asan] add two new hidden compile-time flags for asan: asan-instrumentation-with-call-threshold and asan-memory-access-callback-prefix. This is part of the workaround for PR17409 (instrument huge functions with callbacks instead of inlined code). These flags will also help us experiment with kasan (kernel-asan) and clang
115d4f4 ARM64: specify triple so that Linux tests pass
1a8adcb AArch64/ARM64: add another set of tests from AArch64
1a44333 AArch64/ARM64: port across stub handling for ELF C++ exceptions.
fef8e38 ARM64: use 32-bit moves for constants where possible.
ea9988a ARM64: use the integrated assembler on ELF.
8e0f576 [mips] Emit '.set nomicromips' before a function's entry label if not in micromips mode.
0af5a4e Fixing a compile error in debug versions of MSVC. It seems that the range-based for loop is confused by the DEBUG macro expansion unless a compound statement is used.
ae8abf7 [LCG] Stop playing fast and loose with reference members and assignment. It doesn't work. I'm still cleaning up all the places where I blindly followed this pattern. There are more to come in this code too.
d66a3fe [Allocator] Make BumpPtrAllocator movable and move assignable.
b78eac2 [mips] Correct callee saved list for the N32 ABI and enable test
c90bd4a [mips] Add calling convention tests covering O32, N32, and N64.
acb0994 [Allocator] Nuke to useless functions. The implicit ones are sufficient here (obviously).
946bea3 ARM64: explicitly ask for Apple NEON syntax so test passes on Linux
be50dc8 ARM64: mark x7 as used when an i128 gets shunted onto the stack.
7474c17 DAGCombiner: don't optimise non-existant litpool load
8b3d82a Simplify a static_assert so VS2013 can build it
c09746d COFF: fix an off by one error
5422dfb Convert SelectionDAG::getVTList to use ArrayRef
695aa80 [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.
73a7844 COFF: add support for .file symbols
30e7a0a tools: fix invalid printing, buffer overrun in llvm-readobj
eb0eb5d Target: whitespace
9fde950 R600: Extend r600 sign_extend_inreg tests for EG
ff8d7fb R600: Expand sign extension of vectors.
ac261d9 [ARM64,C++11] Tidy up branch relaxation a bit w/ c++11.
e35b6d2 ARM64: Nuke some dead code.
09256c5 [ARM64,C++11] Clean up the ARM64 LOH collection pass.
d66d570 R600/SI: Print code size along with used registers
bec5c61 R600/SI: Print more immediates in hex format
dd368a8 R600/SI: Cleanup parsing of register names.
569e5a5 Make this test not match its own filename, when being run from a path that includes the string 'add'.
f8ea035 R600/SI: Fix loads of i1
d4955a0 RegionInfo: Do not access a value that was just moved away
d24010f [Allocator] Fold the two templated overloads into a single one with a default argument. The allocator interface we're modeling doesn't distinguish between array and non-array allocation.
00e4a82 [Allocator] Remove a really problematic overload. This is very confusing because there is another (size_t, size_t) overload of Allocator, and the only distinguishing factor is that one is a tempalte and the other isn't. There was only one usage of this and that one was easily converted to carry the alignment constraint in the type itself.
f393039 Make FastISel::SelectInstruction return before target specific fast-isel code handles Intrinsic::trap if TargetOptions::TrapFuncName is set.
749e8fe [X86] Improve the lowering of packed shifts by constant build_vector.
49ad5d5 [ARM64] Set default CPU to generic instead of cyclone.
4634a9b Revert r191049/r191059 as it can produce wrong code (see PR17975). It has already been reverted on the 3.4 branch in r196521.
2bbc5a7 Use unique_ptr to manage ownership of child Regions within llvm::Region
894b7f6 Add lifetime markers for allocas created to hold byval arguments, make them appear in the InlineFunctionInfo.
031f5c1 Split byval argument initialization so the memcpy(s) are injected at the beginning of the first new block after inlining.
f5d9a15 LTO: Add more loop simplification passes to LTO
950c7b2 verify-di: Add back braces for MSVC compatability
32791b0 verify-di: Implement DebugInfoVerifier
abf483b verify-di: split out VerifierSupport
3549f3c Use unique_ptr to manage PassInfo instances in the PassRegistry
9bc7c07 MipsAsmParser.cpp: Fix vg_leak in MipsOperand::CreateMem(). Mem.Base is managed by k_Memory itself.
9bf9a79 MipsAsmParser::ParseRegister(): Be responsible to delete an Operand on a temporary Operands.
1e3f66a AArch64/ARM64: enable more AArch64 tests on ARM64.
5f82349 AArch64/ARM64: add missing pattern for extending load.
2a83cb7 AArch64/ARM64: only mangle MOVZ/MOVN during encoding when needed
5080ae2 AArch64/ARM64: add support for large code-model jump tables.
e9cae9b AArch64/ARM64: add patterns for various commutations of FNMADD.
e8bc8a7 AArch64/ARM64: add half as a storage type on ARM64.
380fa65 AArch64/ARM64: copy patterns for fixed-point conversions
1291807 ARM64: add constraints to various FastISel operations
03eecdc FastISel: constrain the RegClass of operands when emitting instructions.
f90c8c7 AArch64/ARM64: add more arm64 lines to AArch64 regression tests
3f2d713 AArch64/ARM64: add dp tests from AArch64
86a70cd ARM64AsmParser.cpp: Fix vg_leak in MC/ARM64/fp-encoding.s.
5fba9d3 Optional hash symbol feature support for ARM64 http://reviews.llvm.org/D3328
09a79dc Current definition of subtract with immediate instruction aliases uses CodeGenOnly defined instructions and post matcher expansion methods to emit real instructions add with immediate. However, they can directly alias add with immediate instruction and remove unnecessary definitions and code in MipsAsmParser.cpp. This patch makes no change in functionality, just removes unnecessary definitions and code.
bc4e3c0 vect.omp.persistence.ll REQUIRES asserts due to -debug-only.
b9a99d4 [Allocator] Finally, finish nuking the redundant code that led me here by removing the MallocSlabAllocator entirely and just using MallocAllocator directly. This makes all off these allocators expose and utilize the same core interface.
15cbb64 D3348 - [BUG] "Rotate Loop" pass kills "llvm.vectorizer.enable" metadata
47b284c [Allocator] Pass the size to the deallocation function. This, on some allocation libraries, may allow more efficient allocation and deallocation. It at least makes the interface implementable by the JIT memory manager.
2727dbc X86JITInfo: [x86] Rework r206240, X86CompilationCallback_SSE() should be called for SSE-enabled code generator, even if LLVM is not built with -msse.
d5b514e [Allocator] Fix r206256 which got the enabling case backwards on these overloads. This doesn't matter *that* much yet, but it will in a subsequent patch. I had tested the original pattern, but not my attempt to pacify MSVC. This at least appears to work. Still fixing the rest of the fallout in the final patch that uses these overloads, but it will follow shortly.
b6ecb4f Fix broken build of llvm using clang.
2c9a974 [Allocator] MSVC apparantly has broken SFINAE context handling of 'sizeof(T)' for T == void and produces a hard error. I cannot fathom why this is OK. Oh well. switch to an explicit test for being the (potentially qualified) void type, which is the only specific case I was worried about. Hopefully this survives the libstdc++ build bots which have limited type traits implementations...
d63390c Break PseudoSourceValue out of the Value hierarchy. It is now the root of its own tree containing FixedStackPseudoSourceValue (which you can use isa/dyn_cast on) and MipsCallEntry (which you can't). Anything that needs to use either a PseudoSourceValue* and Value* is strongly encouraged to use a MachinePointerInfo instead.
095734c [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.
9393eb3 Add a DenseMapInfo specialization for PointerUnion. In tree user to land shortly.
0b6cb71 [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.
eb19b8f [Allocator] Constrain the Deallocate templated overloads to only apply to types which we can compute the size of. The comparison with zero isn't actually interesting here, it's mostly about putting sizeof into a sfinae context.
9eb71e2 Use unique_ptr to manage TypePromotionActions owned by TypePromotionTransaction.
3229c69 Use unique_ptr to manage ownership of GCFunctionInfos in GCStrategy
9c94042 Use unique_ptr for the result of Registry entries.
5a21a89 Use unique_ptr to manage ownership of GCStrategy objects in GCMetadata
a016c1d Use unique_ptr for section/segment ownership in WinCOFFObjectWriter
ff2bf1b Use unique_ptr to own MCFunctions within MCModule.
570e52c [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.
a8ae0ad Use std::unique_ptr to manage MCBasicBlocks in MCFunction.
508bd63 [MC] Require an MCContext when constructing an MCDisassembler.
88f3532 X86JITInfo: [x86] Use X86CompilationCallback_SSE() along;
5a2d3f4 [ARM64,C++11]: Range'ify the dead-register-definition pass.
c17bcb8 Add iterator_range for MachineInstr defs.
67ed710 [MC] Emit an error if cfi_startproc is used before a symbol is defined. Currently, we bind those directives with the last symbol, so if none has been defined, this would lead to a crash of the compiler.
e8603c4 [Register Coalescer] Add a test case for 206060.
159976c [Allocator] Add Deallocate support to the AllocatorBase CRTP class, along with templated overloads much like we have for Allocate. These will facilitate switching the Deallocate interface of all the Allocator classes to accept the size by pre-filling it from the type size where we can do so. I plan to convert several uses to the template variants in subsequent patches prior to adding the Size parameter.
b980d63 [ARM64][MC] Set the default CPU string to generic.
75ba212 [Allocator] Hack around the fact that GCC can't compile the static_assert added in r206225. I'm looking into a proper fix, but wanted the bots back.
ebfe4d7 [Allocator] Factor the Allocate template overloads into a base class rather than defining them (differently!) in both allocators. This also serves as a basis for documenting and even enforcing some of the LLVM-style "allocator" concept methods which must exist with various signatures.
4035266 Use std::unique_ptr for DIE children
fdf3f43 X86: Nuke one more CPU autodetect blurb.
b85c7e5 Change argument order and add explanatory comment to r206130
7c34191 Use FrameSetup on frame instructions for the Mips port.
3a24363 [CMake] Reformat, if(MSVC)...else()...endif()
448a1a0 Revert "Revert r206045, "Fix shift by constants for vector.""
05620e5 [ARM64][MC] Set the default CPU to cyclone when initilizating the MC layer. This matches that ARM64Subtarget does for now.
7a69489 Re-apply r206096 after investigating the gdb buildbot failure. Thanks to dblaikie for updating the testcase!
1a77583 [cleanup] Run clang-format over most of YAMLParser.h to fix a bunch of small formatting inconsistencies with the rest of LLVM and even this file. I looked at all the changes and they seemed like just better formatting.
261f0df Fix for codegen bug that could cause illegal cmn instruction generation
27539d4 Add a flag to disable the ARM64DeadRegisterDefinitionsPass
b1138a1 [ARM64] Port over missing subtarget features, and CPU definitions from AArch64.
1f1bced [ARM64] Add big endian target arm64_be.
03e1857 Replace two calls to object::symbol_iterator::increment(), which had been removed in r200442.
1d9c093 Remove a variable from r206192 that is only used in an assert.
268c050 Fix a bug in which BranchProbabilityInfo wasn't setting branch weights of basic blocks inside loops correctly.
b79d042 Fix 2008-03-05-SxtInRegBug.ll so that the CHECK-NOT will not match the filename.
de2b2a3 Fix up MCFixup::getAccessVariant to handle unary expressions.
adc90c9 tools: fix heap-buffer-overrun detected via ASAN
6ede5d2 [mips] Fix fcopysign for MIPS-IV and add the test.
0543dab [mips] MIPS-IV is broadly the same as MIPS64 so duplicate all -mcpu=mips64 tests with -mcpu=mips4 as a starting point
327be64 [mips] Fix more incorrect uses of HasMips64 and isMips64()
555f97f Teach llvm-lto to respect the given RelocModel.
f86c547 ARM64: specify full triple in tests to pacify Windows.
069bcd7 AArch64: add newline to end of test files.
856ecbc0 ARM64: remove buggy REV16 pattern.
e90d4e2 AArch64/ARM64: enable directcond.ll test on ARM64.
97c1fc0 ARM64: add patterns for csXYZ with reversed operands.
dce294e ARM64: enable more regression tests from AArch64
3c68c5c ARM64: add support for AArch64's addsub_ext.ll
41b4790 ARM64: optimise (cmp x, (sub 0, y)) to (cmn x, y).
e23fabc ARM64: start porting regression test suite from AArch64
c81e5d6 Display the name of the project failing the url check in the release script
c9fa660 [XCore] Don't create invalid MKMSK instructions inside loadImmediate().
1377449 Whitespace.
9854380 Revert r206045, "Fix shift by constants for vector."
1907f75 [Allocator] Hoist the external helper function into a namespace scope declaration. GCC 4.7 appears to get hopelessly confused by declaring this function within a member function of a class template. Go figure.
273a62f [cleanup] Normalize YAMLParser.h's doxygen markers with '\foo' instead of '@foo'. The slash variant is prefered in LLVM and the file was already using a mixture. =/
1aee811 Don't assert in BasicTTI::getMemoryOpCost for non-simple types
17f9c2e [Allocator] Make the underlying allocator a template instead of an abstract interface. The only user of this functionality is the JIT memory manager and it is quite happy to have a custom type here. This removes a virtual function call and a lot of unnecessary abstraction from the common case where this is just a *very* thin vaneer around a call to malloc.
e20c45d Fix the compile from r206147 in release builds by moving a variable declaration outside of #ifndef NDEBUG -- its used elsewhere. Sorry for the noise.
cb7ead2 [Allocator] Switch the BumpPtrAllocator to use a vector of pointers to slabs rather than embedding a singly linked list in the slabs themselves. This has a few advantages:
1b1e4e2 tools: simplify symbol handling in objdump
67635a7 tools: address possible non-null terminated filenames
aa827a5 Use APInt arithmetic, fixed typo. Thanks to Benjamin Kramer for noticing that.
01b7278 Add back some typecasts I accidentally lost in r206142.
4ba8443 [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.
b9ed50c [PowerPC] [Constant Hoisting] Enable constant hoisting on PPC
a94a682 tools: remove duplication of coff_aux_file
1a16898 tools: avoid a string duplication
42ad510 MC: check machine magic when applying offset adjustments
ea0ea63 Recognize test for overflow in integer multiplication.
6a34916 [PowerPC] Fix rlwimi isel when mask is not constant
f85e6da Fix instruction debug info location during legalization
4266ae8 [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr.
4e510c1 [X86] unique_ptr'ify one of X86GenericDisassembler's members.
b77944d tools: teach objdump about FILE aux records
f4c3a56 [PowerPC] Implement some additional TLI callbacks
df40801 Fix test syntax to work with non-bash /bin/sh.
2c2ba4c Spell the specialization namespace correctly.
f633070 Make helper static and place random global into the llvm namespace.
2ef2fd4 tools: remove unnecessary copy of array_lengthof
15c435a Retire llvm::array_endof in favor of non-member std::end.
479151a Move MDBuilder's methods out of line.
937c689 PR13337: Omit DW_TAG_restrict_type when compiling for DWARF2
6a871a3 Add extra checks to mvn.ll test to prevent the "f1" check from matching on a directory name instead of the function name.
4debb77 Revert "Debug info: (bugfix) C++ C/Dtors can be compiled to multiple functions,"
2aa7106 [ARM64] Never hoist the shift value of a shift instruction.
940b674 [ARM64] Fix the cost model for cheap large constants.
9c9ef05 Use dwarf::Tag rather than unsigned for DIE::Tag to make debugging easier.
ac87173 Remove documentation for a deleted pass.
515f2f9 Debug info: (bugfix) C++ C/Dtors can be compiled to multiple functions, therefore, their declaration cannot have one DW_AT_linkage_name. The specific instances however can and should have that attribute.
d023e14 llc: Add support for -mcpu=native.
6bb00df X86: Remove TargetMachine CPU auto-detection.
e13b87c Reenable use of TBAA during CodeGen
24517d0 Add the ability to use GEPs for address sinking in CGP
a5b2772 [AArch64] Implement the isLegalAddressingMode and getScalingFactorCost APIs.
23a6033 blockfreq: Document BlockFrequencyInfo terminology
670060d blockfreq: Rename BlockProbInfoT to BranchProbabilityInfoT
3c371e9 blockfreq: Remove unnecessary template parameters
e9139c6 blockfreq: Rename BlockFrequencyImpl to BlockFrequencyInfoImpl
484a2b6 blockfreq: Use getSuccessorIndex()
06e433a Pull out a named variable for the cached section names to aid readability.
5672630 Add ARM64 CLS patterns
0f6d8c6 Format fixes for r205990
71e50b4 Make doxygen comment match the declaration.
010311b [RegAllocGreedy][Last Chance Recoloring] Change the name of the exhaustive search option. fexhaustive-register-search => exhaustive-register-search 'f' is a Clang thing!
92a892e [RegAllocGreedy][Last Chance Recoloring] Addition of -fexhaustive-register-search option to allow an exhaustive search during last chance recoloring.
4aee594 R600: Check if a sextload should be used for parameter loads.
a02c32f Remove redundant symbolization support from MCDisassembler interface.
441d6d5 [Register Coalescer] Fix wrong live-range information with rematerialization. When rematerializing an instruction that defines a super register that would be used by a physical subregisters we use the related physical super register for the definition. To keep the live-range information accurate, all the defined subregisters must be marked as dead def, otherwise the register allocation may miss some interferences.
6e6126a R600/SI: Refactor SOPC classes slightly.
0a3dcf2 Don't lose the thumb bit by using relocations with sections.
35aa928 Add some CHECKs to this testcase.
fb33ce9 Fix shift by constants for vector.
c6db0bd Debug info: Store the DIVariable in DebugLocEntry also for constants, so DwarfDebug::emitDebugLocEntry can emit them with the correct signedness.
d879166 Move ExtractVectorElements to SelectionDAG.
e043609 SelectionDAG: Use helper function to improve legalization of ISD::MUL
fdde7d2 SelectionDAG: Factor ISD::MUL lowering code out of DAGTypeLegalizer
ae6f707 Revert: r205182 - llvm/test/MC/Mips/mips64r2/valid-xfail.s: This REQUIRES asserts. Seems it doesn't fail with -Asserts.
bb7b423 Fix use-after-free bug caught by address sanitizer:
eb0c909 [yaml2obj][ELF] ELF Relocations Support.
77cf856 Implement depth_first and inverse_depth_first range factory functions.
ae64ab5 [c++11] Range'ify use list loops in InstrEmitter.
84f0044 [c++11] Range'ify use list loops in DAGCombiner.
a117c71 [ARM64,C++11] Range'ify use-lists iterators in address type promotion.
e6cd1ac Use value types instead of 'new'd objects to store dwarf labels for asm files
62fc093 [ARM64,C++11]: Range'ify use-list iterators in DAGToDAG.
098f42d [ARM64,C++11]: More range-based loop simplification.
fb4b420 SDNode: Add uses() iterator_range convenience methods.
42382d3 Remove lazy-initialization of section caches in MCContext
bc1fd91 Move the segmented stack switch to a function attribute
ee66766 [stack protector] Refactor and clean-up test.  No functionality change.
93bb4ea Test commit.
83ee956 Simplify make_range by using move semantics
eb690d8 [ARM64,C++11]: Range'ify loops in InstrInfo.
c39b659 Remove the use of "%e" as it is not a valid expansion like "%t".
fe25521 Reimplement debug info compression by compressing the whole section, rather than a fragment.
22f3236 Revert debug info compression support.
13772fb [ARM64,C++11]: Range'ify loops in the conditional-compare pass.
b4dd10a iterator_range: Add an llvm::make_range() helper method.
e7ef041 For the ARM integrated assembler add checking of the alignments on vld/vst instructions.  And report errors for alignments that are not supported.
a7ff9e9 Revert "Follow-up to r205973: change the return type to const MDNode*."
cccac61 Follow-up to r205973: change the return type to const MDNode*.
b7b9bf4 Debug info: Factor the retrieving of the DIVariable from a MachineInstr into a function.
f0aeabb AddLLVM: Mute the prefix "lib" in SHARED on win32.
d95a78c [mips] NotMips64 predicate is really a test for 32-bit GPR's.
e2d124d Reapply "SLPVectorizer: Ignore users that are insertelements we can reschedule them"
feb96be [mips] Switch the MIPS-III and MIPS-IV assembler tests to use -mcpu=mips4.
c137b5d ARM64/*/LLVMBuild.txt: Prune redundant deps.
accaa64 LLVMBuild.txt: Add missing dependencies.
6c5bb2e LLVMBuild.txt: Reformat.
7aca663 SaveAndRestore: fix coding style and Doxygenify comments
8786570 YAMLIO: Allow scalars to dictate quotation rules
fb52dba Use range-based for loops. No functionality change.
f2eed86 Fix abuse of StringRef on ARM64SysReg::MRSMapper::toString(Val, Valid).
6c66c4d ARM64: add an explicit cast to silence a silly warning
d631cc4 [ARM64] Fix immediate cost calculation for types larger than i64.
6a6b4d5 Revert "For the ARM integrated assembler add checking of the alignments on vld/vst instructions.  And report errors for alignments that are not supported."
3168968 Fix to support properly cleaning up failed address sinking against constants
6472a51 X86: Tighten up test.
afb4ef3 Add support for load folding of avx1 logical instructions
e991573 SelectionDAG: Don't constant fold target-specific nodes.
34d14bb For the ARM integrated assembler add checking of the alignments on vld/vst instructions.  And report errors for alignments that are not supported.
c3de5ed [AArch64] Implement the isZExtFree APIs.
fe5c9ce [AArch64] Implement the isTruncateFree API.
e4b14eb [DAGCombiner] DAG combine does not know how to combine indexed loads with sign/zero/any extensions. However a few places were not checking properly the property of the load and were turning an indexed load into a regular extended load. Therefore the indexed value was lost during the process and this was triggering an assertion.
5fa2092 Simple fix for build failures resulting from r205867.
fb065a1 Revert "Revert "YAMLIO: Encode ambiguous hex strings explicitly""
aef1966 obj2yaml: Don't crash if the characteristics field is zero
77f2689 [NVPTX] Add preliminary intrinsics and codegen support for textures/surfaces
ac4c131 [NVPTX] Add support for addrspacecast in global variable initializers, including emitting generic() when casting to address space 0.
ff7dcc5 [NVPTX] Add query support for read-write images and managed variables
46d36be Fix some doc and comment typos
35fb92d [ARM64] Change SYS without a register to an alias to make disassembling more consistant.
62293d1 [ARM64] Correctly disassemble ISB operand as ISB not DBarrier.
c669ad9 [ARM64] Properly support both apple and standard syntax for FMOV
cb9ca90 [ARM64] Flag setting logical/add/sub immediate instructions don't use SP.
19b573d [ARM64] Conditional branches must always print their condition code, even AL.
42c6726 [ARM64] Fix disassembly logic for extended loads/stores with 32-bit registers.
6a82fbc [ARM64] When printing a pre-indexed address with #0, the ', #0' is not optional.
ae30bea [ARM64] Add missing shifted register MVN alias to ORN
7face758 [ARM64] SXTW/UXTW are only valid aliases for 32-bit operations.
7b5940c [ARM64] Fix canonicalisation of MOVs. MOV is too complex to be modelled by a dumb alias.
250f973 [ARM64] Fixup ADR/ADRP parsing such that they accept immediates and all labels types
9a9fa81 [ARM64] Ensure sp is decoded as SP, not XZR in LD1 instructions.
86c0678 [ARM64] Tighten up the special casing in emitting arithmetic extends. UXTW should only be translated when the instruction uses WSP, not SP. Vice versa for UXTX and 64-bit instructions.
5a09ce9 [ARM64] Rename LR to the UAL-compliant 'X30'.
37fe662 [ARM64] Rename FP to the UAL-compliant 'X29'.
6af2db2 [ARM64] Add a PostEncoderMethod to FCMP - the Rm field should canonically be zero but should be decoded/disassembled with any value.
f797751 [ARM64] SCVTF and FCVTZS/U are undefined if scale<5> == 0.
5c73bde [ARM64] EXT and EXTR instructions on v8i8 and W regs respectively must have the top bit of their immediate clear.
90c8a50 [ARM64] Scaled fixed-point FCVTZSs should also have bit 29 set to zero.
98422af [ARM64] UBFM/BFM is undefined on w registers when imms<5> or immr<5> is 1.
47c311b [ARM64] Floating point to fixed point scaled conversions are only available on fcvtzs and fcvtzu.
8acef8d [ARM64] Port over the PostEncoderMethod fix for SMULH/UMULH from AArch64.
a8f8d29 [ARM64] Add missing tlbi operands and error for extra/missing register on tlbi aliases.
3d41487 [ARM64] Rework system register parsing to overcome SPSel clash in MSR variants.
436fe61 [ARM64] Port over the PostEncoderMethod from AArch64 for exclusive loads and stores, so the unused register fields are set to all-ones canonically but are recognised with any value.
dcb9231 [ARM64] Use PStateMapper to ensure that MSRcpsr operands are validated during disassembly.
84998a1 [ARM64] Remove PrefetchOp and use ARM64PRFM instead.
4be472c [ARM64] Add WZR to isGPR32Register, since every use needs to check for this anyway.
b336e5d [ARM64] Remove ARM64SYS.
96e05ca [ARM64] Move CPSRField and DBarrier operands over to AArch64-style disassembly and assembly. This removes the last users of namespace ARM64SYS.
fb7edfa [ARM64] Switch the decoder, disassembler, instprinter and asmparser over to using AArch64-style system registers, and fix up test failures discovered in the process.
01229fa [ARM64] Move ARM64BaseInfo.{cpp,h} into a Utils/ subdirectory, a la AArch64. These files are required in the decoder, disassembler and parser, and a layering violation was imminent.
0fc7d2b [ARM64] Copy the named immediate operand mapping logic and enums from AArch64. AArch64's named immediate mapping and parsing is much more advanced than ARM64's. No functionality change - they're currently living side by side while I switch uses over.
a493b77 [ARM64] Shifted register ALU ops are reserved if sf=0 and imm6<5>=1, and also (for add/sub only) if shift=11.
a5b549e [ARM64] Add support for NV condition code (exists only for valid assembly/disassembly, equivilant to AL)
4580af7 [ARM64] Add missing 1Q -> 1q vector kind alias
1ff9280 [ARM64] Add parsing for vector lists such as {v0.8b-v3.8b}
f5234a2 [ARM64] Correctly alias LSL to UXTW for 32bit instruction variants, rather than UXTX
35b8c72 [ARM64] STRHro and STRBro were not being decoded at all.
6307036 [ARM64] MOVK with sf=0 and hw<1>=1 is unallocated. Shift amount for ADD/SUB instructions is unallocated if shift > 4.
7ac2921 [ARM64] Register-offset loads and stores with the 'option' field equal to 00x or 10x are undefined.
c657a09 Revert "YAMLIO: Encode ambiguous hex strings explicitly"
b0ee237 SLPVectorizer: Only vectorize intrinsics whose operands are widened equally
0d5d656 AVX-512: insert element to mask vector; store i1 data
d97cbff Add support for building LLVM on FreeBSD 9.2
e777fb4 Re-commit: [mips] abs.[ds], and neg.[ds] should be allowed regardless of -enable-no-nans-fp-math
7184f49 YAMLIO: Encode ambiguous hex strings explicitly
144ffd6 Delinearize: Extend informationin -analyze output
d4786ed R600/SI: Match not instruction.
87a7950 ARM64: scalarize v1i64 mul operation
7db3c63 ARM64: add pattern for <1 x i64> custom not node.
d640feb Object: add type names for ARM/COFF relocations
e866d00 ARM MC: 80 column
a45a7c7 ARM MC: sort source files in CMakeLists
ec0f0bc [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr.
8a0d1c8 [C++11] Make use of 'nullptr' in TableGen library.
725011e [C++11] Replace some comparisons with 'nullptr' with simple boolean checks to reduce verbosity.
e4d89ec WinCOFF: Emit common symbols as specified in the COFF spec
1507319 Bug 19348: Check for legal ExtLoad operation before folding
a83f787 divide by the result of the gcd
89e11b1 handle special cases when findGCD returns 1
d541e6e in findGCD of multiply expr return the gcd
2300669 [docs] VCS contains a record of authorship
0a50cec [docs] Fix up some links to the preferred style.
c6a7502 [Constant Hoisting][ARM64] Enable constant hoisting for ARM64.

git-subtree-dir: llvm
git-subtree-split: 356013705b677e5cc4d748c90c049165fc9c762a
Merge commit '0a2960656f4e2408477eaa3481479b892acdaab3' into overhaul
Squashed 'llvm/tools/clang/' changes from 679a08c..f9d2832

f9d2832 Handle possible trailing '/' in xcode-select output.  Patch by Jeff Olson.
e910cea Initialize clang::Module::IsMissingRequirement. Fix msan issue and hopefully some builder failures.
c9b73d1 ARM64: Do not expand variadic HFA/HVA arguments with the Darwin ABI.
201871d Fix a comment typo.
34bf531 cindex.py: Avoid deprecated function
10e524d Remove some empty statements
93f93a3 Fix and restore the macro-multiline.c test
3eb0b40 Disallow driver use in more Sema tests
b599ccb Move ObjC Cocoa.h header test to Headers
61d298d Re-enable the C++11 modules integration test on OS X
7c6210d clang/test/Index/pch-with-errors.c: Remove XFAIL added in r206294. It has been fixed since r206644.
ad46d68 Speculative fix for buildbot failure. Apparently Clang 3.1 got move semantics wrong.
bb7d67a8 Thread Safety Analysis:  Convert to minimal SSA.
f4ff7ca When a module completes the definition of a class template specialization imported from another module, emit an update record, rather than using the broken decl rewriting mechanism. If multiple modules do this, merge the definitions together, much as we would if they were separate declarations.
0d60af3 Thread Safety Analysis:  Update SSA pass to handle loops.
ba02ce0 Fix a hole with nested unavailable submodules from r206664
88f6a9e CodeGen: Remove an unused include
b53460e Don't build modules with (submodules with) missing headers
1c069a8 Fix sphinx-build warnings in clang docs.
02e4ae3 Add support for building Sphinx documentation when being inside LLVM source tree and using CMake
2a84024 CodeGen: Use LLVM's InstrProfReader in -fprofile-instr-use=
c214a6c [Cleanup] Remove a trailing whitespace
f05ef17 Don't read CompilerInstance fields that don't exist in ASTUnit
f4a4206 Teach users of OnDiskHashTable to define hash_value and offset types
87be603 Remove OnDiskHashTable.h, since it's been moved to llvm
b74c927 Split out the no-thunk multiple inheritance tests
9fbf62e Add more constness to module-related APIs
af2bcba ARM64: make sure the caller is expected to extend in AAPCS.
a6bf8b8 Updating to use more range-based for loops, nullptr and auto. No functional changes.
db2467f ARM64: make sure HFAs on the stack get properly aligned.
b56be34 Fix a -Wmicrosoft warning on an unrepresentable enum
919d845 BackendUtil: Pass through -mdisable-tail-calls
dea85f9 test: Use llvm-profdata merge in Profile tests
c911bf1 MS ABI: Don't append to vbtables that we shouldn't extend
f2b76b6 Follow-up to r206457 -- fix static adjustments for some subtle virtual inheritance cases
0904a54 Making some public members into private members. This also introduces a bit more const-correctness, and now uses some range-based for loops. No functional changes intended.
0f5b873 Fix comment.
c897d3b Add missing serialization code for one of the CXXRecordDecl definition flags.
8d34d94 Nitpicky refactoring -- use of nullptr and auto, made a bit more const-correct. No functional changes intended.
e2c49d2 Revised per Dmitri's comments. My first exposure to range-based for loops, thanks!
b2f2d3e clang-format.py: Don't omit the first two words from error messages.
de001b3 Bug 18567: Fix constantexpr pointer casts with address spaces.
3b7f7f1 Revised per Dmitri's comments. My first exposure to range-based for loops, thanks!
7350259 Fix alignment of trailing block comments.
1ae2588 Since the object is new'ed in the enterCFG function, now deleting in the exitCFG function instead of the destructor to ensure proper pairing. This allows reuse of the builder without creating a memory leak.
8fa1f06 Fix Profile:cxx-lambda.cpp test for targets that do not generate zeroext
e2c4760 [ARM64] Fix __clear_cache - ensure it is predefined.
fc79f18 [ARM64] Add ARM64 RUN lines to a bunch of tests that had AARCH64 RUN lines.
b51f127 [ARM64] Teach Targets.cpp about Cortex-A53 and Cortex-A57, and enable more tests.
7b6cff5 [ARM64] Plumb in big-endian - add arm64_be to the many switches where it was missing.
99c0a32 [ARM64] Default to the 'generic' CPU, unless -arch is present for backwards compatibility.
49e8a63 Preventing future MSVC 2012 surprises with SimpleArray by giving it an explicit move assignment operator.
343f33f clang-format: Respect BinPackParameters in Cpp11BracedListStyle.
594e55b Fix PR19408 - Missing static this adjustment in a vtordisp thunk
f5e1e58 ARM64: remove holes from *all* HFAs on the stack.
d9e790d SemaTemplate.cpp: Rework r206451. Removing an argument was really bad idea.
394588f SemaTemplate.cpp: Appease msvc to get rid of default argument in lambda definition.
900d046 PR19340: If we see a declaration of a member of an unspecialized class template that looks like it might be an explicit specialization, don't recover as an explicit specialization (bypassing the check that would reject that).
f288c56 When writing YAML in libclang, use yaml::escape instead of write_escaped
8b7a1c5 Refactor all the checking for missing 'template<>'s when a declaration has a template-id after its scope specifier into a single place.
d997419 Don't emit an ExtWarn on declarations of variable template specializations; we'll already have issued the relevant diagnostic when we saw the declaration of the primary template.
46d5a26 [Parser] Remove "add -fmodules" from the "use of '@import' when modules are disabled, add -fmodules" error.
6667ef7 Adding type info for f16c floating-point type. This is consistent with the Itanium ABI in 2.9.2 Place of Emission.
13e47c4 Implement [over.match.oper]p3 properly, by filtering the non-candidates out when building the candidate set, rather than trying to contort name lookup into handling this.
49c8dad PR19452: Implement more of [over.match.oper]p3's restrictions on which non-member overloaded operators can be found when no operand is of class type. We used to fail to implement this rule if there was an operand of dependent type.
7cf5edc Further simplify r206430.
f053390 Rename lib/Headers/module.map to module.modulemap
279cb3d Debug info: When collecting the parameters of C++ partial template specializations collect all arguments and not just the ones from the class template partial specialization from which this class template specialization was instantiated. The debug info does not represent the partial specialization otherwise and so specialized parameters would go missing.
6b307d0 Attempting to unbreak the MSVC 2012 build a second time.
71a33e5 Added dump method for global module index.
7967360 Handle -m32 for NetBSD/sparc64 correctly. Extend test case to also check ARM, MIPS and i386 ABIs.
964132f Revert "Move -fms-extensions predefined macros into InitPreprocessor"
9a34962 Attempting to unbreak the MSVC 2012 build.
0e68024 Move -fms-extensions predefined macros into InitPreprocessor
5e00744 Fix check failure on hexagon targets.
4bc5b09 Fix indentation, NFC.
d2c142e [objc] -[NSObject init] is documented to not do anything, don't warn if subclasses do not call [super init] on their initializers.
2ac1eb2 [objc] Consider new initializers inside @implementation when determining if the class introduces new initializers.
9780caa More minor refactoring. Updated for const-correctness, moved another deleted function to be private, 0 -> nullptr and some style corrections. No functional changes intended.
57bed7c Minor cleanups for deleted functions to ensure they're a bit more robustly "deleted".
8187c75 Objective-C rewriter. Use _WIN64 instead of __LLP64__ to conditinalize on 64bit length in a generated meta-data. // rdar://16489050
d31ddfc Add support for optimization reports.
9846106 InstrProf: Calculate a better function hash
6eeb8eb [ARM64] Plumb in the -mfpu= flag.
75ed3f3 [ARM64] Allow the disabling of NEON and crypto instructions. Update tests to pass -target-feature +neon.
039ed6c [ARM64] Fix up predefines, including adding big endian support to Targets.cpp
beded06 Minor formatting cleanups -- no functional changes intended.
b0a2764a clang-format: Add special case to reduce indentaiton in streams.
26bbacc Adding a move constructor (due to CopyOnWriteVector requiring move-only semantics) to appease MSVC.
e61dbdd Hopefully avoid a warning on some GCCs (but not all strangely, preventing me from seeing it initially). GCC doesn't use the unused attribute on members for anything, so while it works to suppress Clang's warning for an unused private member, it adds a GCC warning for the attribute. =/ Silence Clang's warning with a void cast in the constructor instead which doesn't trigger any complaints from GCC.
9bc4192 Sema: Factor out argument range checks for builtin functions
c80d3f6 Re-enable several builtins in non-gnu modes.
11ab38b -Wunreachable-code: refine recognition of unreachable "sigil" to cope with implicit casts in C++.
e6ff2fc Lex: Fix __has_feature(cxx_exceptions) for objective C++
54e0e5a threadSafety::SExprBuilder::BlockInfo: Non-static member initializer is unavailable. Use default constructor instead.
099192c Reformat.
4e2bb89 threadSafety::CopyOnWriteVector: Use LLVM_DELETED_FUNCTION here due to missing functionality of msc17.
d62b91c Fixed problem with exclude header. The exclude header argument needs to be relative to the module.map file.
1877e66 Fix build after r206338
ab66ae5 Make -Wabsolute-value C++-aware.
566d966 Format.cpp: Don't use initializer list.
738fc4e Thread Safety Analysis: rewrite SSA pass to use the new SExpr and CFG traversal system.  The new pass is still undergoing testing; no change in functionality.
64729e5 [Allocator] Make the ContentCache object actually carry the 8-byte alignment constraint rather than using the allocator function's over alignment "feature". This was the only use of the "feature" which I plan to remove next. =] Attaching the alignment to the type seems cleaner and more principled anyways.
859d2b2 CodeGen: Emit warnings for out of date profile data during PGO
206fe8c CodeGen: Remove a comment that isn't in the right place
ef4c238 Move comment back to being next to the thing it's describing.
d468617 AST: Respect alignment attributes on typedef'd arrays
e943a62 [ARM64] Update tests to reflect the change of the default CPU in llvm.
426bfa0 Honour -ivfsoverlay in ASTUnit to match clang
258f1c3 Replace push_back()s by initializer list for shorter and cleaner code.
c8b5d37 Add test case for r206302
57e9d5e Add support for CUDA __launch_bounds__ attribute to CodeGen.
ba3cc07 verify-di: Call debug info verifier from clang
cb399e4 Fix a comment to match the implementation
3b35ae6 ARM64: track alignment padding registers on AAPCS targets
47caeab Fix assertion when breaking string literals with tab characters.
0c06a79 Mark clang/test/Index/pch-with-errors.c as XFAIL:mingw for now. Investigating.
eeab0f4 Allow address space qualifiers on OpenCL array parameters
0ada62c PR19178 __is_constructible returns true for abstract types.
864ce8b clang-format: Understand proto text format without commas.
f831a1c x
dce05d0 Test commit: minor formatting
443b931 clang-format: Basic support for C++1y.
3726781 clang-format: Early cut-off for inlining nested blocks.
db57836 clang-format: Cache results of formatting nested blocks.
52b4da7 AST: Elaborated type specifier mangling occurs before nested-name
6f70fae Partial revert of r206229, to get the build bots green again.
b4c88a6 Fix typo from r206232
d0abc50 Fix a bad interaction between -Wtautological-overlap-compare and delayed diagnostics which caused delayed diagnostics on dead paths to be emitted.
c087dce CodeGen: Handle CapturedStmt in instrumentation based profiling
d75a2b5 Fixing a typo, updating the diagnostic wording and logic based on post-commit review feedback. Amends r206186.
525967b [Driver][ARM64] Make sure the default CPU is passed to the assembler.
9b8c693 Fix warning in ms-x86-vtordisp test case
ad1bdc0 Ensure we evaluate VLA bounds if a variably-modified type is used as the argument to __builtin_va_arg. Patch by Rahul Jain, some test massaging and IR emission order changes by me.
9cb9774 Make sure these two files are distinct, or else the modules system may, on certain file systems, treat them as if they were the same file.
274e4bd Add module name and module map file to -module-file-info
6b4d174 PR19415: Converting 'constexpr' to 'const' in a non-static data member can fail if the member is already 'const'. Don't assert in that case.
dff6044 PR19411: Walk lexical parents, not semantic parents, when determining whether a DeclContext is (lexically) within a C language linkage specification.
30445bc Fix find command in test/Modules/prune.m broken by r206201
62dc91f Add clang:: qualifier back to Module
ef1b5dc Allow multiple modules with the same name to coexist in the module cache
0fc2a68 Properly diagnose Microsoft __declspec attributes which have optional argument lists when the arguments are elided. eg)
ed3bdc5 OnDiskHashTable: Make the iterable version separate.
cbfcdc4 OnDiskHashTable: clang-format and consistent naming
1caab74 Properly diagnose standard C++ attributes which have optional argument lists when the arguments are elided. eg)
f7ad99d Add support for named values in the parser.
1814a54 clang-format: Fix regression caused by r206165.
fde5c28 clang-format: Fix incorrect &&-detection in macros.
8d29f53 clang-format: Improve array literal formatting fix in r206161.
7701d04 clang-format: With ColumnLimit=0, keep short array literals on a line.
1e171ff clang-format: Don't allow hanging indentation for operators on new lines
f6e698b Format code around VCS conflict markers.
5975b27 clang-format: Improve formatting of annotated variables.
76718ef Improve error recovery around colon.
ab7351b Fix diagnostics for C-style cast to function type.
cfcd9d4 MS ABI: Bitfields FielDecls only align if they allocate
0446558 PR19339: Disambiguate lambdas with init-captures from designated initializers properly.
d25ab09 [-fms-extensions] Add tests for __FUNCDNAME__
ea88434 MS ABI: #pragma vtordisp(0) only disables new vtordisps
5f2aa8f Tests for DR501-525.
37da208 Replace llvm::array_endof with C++11's std::end.
7b5a5c5 Fix test/Modules/cxx-irgen.cpp for PPC64
c573acc Add description about the __is_identifier() macro
78c3eb5 CodeGen: Test instrumentation based profiling of templates
aa80aa1 [MS-ABI] Fix warning introduced in r206087 No functional change.
9f26a8d Follow-up to r205999: Emit an artificial location (valid scope, line 0) for CXXGlobalInit/Dtor helper functions. This makes _GLOBAL__I_a regain its DW_AT_high/low_pc in the debug info.
23ebdf2 [MS-ABI] Fixed alias-avoidance padding in the presence of vtordisps If a vtordisp exists between two bases, then there is no need for additional alias avoidance padding.  Test case included.
85ac3c7 CodeGen: Fix handling of C++11 lambdas in profiling
4639d29 [MS-ABI] Update to vtordisp computation A portion of the vtordisp computation that was previously unguarded by a test for the declaration of user defined constructors/destructors was erroniously adding vtordisps to things that shouldn't have them.  This patch correctly guards that codepath.  In addition, it updates the comments to make them more clear.  Test case is included.
bfd91e6 Add a test to distinguish between reserved tokens and normal identifiers.
a00a56b [PGO] Change MapRegionCounters to be a RecursiveASTVisitor.
f78f450 Simplify RecordLayoutBuilder with getAsCXXRecordDecl()
0078a45 Correctly handle escaped newlines when the next token starts without a space.
0e1ed6b Add -fmodules-strict-decluse to check that all headers are in modules
6699b19 CodeGen: Handle binary conditional operators in PGO instrumentation
94d470b Cleanup: Add default arguments to CodeGenFunction::StartFunction. Thanks dblaikie for the suggestion!
490bfbe Fix handling of redeclaration lookup for using declarations, where the prior declaration is not visible. Previously we didn't find hidden friend names in this redeclaration lookup, because we forgot to treat it as a redeclaration lookup. Conversely, we did find some local extern names, but those don't actually conflict with a namespace-scope using declaration, because the only conflicts we can get are scope conflicts, not conflicts due to the entities being members of the same namespace.
9e7d01a [MS-ABI] Update Comments in RecordLayoutBuilder - no functional change This patch updates the comments in RecordLayoutBuilder about record layout in the MS-ABI.  Also, I added a section about known incompatibilities.
8f71cfc Switch from constexpr to const char *const
854cecb [MS-ABI] Update virtual base padding rules to match MSVC 10+ In version 9 (VS2010) (and prior)? versions of msvc, if the last field in a record was a bitfield padding equal to the size of the storage class of that bitfield was added before each vbase and vtordisp.  This patch removes that feature from clang and updates the lit tests to reflect it.
32a4ee7 InstrProf: Rename Decl parameters from S to D
d0ffe4b InstrProf: Read unsigned numbers with strtoul and strtoull
8343ca2 [MS-ABI] Fix to vbptr injection site calculation. The vbptr is injected after the last non-virtual base lexographically rather than the last non-virtual base in layout order.  Test case included.  Also, some line ending fixes.
9a7c2b4 Debug info: (Bugfix) Make sure artificial functions like _GLOBAL__I_a are not associated with any source lines.
f311502 Update Clang for LLVM split stack API changes in r205997
10b2c56 [MS-ABI] Fixed __declspec(align()) on bitfields under #pragma pack. When __declspec(align()) is applied to a bitfield it affects the alignment rather than the required alignment of the struct.  The major feature that this patch adds is that the alignment of the structure obeys the alignment of __declspec(align()) from the bitfield over the value specified in pragma pack.
5d6c2ab inalloca: Pad the struct *after* inserting each arg
c16e066 CodeGen: Move PGO initialization into Release()
38be845 Some minor improvements to the thread safety intermediate language -- mostly const correctness and reformatting. Fixes the types involved with castOpcode().
748f714 When module umbrellas change, rebuild them
eaa6166 CodeGen: Clean up CommonLinkage calculation
4656ce0 ARM: Add command line option to select big or little endian
ab6249c AArch64: Add command line option to select big or little endian
dfbde3b [SystemZ] Don't indent SystemZTargetInfo relative to its namespace
d33c3a3 clang-format: Fix false positive in braced list detection in protos.
993b99c Add global static variables for anonymous union fields. This makes sure that a debugger can find them when stepping through code, for example from the included testcase:
c38f186 Avoid crashing when failing to emit a thunk
f1d76ed Fix the build with LLVM_DELETED_FUNCTION instead of '= delete'
3e3311d Remove Unicode introduced in r205943
9fad0fc AST: Implement proposal for dependent elaborated type specifiers
ae39224 Move search for header in umbrella directories into its own function
b622f9d Thread Safety Analysis: reorganized SExpr header files.  No change in functionality.
4090125 Thread safety: move the inline function back into a namespace
9c600bb [MS-ABI] Update to alias-avoidance padding This patch changes how we determine if padding is needed between two bases in msvc compatibility mode.  Test cases included.
605eea8 Switching back from a static namespace-scoped function to a static class-scope function. No functional change, but resolves a warning.
0a2bd54 Thread Safety Analysis: now with less includes. No functional changes.
c61cae9 clang-cl: Disable TBAA by default for MSVC compatibility
a1afe25 Handle difference in signedness of 'char' in test/Index/print-type.c{,pp}
c0fadbc Make c-index-test -test-print-type include pointeekind for pointer types
1768205 Add a -triple argument so that this new test passes on Darwin.
99a20e0 [Preprocessor/CodeComplete] Don't add include guard macros to code-completion results.
cc18b95 Cannot have the base class destructor be private (or explicitly deleted); fixing the build bots.
bf0b963 Thread Safety Analysis: some minor cleanups to the latest thread safety changes. No functional changes intended.
91bb446 clang-format: Update flag documentation, and generation script.
0716e08 clang-format: Treat a trailing comment like a trailing comma in braced lists.
8d47561 clang-format: Fix bug where clang-format would break the code.
94096ad clang-format: Improve format of calls with several lambdas.
2f53df4 clang-format: Allow breaking between trailing annotations in more cases.
4d9a673 clang-format: Keep more trailing annotations on the same line.
bfa38f0 clang-format: Recognize lists ending in trailing commas correctly.
9641269 clang-format: Add proto files and JavaScript to git-clang-format.
a7bbc3f Sema::SectionInfo() should have an empty body. Sorry for the breakage.
1dc8b1e Sema::SectionInfo: Prune "default" for now. Defaulted function is unavailable on msc17.
2a91240 Add missing include.
a5a0352 [analyzer] When checking Foundation method calls, match the selectors exactly.
2c149c1 [MS-ABI] Lit fix for r205810 On linux strings have different linkage than on windows.  This patch makes the lit test more general.
7e25043 [MS-ABI] Add support for #pragma section and related pragmas This patch adds support for the msvc pragmas section, bss_seg, code_seg, const_seg and data_seg as well as support for __declspec(allocate()).
e73ca81 Thread Safety Analysis.  Misc fixes to SExpr code, responding to code review by Aaron Ballman.

git-subtree-dir: llvm/tools/clang
git-subtree-split: f9d2832618bdfdcb2fb6673a0ff0464fd1e6affa
Merge with Clang.
Squashed 'llvm/tools/lldb/' changes from c346683..b29070e

b29070e Remove useless declaration
9f667cd TestPtrRef2Typedef.py change - take 2.
6642a04 Remove decorator for now-passing test
cbe9001 Add a comment to tests that XPASS on FreeBSD
4a30f61 Remove decorator for now-passing test
46947f9 Revert "Fix TestPtrRef2Typedef with new const adornment on expected ref type."
4d72471 Added a basic connection test for lldb-gdbserver.
f7cdc58 Switch NULL to C++11 nullptr in source/Symbol and source/Utility
f79f5c6 Switch NULL to C++11 nullptr in source/Interpreter
2825747 Utility: fix compilation on Linux
a27b3e1 Included <inttypes.h> in a few headers that were using preprocessor constants for printf() format specifications.
5cf0602 Marked TestAttachResume.process_attach_continue_interrupt_detach() as XFAIL on Linux per pr19478.
45fc854 Fix TestPtrRef2Typedef with new const adornment on expected ref type.
f2d90b9 Address hung tests in Linux.
7f31ae2 Add FreeBSDSignals.cpp to project file.
bc8e99a After updating to Xcode.5.1.1 LLDB framework stopped to support partial (only for STDIN) pseudo terminal usage in the debugging process. Here is the fix resolving this issue.
ae7f5eb elf-core: Add FreeBSD signals
bfbfa18 elf-core: Strip trailing whitespace
c11aa37 Move FreeBSDSignals to Utility
78387db Clean up the logic in setting timeouts a bit, and the logging as well.
54e8437 m_interrupt_sent wasn't being initialized, and wasn't being reset after an interrupt.  Do both of those.
35cc41c Add FreeBSD-specific SIGTHR and SIGLIBRT signals
f4c8d0e Remove trailing spaces
fbf7d03 Make LLDB builds against the current LLVM sources (modification on createMCDisassembler introduced by r206241)
cb9eca5 Remove  > 1 check against a boolean. I saw a complain about this code on the LLVM channel. It looks wrong to me as has_tag is a boolean. I am committing it as obvious.
382c6b5 Add some basic sanity checks to DynamicLoaderDarwinKernel::ReadKextSummaryHeader() when it is reading the kext table, in case we're reading out of a core file with corrupt contents in this region. <rdar://problem/16601915>
01761e5 Fix LLDB to build with top of tree LLVM/Clang.
08d0bdd Include additional libLLVMARM64Utils.a file.
cc33968 Fixed SBThread.GetStopReasonDataAtIndex() to correctly return breakpoint location ID.
55096de <rdar://problem/16540961>
a49f6df <rdar://problem/12055586>
98aaf97 When trying to extract the type info for an r-value reference type, dont' cast to an l-value reference type
94cae3d <rdar://problem/16477472>
9b58754 Use the default TID format in curses UI
e9d9a0f Do not rely on invalid pthread API use in thread test
f9c18a3 Fixed a problem where IRForTarget wasn't ignoring dbg_value intrinsics appropriately.
84b5d53 Fixed module spec matching to not try to compare the platform path if there isn't one in the ModuleSpec that is asked if it matches.
0c9e960 Fix the behavior when hand-calling a function times out on one thread, but by the time we go to halt, it has already stopped by hitting the function end breakpoint.  That wasn't being shown to the threads so the Function call thread plan didn't know its job was done.
52f24ba This function should be const.
2e0bfd4 Fix the GetArrayElementType() call so it will not crash when called on a non-array thing Also, the stride is now a pointer so one can avoid passing it if it's not required
97ef33d Revert r205769 as it breaks the build on FreeBSD:
e26a687 Accept DWARF version 2 and 3 in debug_line tables
cb4642b Added i686 architecture (ArchSpec::Core::eCore_x86_32_i686).
b49f456 Improve demangler to compile with MSVC.
a4a28fe Fixed an issue where if you called:
20d60d2 Fixed a case where we could spin indefinitely if we got an error from fgets that isn't EINTR.
7e5880c Cleanup the code a bit.
2829ee8 Disable JITLoaderGDB on "vendor == apple" for now due to performance slowdowns for every first run process as a global name lookup in all shared libraries if performed.
297c8d6 Correct typo: waychpoint -> watchpoint
11a5989 Add decorator for FreeBSD DynamicValueTestCase failure
2546365 Add failure decorators
2d02024 Xcode 5 crashes if lldb stops at breakpoint if long c++ template lists are present.
26bcc9a Don’t exit the command interpreter if we get interrupted by an EINTR when calling fgets().
9b541e2 Remember to clear the cached data for the OptionValueFileSpec in SetValueFromCString.
bef733a Don’t crash when we get an invalid .debug_aranges set, just ignore it. Also print out warning messages if LLDB_CONFIGURATION_DEBUG is defined.
25dd8e4 sweep up -Wformat warnings from gcc
b74412e Avoid crash if symbol returns a null name
f4e5066 Get "dis -c -s" working again.
687f607 Add explict dependencies on swig .i files for cmake builds
5e99c4b Make the fail messages
cd36342c Print the new eStopReasonExec in stop_reason_to_str.
509bd43 I removed SetCallback from the Python API's since it wasn't actually useful, and added SetScriptCallbackFunction, and SetScriptCallbackBody.  So add these to the default constructor test case.
7b012f4 Add a missing arm64 idef.
5d22200 Add decorator for pr19311 on FreeBSD
ecdf689 Workaround for collision between enum members in LLVM's MachO.h and system headers on Mac OS X (in particular mach/machine.h).
2261ae8 Don’t #include "llvm/Support/MachO.h” as it isn’t needed here.
afef59f Don’t include “llvm/Support/MachO.h” as it isn’t needed here.
95f7fc4 Don’t #include “llvm/Support/MachO.h” in a header file if we can avoid it.
7e630c9 rdar://16424649
32ab225 Add annotation for failure from new Attach/Resume test case on FreeBSD
93e5751 Use getpgid() with waitpid() in case the process pgid is not equal to its pid, as is the case with a forked subprocess. Also a couple of fixes for unit test failures from Todd Fiala.
a10caef sanitise sign comparisons
e06f7d9 build: ignore pragma warnings with GCC
0d8fe16 Test case for the previous commit.
46dcddf Add the ability to set python breakpoint commands from the SBBreakpoint & SBBreakpointLocation API's. You can either provide the function name, or function body text. Also propagate the compilation error up from where it is checked so we can report compilation errors.
616364b Use continue instead of next
818d53b Use libc++ on FreeBSD as on Darwin
8fa4f31 Implement ProcessMonitor::Kill for Linux
fec7568 Add mips64 to the list of 64-bit Host architectures
3766786 mips64: clean up register context storage
1b6962b Implement ProcessMonitor::Kill for FreeBSD
2699058 Add errno import missed in r205246
7a169be <rdar://problem/16424592>
f4cfc4d Workaround test trace output dir creation race condition
b4cf60c Fix one thread timeout logic
aae048d Fixing MSVC windows build. Please respect code order when ifdefing out MSVC specifics :)
ae72639 Include string.h for memset() prototype.  Thanks Dmitri.
7cea367 lldb arm64 import.
38e7476 Link against the zlib solib, required to build against TOT llvm.
233ec6f Add the ability from the SB API's to set the "one thread" timeout for expression evaluations that try one and then all threads.
20125a4 Wait for the reply from the 'D' detach packet before tearing down the debugger.  Avoids a race condition where we could end up killing debugserver (and thus the target) before it had a chance to detach. Also fix debugserver to send the OK AFTER it detaches to avoid the same race condition.
e62cfd9 Link in the llvm/lib/ProfileData build product.
399ca6d Add the "lldb_complete" .editrc command back in case veteran users of LLDB had .editrc key mappings in their ~/.editrc.
4e9e6bf Fixed a crasher when using 1 character type names in “type summary”, “type synthetic” and “type filter”.
4015f56 Remove annotation for llvm.org/pr19241
876aaf2 Made the Materializer not write back variables if they didn't change, just like it does for registers.  This makes life easier for kernel debugging and any other situation where values are read-only.
7640c27 Add a test case for the previous commit
e4714ad <rdar://problem/14862302>
34f5bd5 Make sure this test has a looser dependency on the exact class generated here.. it is going to be some sort of NS-provided String, but let's not bet on the details
98c1c28 Make ProcessLinux return true for DetachRequiresHalt() because PTRACE_DETACH requires this.
a7a7447 <rdar://problem/14515139>
7de2e5d Move calls to DisableAllBreakpointSites() and m_thread_list.DiscardThreadPlans() into base Process::Destroy() instead of in subclass DoDestroy() methods.
5407421 Added a missing "break" to avoid falling through when other cases get added.
d8a7097 Fixed the IRInterpreter to ignore call instructions that call debug-information intrinsics.
6451ed6 Improve Elf object file UUID calculation performance.
ec14ff5 Fixed up intermittently failing tests to skip on Linux.
1375337 A fix for: http://llvm.org/bugs/show_bug.cgi?id=19241
08e5bbd Update 'running threaded' messages after option parsing change
e77acf1 Add expected failure annotation for llvm.org/pr19241
815ed8f Add ObjectFileJIT library
bcc100f Make "disassemble -a" work when the target is not running yet.  It will dump all the functions matching that address, just like "disassemble -n" does before running.
f0cbf38 Make ModuleList iterable.
90a1dd1 Add ObjectFile/JIT to the makefile.
d98ed87 Make cmake build the new ObjectFileJIT.
a547d76 JITed functions can now have debug info and be debugged with debug and source info:
02f3f13 Add a "--threads N" option instead of having to use an environment variable. It also now defaults to running with the number of CPUs on the machine.
8a994d0 Add annotation for test failure due to clang 3.4
2de2234 Include <mutex> for std::once.
2006cd6 Renamed a struct from i386 to i386_. It is to avoid build error when gcc defines i386.
5388cef Modified patch from Piotr Rak that makes GetSharedModuleList() more thread safe and also fixed a missed member initialization on the copy contractor and also makes the assignment operator safer.
2cfd67e Update for Ubuntu 13.10 after feedback from Eran Ifrah.
02af65a Use --whole-archive linker option for minw too. It is already used for Linux and FreeBSD.
aa14787 Removed a redundant entry. Revision 203667 has already added lldbHostWindows.a to USEDLIBS. Revision 203785 just ended up adding a redundant entry.
560c42f Cleanup some dead assignements reported by scan-build
1db1c0d If a single step ends on a breakpoint, it should be reported as a breakpoint hit even though the underlying exception is a trace exception.
e413d4d Suppress SIGSTOP under Linux and don't explicitly call SetResumeSignal() in POSIXThread, instead just let StopInfo handle it.
474e4fc Don't build LLDBWrapPython.cpp for mingw. Previous check relied on -DLLDB_DISABLE_PYTHON which was not valid as it is defined in the top level LLDB Makefile which is included after the check. If this check is moved after the inclusion of top level Makefile then BUILT_SOURCES is not properly handled. So I am using the scheme present in the Host/Makefile.
9e3ccee More cleanup of win32.h. PATH_MAX is defined if it is not already defined. A duplicate definition is removed. The declaration of struct timespec is moved outside #ifdef _MSC_VER to make it available for mingw.
e94b9c4 Fixed case typo.
c5bf9c0 Switch over to use the ArchSpec::GetMachine() instead of ArchSpec::GetCore() to keep the code more portable as we add new core types to ArchSpec.
7ffde65 Add support for dumping DW_LNE_set_discriminator line table extended entries.
7dbae40 Quiet Clang warning about signed/unsigned comparison
a4c7480 Guard against reading from host address of 0 in getting the data from a Value.

git-subtree-dir: llvm/tools/lldb
git-subtree-split: b29070e63d62c63064cbae37794f5a59390bb7ba
Merge with LLDB.