Squashed 'llvm/' changes from 4f45d04..1625937

1625937 Re-factor TableGen docs
25efa8a Add a test for LowerInvoke that doesn't use "-enable-correct-eh-support"
ebf9f0c [MIPS] Add cpu octeon and some instructions
90844c4 [ASan] Add -asan-module to the ASan .ll tests. After the -asan pass had been split into -asan (function-level) and -asan-module (module-level) some of the tests have silently stopped working, because they didn't instrument the globals anymore. We've decided to have every test using both passes, irrespective of the presence of globals in it.
d68ef1a [ASan] Do not instrument globals from the llvm.metadata section. Fixes https://code.google.com/p/address-sanitizer/issues/detail?id=279.
37fb9b9 Provide an operand for microMIPS wait instruction.
3ac3e74 Implementation of microMIPS 16-bit instructions MOVE and JALR. Differential Revision: http://llvm-reviews.chandlerc.com/D3112
b71fd20 Mark alias symbols as microMIPS if necessary.   Differential Revision: http://llvm-reviews.chandlerc.com/D3080
affc53d [mips] Splitting up class definition from implementation.
471e0ba Add llvm_unreachable after fully-covered switches to appease GCC
6ee83c0 Test case for r204305.
d9a0abc Object: Output .file symbols properly
b000c17 Object: Abstract out the determination of function line symbols
8bd2799 Object: Don't double-escape empty hexdata
9320b80 Reapply 'ARM IAS: support .thumb_set'
badf4cb [X86] Check return value of readSIB in disassembler so errors propagate. In particular this makes a too short instruction with a missing SIB byte fail.
19a3e9a [ARM]Fix an assertion failure in A15SDOptimizer about DPair reg class by treating DPair as QPR.
0a70f9b Look through variables when computing relocations.
5a8743e Revert "Use the range machinery for DW_AT_ranges and DW_AT_high/lo_pc."
eb7dcd7 Support: Add postincrement and include guards to LineIterator
f2a52c3 Use the range machinery for DW_AT_ranges and DW_AT_high/lo_pc.
925147c R600/SI: Add unused LDS 2 form instructions.
e3620da R600/SI: Add support for 64-bit LDS writes
62b3e22 R600/SI: Add support for 64-bit LDS loads.
6eaa492 R600/SI: Match i16 immediate offset of LDS instructions.
adf5141 R600/SI: Fix test checking wrong instruction operand.
9c0b2d0 R600/SI: Don't display the GDS bit.
6d17817 R600/SI: Merge offset0 and offset1 fields for single address DS instructions v2
875b3c9 COFF: Fix a typo
a2ff1c5 Fix comment (PR19188)
e7f8a0b [mips] 80-column.
947fa5b [mips] Making sure that a '.set noreorder' directive is correctly parsed and emitted and that no NOPs are emitted in a 'noreorder section'.
eef411a Set debug info for instructions inserted in SplitBlockAndInsertIfThen.
59ae729 Prune includes in X86 target.
6d19153 Object: Provide a richer means of describing auxiliary symbols
92c5a19 Object: Move auxiliary symbol definitions from llvm-readobj
75141e6 Object: Clean up COFF.h
695043f llvm-profdata: Make "merge" into a subcommand.
fb007bb llvm-profdata: Update to use the naive text format with function hash
94ec09a Make the test harder by using a non-zero offset.
f7efbb1 When destroying a StringMap, just iterate over the map and destroy the contained elements.  Don't reset them back to 0 as their values aren't needed any more.  This results in ~StringMap() being mostly empty for POD types in BumpPtrAllocators
025e94d Revert "Add back r203962, r204028 and r204059."
56ce2f5 DebugInfo: Use the comp_dir of the referencing type units when building debug_line.dwo
21354ec Expose "noduplicate" attribute as a property for intrinsics.
cae25dc Object/COFF: Add function to check if section number is reserved one.
2c4507e Move yet another test that requires ARM to an ARM test directory.
ec8a856 Move tests that require ARM to an ARM test directory.
9ea770d Fix use_iterator crash in ObjCArc from r203364
6d1980d C++ style comments
c18837f Tidy up. Update per naming conventions.
e133cd2 MachO: Emit a version-min load command when possible.
d55fc3f Darwin: Add assembler directives to create version-min load commands.
802d815 MachO: Comment fields in the version_min load command.
3c1eb99 [LV] While I'm here, use range based for loops which are so much cleaner for this kind of walk.
633eb08 [LV] The actual change I intended to commit in r204148. Sorry for the noise.
a22773c [LV] Replace some dead code with an assert. When I first ported this pass from a loop pass to a function pass I did so in the naive, recursive way. It doesn't actually work, we need a worklist instead. When I switched to the worklist I didn't delete the naive recursion. That recursion was also buggy because it was dead and never really exercised.
18d3426 More header and forward declaration cleanup.
a673745 Add back the headers we're getting via (likely) transitive includes. We really do use these things in the header.
4af106a Add back r203962, r204028 and r204059.
7f22dc9 Fix for coding style.
994c303 Remove a bunch of unnecessary includes and forward declarations.
523f800 X86 memcpy lowering: use "rep movs" even when esi is used as base pointer
172c318 Use early returns to reduce nesting.
50e4d56 Fix test lsr-normalization.ll broken in r204161.
370981a Add support for scalarizing/splitting vector bswap.
e1ea4fa Debug info: Remove OdrMemberMap from DwarfDebug, it's not necessary. Follow-up to r203982.
13ca05e Add stride normalization to SCEV Normalize/Denormalize transformation.
6077ca9 [DAGCombiner] teach how to simplify xor/and/or nodes according to the following rules:
7e18b99 X86: Use enums for memory operand decoding instead of integer literals.
3da5629 Enable CFI on Hexagon.
d4585b9 Fix PR19144: Incorrect offset generated for int-to-fp conversion at -O0.
610469f [msan] Origin tracking with history.
c605296 Tolerate unmangled names in sample profiles.
8a99824 Revert r203962 and two revisions depending on it: r204028 and r204059. The revision I'm reverting breaks handling of transitive aliases. This blocks us and breaks sanitizer bootstrap: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/2651 (and checked locally by Alexey).
f48cfdd Add IAS/EHABI changes to release notes
99ffa5c DebugIRTests: Fixup for r204130.
f7a8108 [msan] Kill -msan-store-clean-origin flag.
0864947 [C++11] Change DebugInfoFinder to use range-based loops
fabbbc9 [msan] Remove unused code.
a9d93e3 [C++11] Mark the target fast isel classes as 'final' so that the compiler can de-virtualize some of the internal calls.
5b64579 [C++11] Change the interface of getCOFF{Section,Relocation,Symbol} to make it work with range-based for loops.
3bdef4b CodeGen/R600/v_cndmask.ll: Relax an expression to unbreak msvcrt.
27c2eb2 DebugInfo/lto-comp-dir.ll: Tweak for dos path.
96be424 ARM: add an assertion
ff5abbb DwarfDebug: Only unique retained types instead of all types. This is a follow-up to r203983 based on feedback from dblaikie and mren (Thanks!) No functionality change.
5e8144d Switch the type field in DIVariable and DIGlobalVariable over to DITypeRefs. This allows us to catch more opportunities for ODR-based type uniquing during LTO. Paired commit with CFE which updates some testcases to verify the new DIBuilder behavior.
4d82ca7 Replace unnecessary #include directive with forward declarations.
635ed6d Add explanatory comment.
b005e96 Shorten DotDebugLocEntry to just DebugLocEntry and reformat. No functional change.
c5b39af DebugInfo: Avoid emitting standard opcode lengths in debug_line.dwo headers where opcodes are never used anyway
9c1e56a DebugInfo: Implement debug_line.dwo for file names used in type units during -gsplit-dwarf
cdbfefb DebugInfo: Flag test as requiring object emission support
2a12c4e DebugInfo: Do not rely on the compilation dir (index 0) for files in line tables shared between compilation units
1881227 DebugInfo: Move getOrCreateSourceID from DwarfDebug to DwarfCompileUnit
2879a6c DebugInfo: Move line table zero-directory-index (compilation dir) handling into MCDwarf
9f44c11 Make methods static
43873d4 Use range metadata instead of introducing selects.
92fca73 Switch a number of loops in lib/CodeGen over to range-based for-loops, now that the MachineRegisterInfo iterators are compatible with it.
7ad87e4 Really REALLY finish adding const to the MachineRegisterInfo iterator range methods.
c153e49 Making a guess to fix the test case with r204056 to get the build bot working.
2683baa R600: Match sign_extend_inreg to BFE instructions
94bdb45 Make DAGCombiner work on vector bitshifts with constant splat vectors.
63d93fa Add one more const marker that I missed.
daeeb37 DebugInfo: Use MC line table file entry uniquing for non-asm input as well.
03a3f64 Mark MachineRegisterInfo's iterator range methods as const.
3645c32 Add iterator range definitions for the MachineRegisterInfo iterators.
131ab02 [X86] Fix unused variable warning with NDEBUG from r204058
1e4d7d7 MC: change runtime check to an assertion
5b5e5ab ARM IAS: support .thumb_set
8c8fe42 [VectorLegalizer/X86] Don't unvectorize fp_to_uint for v8f32->v8i16
ad52f4f R600/SI: Fix implementation of isInlineConstant() used by the verifier
eb78760 R600/SI: Use correct dest register class for V_READFIRSTLANE_B32
27b614f R600/SI: Add generic checks to SIInstrInfo::verifyInstruction()
bbbc2b1 Consistent use of the noduplicate attribute.
133aacf [C++11] Introduce ObjectFile::symbols() to use range-based loops.
6e3acef llvm/test/MC/MachO/gen-dwarf-cpp.s: Relax an expression to match DOS pat.
9fdf9d2 Consider the base pointer for setting the symbol type.
fd69cf9 DebugInfo: Improve reuse of file table entries in asm debug info
6a6b6f5 Test case
f6c2ab8 Deleted copy-constructor/copy-assignment broke a buildbot. Removing while I investigate.
717b36b llvm-readobj: Print referred symbol name for CLR token definition
23653b1 llvm-readobj: Add test for COFF auxiliary symbols as used by C++/CLI
960c80d Rename PBQP RegAllocSolver local variables to conform to LLVM coding style.
3dd951e [X86] New and improved VZeroUpperInserter optimization.
7f0871c Untabify.
8142bc1 Add FIXMEs to use DIScopeRef instead of DIScope for LTO type uniqueing.
7d5c4cb [CMake][cygming] Disable --out-implib from executables.
72ca6ef Remove named Twine.
d5452e3 Use a fixed subtarget for test so atom scheduling can't change the addresses this test relies on.
3c143dd Remove some dead assignements found by scan-build
571832b Make some assertions on constant expressions static.
80d3b1e PointerIntPair: Avoid an (academic) case of undefined behavior in the DenseMapInfo specialization.
1402941 LSR: Compress a pair (and get rid of the DenseMapInfo for it).
8a8f5c3 Replace ValueTypes.h with MachineValueType.h if possible.
c0a42c2 Support: Make error_category's constructor public
8e85e50 llvm/test/Transforms/SampleProfile/syntax.ll: Suppress checking the message catalog in ENOENT. It is locale-dependent on Windows.
5d45272 SampleProfile.cpp: Fix take #2. The issue was abuse of StringRef here.
ba3fc12 SampleProfile.cpp: Quick fix to r203976 about abuse of Twine. The life of Twine was too short.
2345166 R600: Remove unnecessary attempt to zext a pointer.
2cf43de R600: Code cleanup.
7aa478d Object/COFF: change data type of SymbolNumber from int16 to uint16.
1d8c02b Debug info: Unique types before emitting them to DWARF, where applicable.
7e1a383 Debug Info: Fix LTO type uniquing for C++ member declarations based on the ODR.
2110a0d Re-add checks that were in this testcase before it was converted to dwarfdump.
be4056d typo
6fb117d MC: don't create a backtrace for diagnostics.
68c1cb4 Re-format SampleProfile.cpp with clang-format. No functional changes.
3f7c2f3 Use DiagnosticInfo facility.
f90e07f Remove command line option for CU hashing. This is on by default now. Fix up testcases and use of flag.
11bd486 Make the arbitrary section name be something mach-o compatible.
82899d9 If we see that we're emitting code for a function that doesn't have any lexical scopes then go ahead and turn on DW_AT_ranges for the compile unit since we would be claiming to describe in the CU a range for which we don't have information in the CU otherwise.
895ec9e Remove the -generate-dwarf-cu-ranges flag. Rewrite a couple of testcases to cover areas that would be normally by turning it on into testcases that will follow the logic.
c75ec15 MCDwarf: Initialize MCLineTableHeader::Label
19f2fea MCContext: Remove redundant assignment
54e5821 Correctly handle an ELF symbol defined with "a = b + expr".
419e5ff Remove unnecessary StringRef::str() call where an implicit conversion works just fine.
2bc7715 DwarfDebug: Remove some needless recursion.
4fc4769 x86: Add missing break to getCallPreservedMask()
71e585e x86: NFC: Make getCallPreservedMask() more similar to getCalleeSavedRegs()
43cf3f0 [docs] Add links to XMOS XCore documentation.
4baea39 x86: getCalleeSavedRegs() would crash on 0 (so don't default to it)
80f27b0 Fix a bug introduced during the transition to PathV2.
385303b Delete unused ObjectFile::{begin,end}_symbols()
6f07b35 [C++11] Introduce SectionRef::relocations() to use range-based loops
0eba2c9 Separate out MVT in a separate header file: MachineValueType.h
0951eec [ppc64] Avoid copy relocs in named rodata sections
670ef02 [ASan] Fix https://code.google.com/p/address-sanitizer/issues/detail?id=274 by ignoring globals from __TEXT,__cstring,cstring_literals during instrumenation. Add a regression test.
89ca7b3 Use ctor instead of initializer list to appease Windows buildbots
b98e0c4 Use temporary instead of a local variable here
d463c7e Generalise assembly tests to not rely on anonymous symbol names
bf7cc39 AddressSanitizer instrumentation for MOV and MOVAPS.
1e83c8c MergeFunctions, cmpType: fixed variable names from XXTy1 and XXTy2 to XXTyL and XXTyR.
3185e83 MergeFunctions, cmpType: Fixed comments wrapping.
74f42fd [yaml2obj][ELF] Use range-based for loops.
9e30b78 [yaml2obj][ELF] Refer to a section in the error message by its name not index.
ef31540 [yaml2obj][ELF] Remove unused ELFState class field.
9f685d3 [yaml2obj][ELF] Assign name (.shstrtab) to the section holds sections names.
dfbd262 [Mips] Add one more MIPS relocation type constant.
b6f478a Revert r203883 (which was more of a bandaid) and fix the real underlying issue in that the new MachineRegisterInfo bundle iterators didn't dereference to the START of the bundle, while the old skipBundle() method did.
beaa95d static link polly into tools
757ed6d Fix issue with r203865.  The old behaviour would get a MachineOperand then find the MI for the bundle the MI was in.  The new behaviour was failing to get the parent bundle and instead just used the MI from the MachineOperand
d63289b Reverted r203879.
bc075b2 Fixed misuse of isascii. Also fixes mingw32 build, see http://msdn.microsoft.com/en-us/library/ms235417.aspx
70506c5 Use DW_AT_linkage_name when we're emitting DWARF4 or above.
1f21e0d Remove the linker_private and linker_private_weak linkages.
bf63022 Phase 2 of the great MachineRegisterInfo cleanup.  This time, we're changing operator* on the by-operand iterators to return a MachineOperand& rather than a MachineInstr&.  At this point they almost behave like normal iterators!
d3fc1be Fix a bug in InstCombine where we would incorrectly attempt to construct a bitcast between pointers of two different address spaces if they happened to have the same pointer size.
43d5e07 MCDwarf: Rename MCDwarfFileTable to MCDwarfLineTable
91d5586 MCDwarf: Extract the DWARF line table header handling into its own type
303d39f Make GDBJITRegistrar thread safe. Patch by Jim Kearyn, with cleanup by Ivan Puzyrevskiy.
b8b4d3e Fix a subtle issue introduced my my recent changes to MachineRegisterInfo iterators. When initializing an iterator, we may have to step forward to find the first operand that passes the current filter set.  When doing that stepping, we should always step one operand at a time, even if this is by-instr or by-bundle iterator, as we're stepping between invalid values, so the stride doesn't make sense there.
c5888b8 Add -mtriple=x86_64-linux to this test case to fix the build bots.5
b60d2ba MCDwarf: Sink file/directory creation down into MCDwarfFileTable form MCContext
ac01874 Test commit - remove trailing whitespace
43e7eb8 MCDwarf: Oh, and move the directory string over to std::string as well
8c987f5 MCDwarf: Simplify MCDwarfFile to just use std::string instead of cunning use of MCContext's allocator.
ed2ca70 Fix for http://llvm.org/bugs/show_bug.cgi?id=18590
4ad4187 MCDwarf: Simply MCDwarfFile since it really is just a StringRef and unsigned.
7e9df19 Use printable names to implement directional labels.
1fa9a14 Update my e-mail address in CODE_OWNERS.TXT
04de406 Remove stale comment
a2f9a2c MCDwarf: Refactor line table handling into a single data structure
47feea0 R600: LDS instructions shouldn't implicitly define OQAP
d2a816f Cleanup: Remove use of old "-enable-correct-eh-support" option from a test
c8ed0db [ARM] Use symbolic register names in .cfi directives only with IAS (PR19110)
7a2da95 [C++11] Use ObjectFile::sections() in commandline llvm tools
b920dfe [C++11] Introduce ObjectFile::sections().
f8909fa CodeGenPrep: sink extends of illegal types into use block.
2da4187 [msan] Fix handling of byval arguments in VarArg calls.
b9aefe6 [CMake] Put -Werror to CMAKE_CXX_FLAGS instead of using add_llvm_definitions()
383470e Remove utils/llvm-native-gcc.
3d1ae71 AVX-512: masked load/store + intrinsics for them.
ab35f3f First patch of patch series that improves MergeFunctions performance time from O(N*N) to O(N*log(N)). The idea is to introduce total ordering among functions set. That allows to build binary tree and perform function look-up procedure in O(log(N)) time.
2d74092 [PM] As was pointed out in review, I need to define a custom swap in order to use the single assignment. That's probably worth doing for a lot of these types anyways as they may have non-trivial moves and so getting copy elision in more places seems worthwhile.
0423950 [PM] Stop playing fast and loose with rebinding of references. However convenient it is to imagine a world where this works, that is not C++ as was pointed out in review. The standard even goes to some lengths to preclude any attempt at this, for better or worse. Maybe better. =]
2d9f3bf AArch64: error when both positional & named operands are used.
a2b15f5 [C++11] DWARF parser: use SmallVector<std::unique_ptr> for parsed units in DWARFContext, and delete custom destructors
ab849ade [PowerPC] Initial support for the VSX instruction set
79c15b2 [TableGen] Optionally forbid overlap between named and positional operands
72df688 [C++11] Convert DWARF parser to range-based for loops
7c80167 ARM: ignore unused variable to fix -Wunused-variable builds
dbf8aab MC: fix silly typo
0ed4ef8 ARM: support emission of complex SO expressions
b0f12df Support: add support to identify WinCOFF/ARM objects
ec7eedc [CMake] Enable a bunch of Xcode build settings that correspond to warnings that are for the most part enabled by default either by Clang or -Wall.
76604af Phase 1 of refactoring the MachineRegisterInfo iterators to make them suitable for use with C++11 range-based for-loops.
178df3f Fix PR18800. llvm intrinsic memcpy takes 5 arguments void @llvm.memcpy.p0i8.p0i8.i32(i8* <dest>, i8* <src>, i32 <len>, i32 <align>, i1 <isvolatile>).The test case incorrectly uses the old format resulting in isVolatile function in MemIntrinsic to crash during SROA transformation.Modified the test case to use correct signature of memcpy and memset.
0e8c89a Fix a false error reported by the tblgen backend for machine model "ProcResource def is not included in the ProcResources".
ce5a654 MC: fix possible NULL pointer dereference
2b5925b llvm/test/BugPoint/compile-custom.ll.py: Make it py3-compatible. [PR19112]
a7c8518 Fix typo in comment: "inwoke" -> "invoke"
8d46932 Fix whitespace in vectorizer example
6a7d263 Fix vectorizer docs.
9a4d525 decl-derived-member.ll: Try to unbreak. Don't add -mtriple to %llc_dwarf.
7878b00 Remove more empty directories.
75dbe99 Remove empty directories.
9802a6c Remove projects/sample.
1da4b5b MCDwarf: Remove unused parameter
16300ca MCDwarf: Invert the Section+CU->LineEntries mapping so the CU is the primary dimension
eb8eef0 This test need the X86 backend, move it to the X86 sub directory.
efa9416 Back out Profile library and dependent commits
4a0593c PR17473: Don't normalize an expression during postinc transformation unless it's invertible.
a65ca9d [X86] Add peephole for masked rotate amount
9367c49 Fix the ocaml test to not create a alias to a declaration.
3b06b73 Test commit
1b2c73a Profile: Avoid an unnecessary __attribute__((packed))
f3e1756 Profile: Remove an inefficient and unnecessary API function
230eda4 Resubmit "[SLPV] Recognize vectorizable intrinsics during SLP vectorization ..."
12a4057 Add a triple to fix the test on OS X.
38048cd Reject alias to undefined symbols in the verifier.
4207c67 llvm-profdata: Use the Profile library, implement show and generate
02da814 Profile: Add a library for the instrumentation based profiling format
7eb747e Fix two thinkos in testcase and remove XFAIL.
3f06e3f Use -std=gnu++11 on cygwin and mingw.
060c0eb Allow exclamation and tilde to be parsed as a part of the ppc asm operand.
b2ff2c7 XFAIL this temporarily.
2aeb92e Move test to X86 only for now.
054f4ec R600: Fix trunc store from i64 to i1
09a31f3 Allow switch-to-lookup table for tables with holes by adding bitmask check
365f045 When computing the size of a base type be conservative if the type is a declaration and return the size of the type.
9225686 Revert r203488 and r203520.
79d1854 Avoid repeated calls to CE->getOperand(0). No functionality change.
77d21e8 [X86] Refactor peepholes for masked shift amount into a multiclass
a6b6d52 [X86] Set the scheduling resources of some of the FPStack instructions. This is related to <rdar://problem/15607571>.
097963a Use values we've already computed, update comment. No functional change.
020026c Turn on hashing by default for split dwarf compile units.
e519c39 unittests: Fix -Werror build
d0c33e5 Correct typo ("a entry" -> "an entry")
3b8cc22 Try harder to evaluate expressions when printing assembly.
a3802ac DebugInfo: Use common line/file attribute construction code
4c871b7 Revive SizeOptLevel-explaining comments that were dropped in r203669
8a9f2fd Add parens around && clauses in a || to appease the compiler.
72b4cbf Add comment pointing to the binutils bugzilla entry
ce306f9 Move duplicated code into a helper function (exposed through overload).
3d37204 Update the datalayout string for ppc64LE.
e74c0bf Cloning a function now also clones its debug metadata if 'ModuleLevelChanges' is true.
58b6bfe [mips][fp64] Add an implicit def to MTHC1 claiming that it reads the lower 32-bits of 64-bit FPR
fe6bd52 [mips] BSEL's and BINS[RL] operands are reversed compared to the vselect node used in the pattern.
d4517fa ARM: correct Dwarf output for non-contiguous VFP saves.
792a1d7 Replace '#include ValueTypes.h' with forward declarations.
e03daa0 [ARM] Use DWARF register numbers for CFI directives in ELF assembly
9d3e746 DebugInfo: Omit pubnames/pubtypes when compiling with -gmlt
1c7fef1 DebugInfo: Do not emit pubnames/pubtypes sections if they are empty
c4d9cc0 Test for empty pubnames/pubtypes
ef953d6 DebugInfo: Avoid re-looking up the DwarfUnit when emitting pubnames/pubtypes
e98b0e4 DebugInfo: Refactor emitDebugPubNames/Types into a common implementation
0932a74 Accept Twine's to AsmPrinter::getTempSymbol (refactoring for an incoming change)
31add9c Clean up test/DebugInfo/empty.ll now that we have an alias for "llc with dwarf output"
e5b11b3 move WITH_POLLY option before add_subdirectory(tools)
6673760 DebugInfo: Remove unused labels now that we just emit DW_AT_gnu_pubnames as a flag (as of r203082)
404a727 support: add a utility function to normalise path separators
ff73a2b [mips] Implement NaCl sandboxing of function calls:
d1742f6 Simplify a really complicated check for Arch == X86_64.
819af77 Remove dead code.
8acff70 Cleanup the interface for creating soft or hard links.
7e3e9aa Don't assume an empty stderr.
7532403 Range-ify a loop.
1332459 X86: Don't generate 64-bit movd after cmpneqsd in 32-bit mode (PR19059)

git-subtree-dir: llvm
git-subtree-split: 1625937ddb8aaa4eb2c62249c41316fa715add87
Merge with LLVM.
Squashed 'llvm/tools/clang/' changes from 0c1843b..18d907e

18d907e Replacing the exclusive_lock_function, shared_lock_function and unlock_function attributes with the acquire_capability and release_capability attributes. The old spellings will continue to work, but the underlying semantic attributes have been replaced.
46348d9 Remove wchar_t* buffer from scanf format fix-it test.
100624f [msan] -fsanitize-memory-track-origins=[level] flag and docs.
5cf6322 Silencing an MSVC warning about not all control paths returning a value. No functional change intended.
97cc0b4 Flust stdout after each vftable dumped to simplify debugging
2b15c2a Tooling: Move heavyweight vectors around instead of copying.
c6fe0cc Make format-strings-fixit.c aware of "%hu" uint16_t on wchar_t for targeting win32.
2b7cab0 Kill -faddress-sanitizer, -fthread-sanitizer and -fcatch-undefined-behavior flags.
b3b6a84 [-Wunreachable-code] Look through member accesses for 'static const bool' configuration values.
b17a3aa [-Wunreachable-code] constexpr functions can be used as configuration values.
a80944a [-Wunreachable-code] Simplify and broad -Wunreachable-code-return, including nontrivial returns.
ae3c93f [libclang] Introduce clang_VirtualFileOverlay_setCaseSensitivity that exposes the VFS option to set the case-sensitivity for lookups.
3cbd488 PGO: use linker magic to find instrumentation data on Darwin
863a5e8 scanf format checking: include the buffer length in the fix-it for %s.
fa2fda0 PGO: Separate out common isMachO logic; no functionality change
8df19aa Objective-C. Make getObjCEncodingForMethodParameter public.
ae028ef Add a new spelling for module map files 'module.modulemap'
63a1a88 [analyzer] scan-build: when matching flags, make sure the - is the first letter.
1cde496 Comment parsing: fix a crash when dumping comment ast for a function template with variadic parameters
2fea8f7 Comment parsing: recognize \param ... on function templates with variadic parameters
ffd5d16 Use the expansion location of the file name when finding the module.
be1b9f5 Tests for DR450-475.
08c7b3d Fix a typo in r204164 that made *all* keywords available in OpenCL mode.
0ec537c CodeGen: Include a function hash in instrumentation based profiling
771ed34 Simplify and add FIXME. No functionality change.
f2daf53 In the presence of modules, we can have multiple implicit instantiations of the same template. Teach RecursiveASTVisitor to visit all of those, not just one of them. This is difficult to test by itself, but will be covered by an upcoming change.
8cd1d73 Creating a printing policy for "half": Since "half" is an OpenCL keyword and clang accepts __fp16 as an extension for other languages, error messages and metadata (and hence debug info) should refer to the half-precision floating point as "__fp16" instead of "half" when compiling for non-OpenCL languages. This patch creates a new printing policy for half in a similar manner to what is done for bool and wchar_t.
23f8716 Objective-C. Better fix for my previous patch "No need to issue deprecated warning if deprecated method in class extension is being implemented in primary class implementation (no overriding is involved). // rdar://16249335". No functionality change.
f7cedcb clang-format: Detect function-like macros only when upper case is used.
5eb0349 Added a __has_feature() for 'is_constructible'
6840105 modify declare-use.S to work when full toolchain not present
567ad56 [OPENMP] DSA fix
c99e001 Fix crasher bug.
e26232b clang/test/Driver/sanitizer-ld.c: Tweak to accept dos path.
68711dd [OPENMP] Simplified data-sharing attributes analysis.
6aa7575 Add support for sanitizers arguments on FreeBSD
ccf7023 clang/test/Modules/cxx-templates.cpp: Tweak for dos path.
14679b6 Fix const correctness issue in CXXConstructExpr::getArgs().
b48926b More working around a GCC range-based for scope bug.
0d54871 Debug info: Update testcases to new DIBuilder behaviour. Variables now store DIRefs to their types for improved type uniquing.
01400f9 AST dumper: if we have multiple implicit instantiations of the same class template specialization (from different modules), dump them all, so that every declaration is dumped somewhere.
2b34657 PGO: Switch to isOSBinFormatMachO()
cbf2455 Fix variable shadowing. Due to a bug in GCC's implementation of range-based for loops, it was making this an error, resulting in buildbot failures.
f7e6f5e Remove 'REQUIRES: LP64' from these tests and use a more targeted fix.
1a17942 Objective-C. No need to issue deprecated warning if deprecated method in class extension is being implemented in primary class implementation (no overriding is involved). // rdar://16249335
0bfddd6 Factor out repeated code in dumping template declarations.
c8b4613 Range-ify and simplify some of the AST dumping code by factoring out the lastChild check.
d4d211d Don't fold together the name lookup entries for two declarations if they are declared in different namespaces in the same inline namespace set.
7513eb5 Objective-C. Consider blocks for designated initializer warnings (warning or lack there of) as well since blocks are another pattern for envoking other designated initializers. // rdar://16323233
cc7b172 PGO: Statically generate data structures
bbe3878 [C++11] Replacing CGFunctionInfo arg iterators with iterator_range arguments(). Updating all of the usages of the iterators with range-based for loops.
3985a32 Objective-C. Do not warn when an instance method and class method with the same selctor but different argument types having one of them in class extension. // rdar://16312105
52fa036 [C++11] Replacing CallArgList writeback iterators with iterator_range writebacks(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.
930c249 [C++11] Replacing DeclContext iterators using_directives_begin() and using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions. Also used as an opportunity to normalize the name from getUsingDirectives() to using_directives().
a0f17af [C++11] Replacing Scope iterators using_directives_begin() and using_directives_end() with iterator_range using_directives(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.
ae20647 [C++11] Replacing Scope iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops, and removing the no-longer-needed iterator versions.
8e858e9 Remove unused variable from test.
4f8e7df [C++11] Replacing ObjCObjectPointerType iterators qual_begin() and qual_end() with iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.
314ff89 [C++11] Replacing ObjCObjectType iterators qual_begin() and qual_end() with iterator_range quals(). Updating all of the usages of the iterators with range-based for loops.
976b913 [C++11] Replacing FunctionProtoType iterators exception_begin() and exception_end() with iterator_range exceptions(). Updating all of the usages of the iterators with range-based for loops.
c4430a7 [C++11] Replacing FunctionProtoType iterators param_type_begin() and param_type_end() with iterator_range param_types(). Updating all of the usages of the iterators with range-based for loops.
e544d56 clang-format: Indent from dict literal labels.
bcbb92d [C++11] Replacing CompoundStmt iterators body_begin() and body_end() with iterator_range body(). Updating all of the usages of the iterators with range-based for loops.
e5e230f clang/test/CXX/drs: Add "REQUIRES:LP64" to a couple of tests in r204033. [PR8833]
7d6c15c Tests for DR400-450.
c5d060f PR19152: If a variable template's type involves 'auto', instantiate the initializer with the variable in order to determine the type.
b746d24 Make some assertions on constant expressions static.
45efc19 The year is 2014. MSVC is still unable to synthesize move ctors.
ec4d626 Preprocessor: Clarify the ownership of the IncludeMacroStack with unique_ptr.
d1572b6 Serialization: Directly compare objects instead of using a functor duplicating the compare operators.
3b4e983 Fix PR18806: Canonicalize the replacement type when deserializing a SubstTemplateTypeParmType
a849604 Remove dead functions from unreachable code analysis.
04fc58f [C++11] Add 'override' keyword to virtual methods that override their base class.
5d9db0b -Wunreachable-code: treat 'const bool' locals as control values.
2ce2d86 Further refine -Wunreachable-code groups so that -Wno-unreachable-code-break doesn't turn off all unreachable code warnings.
83daac8 [C++11] Add 'override' keyword to virtual methods that override their base class.
5f5ef97 Start breaking -Wunreachable-code up into different diagnostic groups.
6112f1f ASTTests//EvaluateAsRValueTest.cpp: Appease *-win32 target to add -fno-delayed-template-parsing.
9158025 Implement the MS extension __identifier properly: take a token and strip it of its keywordliness.
a768bc9 Objective-C. Redo turning off designated initialization warnings on 'init' methods which are unavailable. Subclasses of NSObject have to implement such methods as a common pattern to prevent user's own implementation. // rdar://16305460
61377c3 Call RequireCompleteType when performing ADL even if the type is already complete. We hook into this check from a couple of other places (modules, debug info) so it's not OK to elide the check if the type was already complete.
02242c3 [C++11] Removing the found_decls_begin() and found_decls_end() APIs and replacing with a range-only found_decls() API.
f2598b5 Add two missing entries to the C++11 support page. Bump one relevant diagnostic (for an integer too large for any signed type) from Warning to ExtWarn -- it's ill-formed in C++11 and C99 onwards, and UB during translation in C89 and C++98. Add diagnostic groups for two relevant diagnostics.
4aa9d7e [C++11] Removing the types_begin() and types_end() APIs and replacing with a range-only types() API.
d9a6d51 [C++11] Removing the local_import_begin() and local_import_end() APIs and replacing with a range-only local_imports() API. Privatizes the iterator class as well.
6547708 Objective-C. Turn off designated initialization warnings on 'init' methods which are unavailable. Subclasses of NSObject have to implement such methods as a common pattern to prevent user's own implementation. // rdar://16305460
6bf7eac Removing some unused functionality from AttributeList.
ccccadd Try to remove confusion about C++11 feature support:  * Explicitly say that we conform to the two N/A bullets that required no    compiler changes.  * Remove a library feature from our features list.
7ee0605 Change a raw string literal back to C++98 style to fix freeBSD9.2 builtbot
75b7675 [C++11] Replacing CapturedStmt iterators capture_init_begin() and capture_init_end() with iterator_range capture_inits(). Updating all of the usages of the iterators with range-based for loops.
6440fd7 [C++11] Replacing BlockDecl iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
ba42b0b Objective-C. Allow objc_designated_initializer for private initializers; but only those declared in class extensions (not in implementations). // rdar://16305347
1a858d6 [C++11] Replacing CapturedStmt iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
b8930d6 Fix VS2012 build after r203881
f5ba472 Fix a crash (assertion failure) in EvaluateAsRValue.
83f17fd Fix PR19104: Incorrect handling of non-virtual calls of virtual methods
ce8c748 NFC: remove unused variables from r203938, r203942, and r203947
47aa3ca [C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops.
7f99d73 Removing some more unused iterator methods for partial specializations.
6b364b8 clang/test/CodeGen/aarch64-varargs.c: works now regardless of assertions.
2860b7c [C++11] Replacing VarTemplateDecl iterators spec_begin() and spec_end() with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops.
45c55c8 Removing some unused iterator methods for partial specializations.
76538aa [C++11] Replacing ClassTemplateDecl iterators spec_begin() and spec_end() with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops.
8d16b0c [C++11] Replacing FunctionTemplateDecl iterators spec_begin() and spec_end() with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops.
714b996 [C++11] Replacing OMPThreadPrivateDecl and OMPClause iterators varlist_begin() and varlist_end() with iterator_range varlists(). Updating all of the usages of the iterators with range-based for loops.
e385112 Objective-C++ IRGen. Due to change to AST for initialization of c++11’s data members by addition of CXXDefaultInitExpr node to the initializer expression, it has broken treatment of arc code for such initializations. Reviewed by John McCall. // rdar://16299964
4e317ec [C++11] Replacing DeclContext iterators lookups_begin() and lookups_end() with iterator_range lookups(). Similar for noload_lookups(). Updating all of the usages of the iterators with range-based for loops.
1171681 [C++11] Replacing ObjCImplementationDecl iterators ivar_begin() and ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops.
90f0e71 [C++11] Replacing ObjCCategoryDecl iterators propimpl_begin() and propimpl_end() with iterator_range property_impls(). Updating all of the usages of the iterators with range-based for loops.
b668ff5 Don't verify module inclusions in assembler files.
361cb66 [C++11] Replacing ObjCCategoryDecl iterators ivar_begin() and ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops.
93e7004 [C++11] Replacing ObjCCategoryDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.
58e3220 [C++11] Replacing ObjCCategoryDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
867fa23 clang/test/CodeGen/aarch64-varargs.c: Suppress this for -Asserts, for now.
07ca58c [C++11] Replacing ObjCProtocolDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.
a5ee2eb AArch64_be specific clang target settings
85de826 AArch64_be varargs processing for ARM ABI
212f706 Remove unused typedef as pointed out by a GCC warning.
244e7ec Use the correct symbol for a left bracket.
f5e1b67 De-virtualize a method that doesn't override anything and has no overrides itself.
c216a98 Remove seemingly dead method. It was marked virtual but doesn't override anything and there don't seem to be any in tree callers.
cc7baf6 [C++11] Add 'override' keyword to virtual methods that override their base class.
5a6ac61 static link polly
b18df47 [Modules] Emit the module file paths as dependencies of the PCH when we are building one.
5075f49 [Modules] Make sure that the synthesized file "__inferred_module.map" doesn't show up as dependency of a module file.
857c6fc Refactor ASTReader::readInputFileInfo to return a struct containing the related information.
09c79d9 [C++11] Replacing ObjCProtocolDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
b4c5aa9 [C++11] Replacing ObjCInterfaceDecl iterators known_extensions_begin() and known_extensions_end() with iterator_range known_extensions(). Updating all of the usages of the iterators with range-based for loops.
27f4422 [C++11] Replacing ObjCInterfaceDecl iterators visible_extensions_begin() and visible_extensions_end() with iterator_range visible_extensions(). Updating all of the usages of the iterators with range-based for loops.
847d1a3 [C++11] Replacing ObjCInterfaceDecl iterators known_categories_begin() and known_categories_end() with iterator_range known_categories(). Updating all of the usages of the iterators with range-based for loops.
2609ccf [C++11] Replacing ObjCInterfaceDecl iterators visible_categories_begin() and visible_categories_end() with iterator_range visible_categories(). Updating all of the usages of the iterators with range-based for loops.
6b4e664 [C++11] Replacing ObjCInterfaceDecl iterators ivar_begin() and ivar_end() with iterator_range ivars(). Updating all of the usages of the iterators with range-based for loops.
a2a1fef [C++11] Replacing ObjCInterfaceDecl iterators all_referenced_protocol_begin() and all_referenced_protocol_end() with iterator_range all_referenced_protocols(). Updating all of the usages of the iterators with range-based for loops.
2a94293 [C++11] Replacing ObjCInterfaceDecl iterators protocol_loc_begin() and protocol_loc_end() with iterator_range protocol_locs(). Updating all of the usages of the iterators with range-based for loops.
9dbad14 Refactor InstantiatingTemplate constructors
864c08f Add SourceRange to err_not_tag_in_scope diagnostic in TreeTransform<...>::RebuildDependentNameType
460fea2 [C++11] Replacing ObjCInterfaceDecl iterators protocol_begin() and protocol_end() with iterator_range protocols(). Updating all of the usages of the iterators with range-based for loops.
ccd9de1 [C++11] Replacing ObjCContainerDecl iterators classmeth_begin() and classmeth_end() with iterator_range class_methods(). Updating all of the usages of the iterators with range-based for loops.
7d14162 [C++11] Replacing ObjCContainerDecl iterators instmeth_begin() and instmeth_end() with iterator_range instance_methods(). Updating all of the usages of the iterators with range-based for loops.
cb8e945 CodeGen: use symbolic enumerators for memory order
c72aad3 CodeGen: make use of weaker failure orders on cmpxchg.
f5244d2 Renaming the recently-created (r203830) props() range API to properties() for clarity.
94d23bc [C++11] Replacing ObjCContainerDecl iterators meth_begin() and meth_end() with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops.
fc41e95 [C++11] Replacing ObjCContainerDecl iterators prop_begin() and prop_end() with iterator_range props(). Updating all of the usages of the iterators with range-based for loops.
9457a90 [C++11] Replacing UsingDecl iterators shadow_begin() and shadow_end() with iterator_range shadows(). Updating all of the usages of the iterators with range-based for loops.
601e611 [analyzer] Warn when passing pointers to const but uninitialized memory.
e9e159f [C++11] Replacing ObjCImplementationDecl iterators init_begin() and init_end() with iterator_range inits(). Updating all of the usages of the iterators with range-based for loops.
1cf851b [C++11] Replacing CXXRecordDecl iterators init_begin() and init_end() with iterator_range inits(). Updating all of the usages of the iterators with range-based for loops.
ea237c0 [C++11] Replacing CXXRecordDecl iterators capture_begin() and capture_end() with iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
fd85945 MS intrinsics: __interlockedbittestandset(64) (PR19054)
75cecc7 [C++11] Replacing CXXRecordDecl iterators friend_begin() and friend_end() with iterator_range friends(). Updating all of the usages of the iterators with range-based for loops.
427334b [C++11] Replacing CXXRecordDecl iterators ctor_begin() and ctor_end() with iterator_range ctors(). Updating all of the usages of the iterators with range-based for loops.
201cbad Prevent outputting HeaderFileInfos for files not used as headers
39c2bc7 [C++11] Replacing CXXRecordDecl iterators method_begin() and method_end() with iterator_range methods(). Updating all of the usages of the iterators with range-based for loops.
c3aad30 [C++11] Replacing CXXRecordDecl iterators vbases_begin() and vbases_end() with iterator_range vbases(). Updating all of the usages of the iterators with range-based for loops.
07ca0a2 Removing some methods which appear to be unused (at least in clang, lld and lldb).
dd2195d Simplify code. No functionality change.
7191c6b [C++11] Replacing CXXRecordDecl iterators bases_begin() and bases_end() with iterator_range bases(). Updating all of the usages of the iterators with range-based for loops.
706a9da CMake: allow generation of a Qt Compressed Help file for Clang source
b6f9534 Remove an unnecessary check for FormatTok not being null.
7c2be9f clang-format: Prevent ObjC code from confusing the braced-init detection
b49f9c7 Tests for DR389-399.
7031022 [C++11] Add 'override' keyword to virtual methods that override their base class.
c218f4b De-virtualize a method. It's called through template magic and doesn't override anything.
cef1962 Remove unreachable PragmaCaptured method. It's not a real PPCallback.
85bba31 [C++11] Add 'override' keyword to virtual methods that override their base class.
371de80 [C++11] Add 'override' keyword to virtual methods that override their base class.
5f44722 Always use --eh-frame-hdr on NetBSD, even for -static.
3fb5afb PR18275: If a member function of a class template is declared with a const-qualified parameter type and the defined with a non-const-qualified parameter type, the parameter is not const inside its body. Ensure that the type we use when instantiating the body is the right one. Patch by suyog sarda!
c05006f Only allow streaming exactly type 'bool' to a DiagnosticBuilder, not anything that implicitly converts to 'bool' (such as pointers, and the first operand of ?:). Clean up issues found by this. Patch by Stephan Tolksdorf!
9127425 Fix crash if delayed template parsing meets an erroneous trailing return type. Based on a patch and test by Stephan Tolksdorf! Refactoring and fixing adjacent brokenness by me.
1ae8c59 MS intrinsics: implement the __movs and __stos intrinsics (PR19054)
f30b6eb Thread Safety Analysis: new test case for lambdas
7ad5dc5 MS intrinsics: implement __readgs{byte,word,dword,qword} (PR19054)
da85304 MS intrinsics: don't declare __readeflags and __writeeflags in Intrin.h
07cdaf5 Revert "CodeGen: Use a binary format for instrumentation based profiling"
7c9210c CodeGen: Use a binary format for instrumentation based profiling
2a27efa Dont unconditionally add gcc4.2 include paths on FreeBSD.
258ede6 Objective-C. Issue diagnostics on mismatched methods when their selector is used in an @selector expression. // rdar://15794055
8d9453a PR19113: Emit 'vtable' TBAA metadata when loading a vptr in a pointer-to-member-function call.
4142aa7 CodeGen: Move hot/cold logic out of PGOProfileData
4b11d76 DR1346: a parenthesized braced-init-list cannot be used as the initializer when performing auto type deduction.
1f17192 Don't recompute inlining threshold - use new overload provided by LLVM
d0f57d6 Check for LLVM_ON_WIN32 instead of _WIN32.
04d8e69 Use vector<T>::data() to simplify code
75c6158 ARM: Correct alignment of structs passed as byval pointer
727fd08 clang-format: Fix crasher.
f7bc497 [C++11] Add 'override' keyword to virtual methods that override their base class.
0ed39f5 Disable cross-windows-on-linux.cpp for now. It may or may not fail. :/
583adb0 [C++11] Add 'override' keyword to virtual methods that override their base class.
34e9e13 [C++11] Add 'override' keyword to virtual methods that override their base class.
5fcb460 Lexer: split test into separate files
afd5279 Lex: reduce buffer size, add a test
310c3dc Add an option -fmodules-validate-system-headers
4bfb063 Allow GNU-style attributes on lambda expressions.
bdad57c DebugInfo: Remove debug-info-pubtypes.ccp - pubnames/pubtypes are adequately tested in LLVM now.
32fccec Be case sensitive when determining driver mode based on argv[0] except on Windows
a9ca986 DebugInfo: Fix test for LLVM change r203619
656f380 PGO: appease the bots after r203592
a66ca64 lex: improve include handling on Linux for Windows
640884e Driver: Support -gmlt as an alias for -gline-tables-only
a7f8f75 Improving test coverage for lambda expressions with attribute specifiers.
997a91f Objective-C. Prevent an assertion crash due to buggy code as it can commonly happen. // rdar://16261494
fade78f PGO: Clarify the testing README
5644f17 PGO: Scale large counters down to 32-bits
15f934e Remove trailing whitespace introduced in r203028.
ba4fc23 Objective-C. Diagose use of undefined protocols when a class adopts a protocol that inherits from undefined protocols. // rdar://16111182
22cc9b0 [analyzer] Check all conditions in a chained if against each other.

git-subtree-dir: llvm/tools/clang
git-subtree-split: 18d907edb4104d704701098633694c55cb8de20e
Merge with Clang.
Squashed 'llvm/tools/lldb/' changes from 5441aaf..c346683

c346683 Only define MAX_PATH if it is not defined already. This gets rid of a lot warnings when compiling with mingw.
199c89a Change the type in va_arg call from char to int. It is supposed to take fully promoted types.
4ee2dc0 cmake: fix build with CompilerRT
60a3a44 cleanup unreferenced functions
17f0677 Core: preprocess out TestPromptFormats
c29ec14 Adapt test to avoid short string types.
f7594c8 rdar://16361422
6093e89 More recent compilers emit debug info for the length property of NSString, so the length will be correctly reported as NSUInteger.  Adopt the test case to handle either possibility.
9666468 expectedFailureDarwin for this test case.
b3b4918 I changed the logging test to just test that logging doesn't crash and does produce output.  That's about all it is useful to test.
3b13945 These logging tests depend on the exact output of lldb logging, which is brittle and not particularly useful.  Skipping till we get a chance to make a test that actually tests something we care about.
36e3162 Remember to run ranlib after ar to make useful archive files.
ffd0fae Remove unnecessary dependence on vecLib.
72aeb0e Check if "golden_output.txt" exists before trying to delete it rather than just raising an uncaught error.
8a5066b Put a workaround for flaky unwinder behavior on Darwin (<rdar://problem/16363195>).
d4f0749 Change the backtrace view into a process tree view where you can expand the process, its threads and see all frames under each thread.
8949176 Add a test to check the C's constructor's name is C::C, which will fail everywhere now, so mark as expected fail.  And find another way to check that we hit our constructor breakpoint, so we don't need to expected fail the Disassembly tests.
0db0ddd Don't use the Disassembly test to report the fact that we don't decorate up constructors with their class name, that seems inessential.  We can make another test specifically for this if we want to.
fa2fab7 Work around clang's ignoring __attribute ( align(16) ) in this test case.
db2b546 Expected failure printing std::string::c_str() due to flubbing the typedef lookup.
0388fde Fix expression parsing (on FreeBSD, at least)
f864852 Expression: cleanup unused include
6b66055 spruce up .gitignore
b5a23f0 create constants for multichar constants
06c0ce1 Get "ThreadPlanShouldStopHere" to handle auto-stepping through line number 0 code.
c77ae7c Correct copy-and-pasted comments for DetachOperation
c60b6b9 Update copy-and-pasted log message
87125e3 Inform users when *not* running dosep.ty multithreaded.
5efb4a5 Test cases for stepping out past frames with no debug info if that is turned on.
ab4e8b7 Parse DW_AT_ranges for compile units on Darwin when .debug_aranges is not available for the current compile unit.
f90ed89 Move LLDBWrapPython.cpp into the build folder for Xcode builds so it doesn't muck with cmake builds.
6737e58 build: fix libxml2 detection via CMake
5de38ed One more time. Multi-line expressions when there is no valid expression that follow “expr [options] —“.
ebada71 Fixed crasher when “expr” was NULL due to no characters following the terminating "--".
dbfaff6 Allow a multi-line expression to follow expression commands with options when there is no expression following the option terminating “—“.
665575d Refactor the Queues test case a little based on feedback from Jim. Add queues tests for when libBacktraceRecording is absent.
e1d6a65 Fix cmake build issues on Darwin.
b55b00c Since lldb version doesn’t have to be a valid floating point literal, like x.y.z, the uses of DEBUGSERVER_VERSION_NUM are invalid and have to be removed.
a45ff61 Changed "Windows.h" to "windows.h". I missed this one in my earlier commit a few days ago.
d4993ed Add some missing libraries for mingw. Similar functionality already exist on the cmake side.
5ebb973 Change type of a few members of a struct from unsigned to signed. They are used in Windows APIs which expect a signed argument and cause a build failure on Mingw.
5201c5d Hide some declarations from mingw.
5c1d7e3 Create a Process::ModulesDidLoad() method to handle process-related tasks, as suggested by Jim Ingham. Make JITLoader instances use this to probe only new modules for relevant JIT symbols. Also re-enable the JITLoader hooks in Process.
2060289 Also check if the queues are serial or concurrent.
9d9e43c Add a quick test case for some of the queues debugging support. It should only run on Darwin systems, and only when a couple of libraries are available.
5228c20 Add a SBQueue::GetKind() method to retrieve the type of libdispatch queue (serial or concurrent). <rdar://problem/7964505>
8ec9eac This commit reworks how the thread plan's ShouldStopHere mechanism works, so that it is useful not only for customizing "step-in" behavior (e.g. step-in doesn't step into code with no debug info), but also the behavior of step-in/step-out and step-over when they step out of the frame they started in.
27b49bd Don’t put Radar numbers in code.
2866efa When clearing a breakpoint site, make sure the owning process still exists before asking it to remove the breakpoint site the rest of the way.
4ba3ab7 If DWARF debug info and verbose mode is enabled ("log enable dwarf info verbose"), then dump all DIEs for a compile unit after all DIEs have been parsed for a compile unit.
55f2454 Fixed Xcode project after files were moved over into trunk/source/Plugins/Process/Utility.
492441d Allow verbose logging in the "dwarf" log channel.
63fe2e8 Add Process/Utility include directory on FreeBSD
6e52b59 Moved various RegisterContext files from Process/POSIX to Process/Utility for easier sharing.
feae7d7 Fix friendship declaration to match actual class declaration.
0b0ee51 Replace some Windows specific string functions with std::string.
ad06569 Add Driver to the build for mingw.
1293b1a Moved a check in HostGetOpt.h. It can be used in multiple files now.
c8c0095 Replace some _MSC_VER with _WIN32. This allows to use some code for mingw which was previously only used for MSVC.
3cb6177 Added some missing header files. They help fix mingw build.
d08e241 Add some missing defines that are already present in the cmake side. This is to help fix mingw build.
82b6a89 Fixed a problem where the expression parser was erroneously completing Objective-C classes sourced from the Objective-C runtime without checking if there was an authoritative version in the debug information.
d392a22 Followed up on Ed Maste's patch with a few more User fixes.  Also changed our iterations across global variables and instruction operands to reflect the new C++11 approach.
deb8934 Detect when llvm or clang sources have changed and rebuild llvm/clang automatically.
998464b After doing all the work to compute the target ValueObject we want to evaluate, make sure we actually got something before proceeding.

git-subtree-dir: llvm/tools/lldb
git-subtree-split: c346683b5086c74861094579ca9cffe0858c8a00
Merge commit '3239fa2b93f92ae77a8f990a120f0ad993c0adb6' into overhaul
Merge with Clang.
Merge branch 'overhaul' of darwin:scout into overhaul
Merge branch 'overhaul' of darwin:scout into overhaul
Finish merge with Clang.
Temporarily disable scc driver no input files tests.