Merge commit '1168399a4e16c1a6b20da0dfaacf408c85361531' into overhaul
Squashed 'llvm/' changes from 61e341e..013321a

013321a Fix a few issues with comdat handling on COFF.
5448320 Have TargetSelectionDAGInfo take a DataLayout initializer rather than a TargetMachine since the only thing it wants is DataLayout.
5beec3a Match the full hex offsets in test/DebugInfo/X86/gnu-public-names.ll
8cfe2c0 Fix a typo made in Programmer's Manual made in r210354. Spotted by Paul Robinson.
8f6fe9e Remove DWARF3 testing of test/DebugInfo/X86/gnu-public-names.ll
78cf19b Fixed a bug in lowering shuffle_vectors to insertps
64d39d3 Mention the IRBuilder in Programmer's Manual with a few small examples.
f4f9c6b Fix typo in a test from r210342.
afbe82d [SLP] Enable vectorization of GEP expressions.
6c9eb10 [PPC64LE] Fix lowering of BUILD_VECTOR and SHUFFLE_VECTOR for little endian
53b344d Slight language tweak from Jonathan Humphreys.
af4eb8a Touch configure to force clang's config.h.in reconfiguration on the build servers
d276b15 lld test for configure & make
3ad10cf Revert r210298 'Correctly set the comdat symbol on COFF' as it asserts on Windows
3c9a2ee [yaml2obj][obj2yaml] Support ELF symbol's visibility flags (default/hidden/protected).
2c3e3b4 Added select flavour for ABS and NEG(ABS)
7a0e697 Make LINK_POLLY_INTO_TOOLS work with the CMake build
b73a9b3 Fix PR19657 (scalar loads not combined into vector load) If we have common uses on separate paths in the tree; process the one with greater common depth first. This makes sure that we do not assume we need to extract a load when it is actually going to be part of a vectorized tree.
dc4c7fb Remove clang-specific libxml2 check from CMake
6eba708 config.h: remove clang-specific macro definitions
6fd1b8e Allow aliases to be unnamed_addr.
bbd3413 Fix markup for -debug-only option
3b889b9 Fix null dereference with -debug-only=dwarfdebug
d605148 Correctly set the comdat symbol on COFF.
5f81752 [PPC64LE] Add test case for r210282 commit
38ee55d Remove X86Subtarget from the X86FrameLowering constructor since we can just pass in the values we already know and we're not caching the subtarget anymore.
6156e56 Fixed several correctness issues in SeparateConstOffsetFromGEP
d334d25 Remove caching of the subtarget for X86FrameLowering.
6d18c24 Remove duplicate copy of InstrItineraryData from the TargetMachine, it's already on the subtarget.
d94cd00 Adding explicit triples to the ARM jumptable tests
64bcc6d Add a testcase where there is an overflow when combining two constants.
ecbc724 Add "-format darwin" to llvm-nm to be like darwin's nm(1) -m output.
542fdf5 [PPC64LE] Correct vperm -> shuffle transform for little endian
ef31a79 Removing spurious dependency of IPO on JumpInstrTables
5d0f7af3 Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. It includes a pass that rewrites all indirect calls to jumptable functions to pass through these tables.
4db3ad4 Document how to select build configuration with Visual C++ IDE or command line.
e1e0d4f [PPC64LE] Temporarily disable VSX support in little-endian mode
b49c13c [asancov] Fix coverage line info some more.
0eacd38 Add missing const specifier to a const method.
f5999d6 XFAIL: test/DebugInfo/missing-abstract-variable.ll on s390x as well
e076b35 [SystemZ] Do not install IfConverter pass at -O0
2181b23 [mips] Modify long branch for NaCl:
4421545 Prevent hoisting the instruction whose def might be clobbered by the terminator.
3a2156d [mips] Fix triple.
ced4056 lld (build with configur and make) Enable build
3cea6e7 R600: Fix test. Using wrong check prefix.
59aecc1 Fix coverage for files with global constructors again. Adds a testcase to the commit from r206671, as requested by David Blaikie.
0bc7690 Revert r210221 again, due to a crash Richard Smith has provided involving self-hosting LLVM with libc++.
7a986ec DebugInfo: Reuse existing LexicalScope to retrieve the scope's MDNode, rather than looking it up through the DebugLoc.
7509607 DebugInfo: Roll argument insertion into variable insertion to ensure arguments are correctly handled in all cases.
ad03fa6 PR19388: DebugInfo: Emit dead arguments in their originally declared order.
a66075f Use AArch64 instead of now removed ARM64 in test configs
d4af856 DebugInfo: Add comments/assert description to r209674 based on Eric Christopher's post-commit review feedback.
7a8272d We've got a getSlotSize call already that we use everywhere else, use it here too.
798a829 R600/SI: Match rsq instructions
1eb9c05 80-columns.
1e13599 Remove uses of the TargetMachine from X86FrameLowering.
6db82d3 Use nullptr
06ac3ff DebugInfo: Reapply r209984 (reverted in r210143), asserting that abstract DbgVariables have DIEs.
7afb107 Explain why we skip DbgInfoIntrinsics when looking at line numbers in .gcno file emission.
6248abf Don't emit structors for available_externally globals (PR19933)
cfee6c4 Add a Constant version of stripPointerCasts.
dcac152 Clauses in a landingpad are always Constant. Use a stricter type.
c45bee9 Two small enhancements for the JIT.
024b693 XFAIL: test/DebugInfo/missing-abstract-variable.ll on mips and ppc64 due to an inlined parameter that goes missing.
510315c tools: fix parenthesis warning from GCC
fbb7c20 tools: fix silly typo in llvm-readobj
fe3b74e tools: initial implementation of WoA EH decoding
b35de82 tools: introduce StreamWriter::printBoolean
0b25d84 Support: style/documentation cleanup for format
bf9290f Support: add additional comment for ARM EH structure
82db274  InstCombine: Improvement to check if signed addition overflows.
45a8d99 [AArch64] clang-format the load/store optimizer.
b2caf97 [AArch64] Fix some LLVM Coding Standards violations in the load/store optimizer.
e0e4fca Fix gcc -Wparentheses warning.
7270890 Fix a use of uninitialized value. OldCC is set when IsCmpZero || IsSwapped and read when ShouldUpdateCC || IsSwapped, and ShouldUpdateCC is independent. Fixes PR19932, but no test since I wasn't able to get any symptoms to appear, not even with valgrind and the testcase from the PR. It's clear what happened from inspection of the code.
5f22dd7 Add a subtarget hook: enablePostMachineScheduler.
0c83424 Move GenericScheduler and PostGenericScheduler into a header.
e5d8481 docs: Remove documentation for legacy PGO options
d126407 [Object][ELF] Range-based loop simplification.
3b3d2e2 GraphWriter: try gv before xdg-open
a5bd2ad GraphWriter: support the XDG open utility
4830b9c config.h: fix layering and don't duplicate definitions
5c0b13f DebugInfo: Partial revert r209984 due to more cases where abstract DbgVariables do not have associated DIEs.
1b68686 Fix typos
dc6eaa4 Calculate dead instructions when a live interval is created.
957b2cc Revert r209381 as it isn't a local variable. Add a testcase so that we know next time this happens.
79f634d Fixup formatting in the pass.
f35a459 Update comments to match reality.
8c2d277 Fix a small bug in the parsing of anonymous globals.
85422f7 Simplify the parsing of unnamed globals. No functionality changed.
b20541c Update comment. This should have been part of r210062.
89f341a Remove some redundant doc comments
1514ecc [AArch64] Fix typo in load/store optimizer.
9f03930 [AArch64] Add regression tests for the load/store optimizer which cover post-index update folding with sub rather than add.
45178b9 Implement one operator== with another.
58a20d7 [asan] Fix coverage instrumentation with -asan-globals=0.
1410a2c AArch64: mark small types (i1, i8, i16) as promoted
e9b2cf3 Add operator== and operator!= to compare with nullptr.
b468431 Use an enum class.
18b4087 Use an enum class.
dacea25 Remove the last unspecified_bool_type from llvm.
7d5fe32 Make this operator bool() explicit to match the standard library.
08e66be Make this operator bool() explicit to match the standard library.
c69c422 Ignore line numbers on debug intrinsics. Add an assert to ensure that we aren't emitting line number zero, the .gcno format uses this to indicate that the next field is a filename.
9a2d239 [AArch64] Correctly deal with VPR stack parameter passing.
1860902 Process::GetRandomNumber(): fix insecure RNG
2d21b25 Allow alias to point to an arbitrary ConstantExpr.
27bd9b3 Add back commit r210029.
376d5ef Convert test to FileCheck.
2e1c072 Revert "Add the nsw flag when we detect that an add will not signed overflow."
8962f19 InitLibcallNames can take a Triple instead of a TargetMachine.
83223f5 Added support to optimize comparisons with "lshr exact" of a constant.
f50e395 Remove sanitizer blacklist from ASan/TSan/MSan function passes.
11b190e Omit else branch after return.
0bedfa4 [X86] Fix checked arithmetic for i8 on X86.
d958619 Add the nsw flag when we detect that an add will not signed overflow.
e53c5d3 [msan] Remove an out-of-date comment.
07de13a Remove path_tclsh.m4.
cca9c26 [AArch64] Add some more regression tests for store pre-index update folding in the load/store optimizer.
dd7c5bb [msan] Handle x86 vector pack intrinsics.
ef8a99c [AArch64] Add some more regression tests for load pre-index update folding in the load/store optimizer.
bcc4bce Added inst combine tarnsform for (1 << X) & C pattrens where C is (some PowerOf2 - 1)
c469e54 Added inst combine transforms for single bit tests from Chris's note
01fa655 Silence -Wreturn-type warning
939fd59 GraphWriter: tweak the program fallback order
04de60e GraphWriter: detect graph viewer programs at runtime
df19139 Instruction::isIdenticalToWhenDefined(): Check getNumOperands() in advance of std::equal(op) to appease MSVC Debug build.
10ecbcb Support: add 6-parameter format
34d24ba Support: add Windows ARM EH data structures
27e8069 ARMEB: Fix function return type f64
05db56c Updates in IntelJITEventListener.cpp - by Arch Robison.
3871a03 R600: Set all float vector expands in the same place
0d9056d DebugInfo: Assert that DbgVariables have associated DIEs
4a05552 Fix typos
ef10f99 ExecutionEngine: avoid NDEBUG in headers
3ee483b Update a couple of header inclusion guards
606b80c R600/SI: Remove redundant patterns
8fb9cfe [SelectionDAG] Force cycle detection in AssignTopologicalOrder before aborting
aa8deed [SelectionDAG] Pass DAG to checkForCycles
8394a4c [SelectionDAG] Remove duplicate declaration
37bc2f3 [Reassociate] Similar to "X + -X" -> "0", added code to handle "X + ~X" -> "-1".
da5824d R600/SI: Fix [s|u]int_to_fp for i1
090da8f Fix typos in tablegen error messages
df96c56 [yaml2obj] Add new command line option `-docnum`.
44c6354 really fix the windows build.
e7b43ec Fix windows build.
c145fd3 There is no std::errc::success, remove the llvm one.
1028cc7 Turn errc and windows_error into enum classes.
1bab2d5 Use error_code() instead of error_code::succes()
bfe1740 Fix the behavior of ExecuteAndWait with a non-zero timeout.
c3648ce Make blend tests more specific
41dac4a [ASan] Behave the same for functions w/o sanitize_address attribute and blacklisted functions
014f9fd [TSan] Fixup a test case after r209939
269a999 [TSan] Behave the same for functions w/o sanitize_thread attribute and blacklisted functions
c2fe96c delete dead code.
c55e193 Have the TLOF creation take a Triple rather than needing a subtarget.
1726e2f [X86] Add two combine rules to simplify dag nodes introduced during type legalization when promoting nodes with illegal vector type.
d99cefb Convert a vselect into a concat_vector if possible
96241f2 isSVR4ABI() returned !isDarwin() so just move that to the else block and remove the unreachable code.
46949d5 Rename CreateTLOF->createTLOF to match the rest of the file and the rest of the targets with a similar function name.
94141a4 Separate the check for blend shuffle_vector masks
6126c55 fixed more typos
e457dc7 Roll DbgVariable::setMInsn into the constructor. No functional changes.
26476d3 added link to CMake page
c6d0c90 fixed typo
c4e0611 Make bitcast, extractelement, and insertelement considered cheap for speculation.
731d23e Fix MIPS exception personality encoding.
ba73513 MachO: move test to ARM directory.
fcb9926 PR19753: Optimize comparisons with "ashr exact" of a constanst.
6319c0c [pr19636]  Fix known bit computation in urem instruction with power of two. Patch by Andrey Kuharev.
3a45d4c SelectionDAG: skip barriers for unordered atomic operations
645c5b9 ARM: use AAPCS-style prologues for embedded MachO.
98f8bc9 MachO: support N_INDR aliases in assembly files.
910dc41 AArch64 & ARM: disable generic test that relies on no CFG changes.
d0dbe02 ARM & AArch64: make use of common cmpxchg idioms after expansion
7be505a AArch64 & ARM: remove undefined behaviour from some tests.
fd481d0 Test cases named with dates is a legacy rule not used now. Rename several test cases.
8ffc96a Allow vectorization of intrinsics such as powi,cttz and ctlz in Loop and SLP Vectorizer.
102187e Add a trivial ArrayRef helper overload to the SelectionDAG interface. I'm using this pretty frequently in a patch I'm working on and it seems generally useful.
e471ed0 Remove use of comma operator.
a35be5a When analyzing params/args for readnone/readonly, don't forget to consider that a pointer argument may be passed through a callsite to the return, and that we may need to analyze it. Fixes a bug reported on llvm-dev: http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-May/073098.html
0997206 [X86] Move test from r209863 to CodeGen/X86
7cd893a [X86] Remove AVX1 vbroadcast intrinsics
23356d4 [X86] Auto-upgrade AVX1 vbroadcast intrinsics
c62ba58 And fix my fix to sink down through the type at the right time. My original fix would actually trigger the *exact* same crasher as the original bug for a different reason. Awesomesauce.
e4b37ec Fix one bug in the latest incarnation of r209843 -- combining GEPs across PHI nodes. The code was computing the Idxs from the 'GEP' variable's indices when what it wanted was Op1's indices. This caused an ASan heap-overflow for me that pin pointed the issue when Op1 had more indices than GEP did. =] I'll let Louis add a specific test case for this if he wants.
3fda4b2 Sync list of targets with configure's reality
06413cd LoopVectorizer: Add a check that the backedge taken count + 1 does not overflow
ade072c Added tests for shufflevector lowering to blend instrs.
7887445 Add support for combining GEPs across PHI nodes
960fc35 Update Credits.
20b6ed3 implement missing SCEVDivision case
e741924 fail to find dimensions when ElementSize is nullptr
d4d0419 Use range-based for loops in ASan, TSan and MSan
fa68048 [ADT] Delete the Twine assignment operator
1d7b7c5 Debug Info: Remove unused code. The MInsn of an _abstract_ variable is never used again and updating the abstract variable for each inlined instance of it was questionable in the first place.
d4aff68 Rename alias variables to make it easier to add new tests to the file.
289a9d7 [PPC] Use alias symbols in address computation.
f5df18b Add a test showing the ppc code sequence for getting a function pointer.
843ac47 Revert "Revert "Revert "InstCombine: Improvement to check if signed addition overflows."""
897fd5f Restore getInvertedCondCode() from the phased-out backend, fixing disassembly for NV
684122e Add missing check when MatchInstructionImpl() reports failure
ce538c7 [elf2yaml][ELF] Move Info field to the RelocationSection structure. This field represents ELF section header sh_info field and does not have any sense for regular sections. Its interpretation depends on section type.
086a708 Rename a test case to contain correct date info.
bb7f18a Fix an assertion failure caused by v1i64 in DAGCombiner Shrink.
2a747bf LCSSA should be performed on the outermost affected loop while unrolling loop.
ed0e905 [LoadCombine] Missed a file.
8bfb46e Add LoadCombine pass.
7728610 [ASan] Hoist blacklisting globals from init-order checking to Clang.
11ef945 [x86] Fold extract_vector_elt of a load into the Load's address computation.
bf93354 R600/SI: Fix pattern variable names.
257670a Fix typo in variable name
b18eabd [ASan] Use llvm.global_ctors to insert init-order checking calls into ASan runtime.
1d4e8ba Add a simple helper function to create a 64-bit integer.
c81cf72 Revert "Revert "InstCombine: Improvement to check if signed addition overflows.""
836475b Revert "Add support for combining GEPs across PHI nodes"
e8d1869 Fix wrong setcc result type when legalizing uaddo/usubo
ca9f4b0 Update CREDITS to be at least moderately more current.
9139823 fixed a few typos
f558122 test check-in: added missing parenthesis in comment
e04c0e3 Revert "InstCombine: Improvement to check if signed addition overflows."
296f55f Fix standard integer definitions for MSVC in DataTypes.h
665d42a [pr19844] Add thread local mode to aliases.
a5423f2 Add support for combining GEPs across PHI nodes
9b77161 Revert "[DAGCombiner] Split up an indexed load if only the base pointer value is live"
e8075c6 InstCombine: Improvement to check if signed addition overflows.
b8af23f Revert "[PPC] Use alias symbols in address computation."
60aa82b Don't hard-code ld when extracting host linker version, use ${LD} if it is set.
0949668 [asancov] Don't emit extra runtime calls when compiling without coverage.
d8ba67b [AArch64] Add store post-index update folding regression tests for the load/store optimizer.
e8dee1a utils: Teach lldbDataFormatters to load automatically
4cbbe0d [AArch64] Add load post-index update folding regression tests for the load/store optimizer.
a807d67 Change representation of instruction ranges where variable is accessible.
f9e42bc Factor out looking for prologue end into a function
5013d1d avoid type mismatch when building SCEVs
bf48d8a do not use the GCD to compute the delinearization strides
79facc9 remove BasePointer before delinearizing
421b2c5 remove constant terms
50adf38 Don't pre-populate the set of keys in the map with variable locations history.
08f3240 No need for those tests to go thru llvm-as and/or llvm-dis.
d4ffb93 Factor out comparison of Instruction "special" states.
54ba0df Wording fix for llvm.global_dtors docs.
6343f5c DebugInfo: partially revert cleanup committed in r209680
502ffc7 DebugInfo: Simplify solution to avoid DW_AT_artificial on inlined parameters.
95ce098 [mips] Optimize long branch for MIPS64 by removing %higher and %highest. %higher and %highest can have non-zero values only for offsets greater than 2GB, which is highly unlikely, if not impossible when compiling a single function. This makes long branch for MIPS64 3 instructions smaller.
41087d9 DebugInfo: Create abstract function definitions even when concrete definitions preceed inline definitions.
0fb9226 DebugInfo: Avoid an extra map lookup when finding abstract subprogram DIEs.
254d093 DebugInfo: Lazily construct subprogram definition DIEs.
def5a05 DebugInfo: Lazily attach definition attributes to definitions.
75325b9 DebugInfo: Separate out the addition of subprogram attribute additions so that they can be added later depending on whether or not the function is inlined.
3efc250 Fixed a test in r209670
5856446 Distribute sext/zext to the operands of and/or/xor
991c9c1 DebugInfo: Fix argument ordering in test by adding argument numbering.
078862e Post-commit fixes for r209643
fb26356 AArch64: add test for NZCV cross-copy save.
be5c8ba AArch64: add AArch64-specific test for 'c' and 'n'.
3f01f52 [PATCH] Correct type used for VADD_SPLAT optimization on PowerPC

git-subtree-dir: llvm
git-subtree-split: 013321a0f9e9f784ebb9a78ebf19e5f5099d5b16
Squashed 'llvm/tools/clang/' changes from d9ad71c..6cb9eb5

6cb9eb5 Fix DOS-style newlines.
6c87b4a MS ABI: Update the thunk linkage computation
90a108e test/SemaCXX/undefined-internal.cpp: Remove target triple.
8cf6d63 Defer codegen of inline method definitions to the end of current top level declaration
150a498 Retain an expression pack expansion when the parameter pack expansion code asks us to.
15fd3ff PR14841: If partial substitution of explicitly-specified template arguments results in a template having too many arguments, but all the trailing arguments are packs, that's OK if we have a partial pack substitution: the trailing pack expansions may end up empty.
a4c4db1 [PPC64LE] Implement little-endian semantics for vec_pack family
b07a1f4 Fix RecursiveASTVisitor to visit types in ObjCPropertyDecl
74261fd Replacing r210333 with an improved solution; we should never reach this code with any other loop hint options.
3e36cef [PPC64LE] Implement little-endian semantics for vec_mul[eo]
b348279 clang-format: Fix incorrect indentation.
71f6fb1 Quieting a false-positive which was causing the sanitizer bots to go red.
61aa205 Adding a new #pragma for the vectorize and interleave optimization hints.
543e8b0 Fix typos
3b8d7af Don't generate assembly in backend diagnostic tests
074f566 Fix C++ style // comments in a couple of C files
fd58aa4 Remove an unused variable
7e86cba Add -o /dev/null to one of the tests as it fails when run from a read-only checkout
87b4da6 Revert "Revert "Devise a package-private means to determine the LLVM version string""
e063684 Revert "Devise a package-private means to determine the LLVM version string"
7ea7c59 Devise a package-private means to determine the LLVM version string
6e650a5 Always check for libxml2 in CMake
5db2c77 Add first set of tests for FriendDecl source range and location.
acdc0bb Rnamed Class to TestClass
071ef48 PR11306 - Variadic template fix-it suggestion. Recover from misplaced or redundant ellipsis in parameter pack.
ede1d5a Update for llvm api change.
087ba6d PR19936: Fix a really dumb bug where we would profile dependent operator* expressions incorrectly.
8e2c321 Remove old proposal notices
817255e Provide fallback locations for backend remarks
c1ba5d5 Implement -Wframe-larger-than backend diagnostic
9266985 When an inline-asm diagnostic is reported by the backend, report it with the correct severity.
f6a54b9 Mangle predefined string constants names to merge them at link-time
bbc8adc Cleanup, and always create a DecltypeType for a decltype expression, rather than omitting it the first time we see a decltype type with a particular expression.
9d30c02 [PPC64LE] Implement little-endian semantics for vec_perm
f83e80c Add hasLocalStorage/hasGlobalStorage matchers.
3bfddd4 Fix bot for named register test
6649699 Add pointer types to global named register
705e8b1 [mips] Add macros _MIPS_ISA and __mips_isa_rev (same expansion as defined by GCC).
6c52145 Fix equalsNode() to accept pointers to derived types.
c84a532 Fix driver warning about -pthread on Android.
bf44428 Fix driver warning about -shared-libasan on Android.
711cc45 XCore target: Fix 'typestring' binding qualifier to the array and not the type
eafbf51 Changing this line of code back to the way it was before Alp's config.h clean up changes. I've already spoken to Alp and he signed off on making this one change, so that our buildbots go green in the short term.
fa8ad04 Bugfix: don't assert if someone manages to declare an operator new/delete template before the builtin operator new/delete.
c19e37e Flush C stdio streams upon process termination
bb97c3d [ubsan] Don't add a --dynamic-list for ubsan symbols when building a shared library. That results in the linker resolving all references to weak symbols in the DSO to the definition from within that DSO. Ironically, this rarely causes observable problems, except that it causes ubsan's own dynamic type check to spuriously fail (because we fail to properly merge type_info object names).
028f7fd Formatting cleanup.
7546b5a Don't dynamically initialize dllimport vars (PR19933)
e88163d Remove the overload of GetAddrOfConstantString method
c54a9c3 Refactor and generalize GetAddrOfConstantString and GetAddrOfConstantStringFromLiteral.
dc7436c This cast is not necessary any more (llvm api change).
4ad95cf Update for llvm api change.
3898793 MS-ABI: Mangle empty template parameter packs correctly
a2146d5 MS-ABI: Implement user defined literals
bf87624 [OPENMP] Parsing/Sema for OMPLasprivateClause. Parsing this clause, allowing it on directive ‘omp simd’ and semantic checks.
7725892 clang-format: Leave empty lines within UnwrappedLines.
ca80b27 [OPENMP] Small comment and reformatting fixes.
f454568 Remove the last remaining llvm/Config/config.h includes
cc15d73 Downgrade "definition of dllimport static field" error to warning for class templates (PR19902)
fb9e152 Add __builtin_operator_new and __builtin_operator_delete, which act like calls to the normal non-placement ::operator new and ::operator delete, but allow optimizations like new-expressions and delete-expressions do.
3ad8b5d Update DR page for latest revision of CWG issues list.
b830eaf Fix leak from r210059
0a77549 Use IntrusiveRefCntPtr's == and != nullptr operators.
e167891 clang-format: Refactor indentation behavior for multiple nested blocks.
a51e4bf temporary disable part of a test because it causes clang to leak memory (want to have the sanitizer bot green)
f6b38aa [OPENMP] Loop canonical form analysis (Sema)
0465676 Remove incorrect assertion.
80fe8a6 Implement DR990 and DR1070. Aggregate initialization initializes uninitialized elements from {}, rather than value-initializing them. This permits calling an initializer-list constructor or constructing a std::initializer_list object. (It would also permit initializing a const reference or rvalue reference if that weren't explicitly prohibited by other rules.)
ea78857 Teach AST dumper to dump the array filler in an initializer list.
c0e0d79 PR11410: Extend diagnostic to cover all cases of aggregate initialization, not just the extremely specific case of a trailing array element that couldn't be initialized because the default constructor for the element type is deleted.
99bae9d List DR532 as implemented on the defect report status page by renaming the namespace.
95563a5 When emitting a multidimensional array new, emit the initializers for the trailing elements as a single loop, rather than sometimes emitting a nest of several loops. This fixes a bug where CodeGen would sometimes try to emit an expression with the wrong type for the element being initialized. Plus various other minor cleanups to the IR produced for array new initialization.
a52f623 Don't assume an implicit IntrusiveRefCntPtr -> bool operator.
2587c70 Move DR532 test where it belongs.
74d6110 Update for llvm API change.
2134467 Fix -emit-codegen-only to not generate binaries
f4a3e28 Eliminate redundant MangleBuffer class
d22059e Itanium ABI: Update getAddrOfVTable to set the DLL storage class for vtables
f110dff allow optional signext attribute
6ea41c9 Delete apparently unused method
c8e71f6 [CodeGen] Don't use SizeTy for EmitNeonSplat.
45e7b96 Remove unused variable
ed290ac Fix comment vs function name mismatch
e09e4f3 Remove sanitizer blacklist from ASan/TSan/MSan function passes.
2fd2096 CGDebugInfo: Simplify/invert createLexicalBlock parameter construction.
f36b674 The exception-declaration for a function-try-block cannot redeclare a function parameter. One of our existing test cases was XFAILed because of this. This fixes the issue and un-XFAILs the test.
804ec34 clang-format: Fix special case of binary operator detection.
278a968 clang-format: No space between ")" and braced init list.
801fc6d clang-format: Fix Allman brace breaking of enums.
5c7f766 clang-format: Fix trailing const (etc.) with Allman brace style.
7769111 Revert "Fix the undefined-but-used odr-use marker (DR48)"
6c42213 Fix the undefined-but-used odr-use marker (DR48)
6c46923 Don't compare an error_code with nullptr.
4f1b413 Fix PR18498: Support explicit template arguments with variadic generic lambdas
835adde Test fixes and improvements.
4270865 Don't add examples to the check-clang dependencies unless requested
5c0a1a4 Preprocessor: make C++ operator names as macro identifiers a compatible extension
733637b Fix test on platforms where size_t is not 'unsigned long'.
df3c2b8 Support C++11 scoped enums in NamedDecl::isCXXClassMember()
ecf0c86 Rename utility function templates
a0ea5b8 Format strings: check against an enum's underlying type.
a217888 AST Dump: print the Inherited flag on attributes
2c59df7 Preprocessor: recover gracefully when C++ operator names are used as macro identifiers
96dd0df Preprocessor: don't exit early in CheckMacroName()
a702513 There is no std::errc:success, remove the llvm one.
68a8353 Use make_error_code in preparation for making errc an enum class.
983c003 PR12961 - Extend DR532 to cover C++98/03.
426b848 Diagnose dll attribute on member of class that already has a dll attribute
ffc3500 Make Attr::Clone() also clone the Inherited, IsPackExpansion and Implicit flags
fbb96d4 Use error_code() instead of error_code::succes()
ad6f7dd [CodeGen] Don't cast and use SizeTy instead of Int32Ty when constructing {extract,insert} vector element instructions.
8bc9dda Refactor: use the DeclarationNameInfo form of BuildMemberReferenceExpr consistently, rather than sometimes performing lookup and calling the LookupResult form. No functionality change intended.
bdbbf1d cc1as: invert return bool to indicate failure
ffea7e3 cc1as: fix a potential leak and unremoved output file in error conditions
e946664 Take PrintingPolicy::SuppressUnwrittenScope into account when printing the qualified name of a NamedDecl. Patch by Volodymyr Sapsai!
9932d9e Invalidate the file system cache entries for files that may rebuild
69d973b Remove unused struct from test
360b86d Add a FIXME for a bug Doug pointed out in code review.
c951e33 Thread Safety Analysis: fix handling of string and char literals.
acdc0af Revert "Invalidate the file system cache entries for files that may rebuild"
d7d0010 Invalidate the file system cache entries for files that may rebuild
6ecc886 Start adding support for dllimport/dllexport on classes (PR11170)
f6da0fd Objective-C. Diagnose assigning a block pointer type to an Objective-C object type other than 'id'. // rdar://16739120
ddfa6d5 Thread Safety Analysis: fix uninitialized member in TIL Literal.
4d5feb1 AArch64: combine arm64 & aarch64 cases in switch
6cdcbfc Remove unnecessary test.
cee4070 This test is no longer relevant. It is covered already by [basic.scope.pdecl]p10, and our current test for that is more thorough (though our test is named p9.cpp).
aefb377 This test should no longer be XFAILed; the standard has stabilized, and the test contents are acceptable. No diagnostics expected from this test.
bc10c41 Setting a heading for the section/allocate attribute so that the attribute documentation can be properly generated.
e4a08bc clang/test/Frontend/Weverything-and-remarks.cpp: Add explicit -target.
fe76083 [OPENMP] Improve debug location codegen for OpenMP runtime library.
2a8b87e Fix 'this' capturing Generic lambdas used within default initializers (PR19876)
fb84f0c PR11410 - Confusing diagnostic when trailing array element tries to call deleted default constructor
1fb293d PR12214 - Warn on suspicious self-compound-assignments.
f3117b8 Permit the "if" literal suffix with Microsoft extensions enabled.
a0c3f50 Thread Safety Analysis: implement review suggestions from Aaron Ballman.
22c5bf6 Implement AVX1 vbroadcast intrinsics with vector initializers
f3c0bae Thread Safety Analysis: minor changes to TIL pretty-printing.
43118fc Add documentation for -Rpass*
a3f8ad8 Add flags -Rpass-missed and -Rpass-analysis.
a7e8472 Make the -mno-global-merge option work for arm64/aarch64. rdar://17024719
85ebcbf Make runlines consistent with other dll attribute tests
c29de9f Fix some minor typos in tests
15bebd0 Add missing -S to avoid invoking assembler unnecessarily.
2b2baee Sema: Functions with dll attributes cannot be deleted
d7ba665 MS ABI: Emit static data members with proper linkage
6a916a6 Sema: Check dll attributes on static data members
0d936db No longer allow the -std options to entirely override the -x language option. This allows -x cuda -std=c++11, for instance.
ab22190 Fix spurious remarks when -Weverything is used.
ec0c25b Parsing/Sema for OMPAlignedClause.
f6cf7c7 Refactoring. Remove Owned method from Sema.
8aaef7c Fixing a test case which was failing the MSVC build bots. When -std isn't specified with an MSVC build, it defaults to -std=c++11, which overrides the -x cuda option. In turn, this causes all CUDA language option checks to fail.
be48170 Refactoring. Remove release and take methods from ActionResult. Rename takeAs to getAs.
1bb8740 When merging functions across modules (and in particular, instantiations of member functions), ensure that the redecl chain never transitions from 'inline' to 'not inline', since that violates an AST invariant.
27fd28c Implement a convenience recursive walk method over a cursor and its descendants.
eca0bcf [ASan] Hoist blacklisting globals from init-order checking to Clang.
c3684da PR19878: If a pack expansion appears within another pack expansion, correctly deduce any packs that are expanded by both expansions.
7898a01 Thread Safety Analysis: update TIL traversal mechanism to allow arbitrary local contexts.  Also includes some minor refactoring.
65a963d added Intel's BMI intrinsic variants (fixes PR19431 - http://llvm.org/bugs/show_bug.cgi?id=19431)
f722606 Expose CUDA function attributes to the C interface.
5ff1d8a Reverting 209503 - Breaks asan blacklists I opened a discussion on cfe-commits.  Ideally we've got a few things that need to happen.  CompilerRT should probably have blacklists tests. Asan should probably not depend on that specific field.
e700e8b Debug Info: Fix the source range for IfStmt's ConditionScope. Since the continuation block of the if statement is emitted within the condition scope this had the undesirable effect of creating a line table entry at the end of the then or else statement, a line that may have never been executed. PR19864 / rdar://problem/17052973
e05f098 Move misplaced Documentation note in Attr.td
4290e78 Objective-C. Diagnose use of properties in functions nested in, now deprecated, ObjC containers instead of crashing. // rdar://16859666
db4dfb6 Trim trailing whitespace in cindex.py
c09f3c5 Objective-C. Deprecate use of function definitions in Objective-C container declarations (but not in their definitions. // rdar://10414277
3b5b2ec [DOC] Documentation for #pragma clang optimize on/off
21bce1c -pthread does not translate to -lpthread on Android.
d7fc9b5 Add a PR reference for XFAILed test
c537653 Test requires exceptions
af940ca Consolidate some note diagnostics
05cebba Fix line endings.
d848224 Let clang/test/CodeGen/pr19841.cpp tolerant of MS mangler.
b9b3166 clang-format: Don't break before a case's colon.
9e97cc3 Add 'nonnull' parameter or return attribute when producing an llvm pointer type in a function type where the C++ type is a reference. Update the tests.
d519dc9 clang-format: Format array and dict literals similar to blocks.
9e6a299 [OPENMP] Additional checking for local vars in initial values for threadprivate vars
bf9865f [OPENMP] Reformatting of parsing code for OpenMP constructs.
2c692c3 [OPENMP][C++11] Formatting and make more C++11 compliant of OpenMP sema.
62c949d Move the logic for testing for namespace std into one location.  This check can be performed by using Decl::isInStdNamespace or DeclContext::isStdNamespace
875cf24 Don't dllimport/export destructor variants implemented by thunks.
89e9021 Retain isImplicit flag for local variable declarations when instantiating templates.
f28d22a Add a test that we don't store stale modtime in modules
bc3f40c Add range accessors for captures of a LambdaExpr.
0aba93f Objective-C. Fixes an obscuer crash caused by multiple inclusion of same framework after complaining about duplicate class definition. // rdar://17024681
08d469b Fix pr19841, bb are also unnamed
b0e81a7 Fix pr19841.cpp on release mode
ef94a4b Revert small change to EmitDeclRefLValue

git-subtree-dir: llvm/tools/clang
git-subtree-split: 6cb9eb5cd6a98a2fb13ae499aa5cd3a8feaa14e0
Merge with Clang.
Merge commit '443c11a4e49a162d7efa84b1b47f51f6cce2f4ba' into overhaul
Squashed 'llvm/tools/lldb/' changes from 5fbd52c..6adf4fa

6adf4fa Added gdb-remote test for software breakpoints.
c2f726e Remove unused defines from lldb driver.
f31647a Move MemoryRegionInfo out of Target/Process.h into its own header.
9306673 Added gdb-remote $qMemoryRegionInfo tests for heap and stack.
32cf733 Add gdb-remote test for $qMemoryRegionInfo code querying.
34625e8 Add gdb-remote test to ensure $qMemoryRegionInfo is supported.
5b3afdd Fix a couple minor typos in $qMemoryRegionInfo packet docs.
101355f Added gdb-remote memory read ($m) test.
0795820 Windows fix: Disable editline for MSVC. Since r208369 there have been issues, probably related to the editline wrapper. For now, it's more stable and usable disabled.
e80a7b7 Windows fix: Condition::Wait returned failure when it actually succeeded (SleepConditionVariableCS returns non-zero for success)
95ede8a Fix windows build: SBTypeEnumMember.cpp added to the separate windows liblldb.dll project.
701fe64 Small cleanups for the new enum fixes: - Fix Xcode project to have source files for SBTypeEnumMember.h/SBTypeEnumMember.cpp in the right place - Rename a member variable to inluce "_sp" suffix since it is a shared pointer - Cleanup initialization code for TypeEnumMemberImpl to not warn about out of order initialization
9d5fc84 Add support for inspecting enum members.
ca0bc9a Add executable extension to debugger name, run dotest via binary.
44c77c2 Fix most of the remaining Windows build warnings.
fa7b772 Don't use libc's "char *basename(char *)" or "char *dirname(char *)" as they are not thread safe.
8bde7f4 gdb-remote signal delivery test cleanup.
e877edc iOS simulator cleanup to make sure we use "*-apple-ios" for iOS simulator apps and binaries.
b96a8ad gdb-remote testing: new test, cleaned up socket reading.

git-subtree-dir: llvm/tools/lldb
git-subtree-split: 6adf4fa2aad01404359f944d824ca23218a4ac3b
Fixes to merge with Clang.
Fixed for merge with Clang.
Squashed 'llvm/' changes from 013321a..35d5a43

35d5a43 Fix test in r210472.
24f5e55 [msan] Workaround for invalid origins in shufflevector.
5b7ac8b llvm/test/CodeGen/X86/2014-05-29-factorial.ll: Relax an expression to match Win32 x64.
49b83e1 [mips] Fix a bug for NaCl target - Don't report the error when non-dangerous load/store is in branch delay slot.
592d439 [X86] Avoid emitting unnecessary test instructions.
bc72c8f [DAG] Expose NoSignedWrap, NoUnsignedWrap and Exact flags to SelectionDAG.
a2bc695 [X86] Use ADD/SUB instead of INC/DEC for Silvermont
a8d18fe [AArch64] Missing aliases for CMP/CMN [W]SP with no shift
503447e [docs] Fix typo, align comments, fix syntax highlighting
0c7ac48 [mips][mips64r6] Add LDPC instruction Differential Revision: http://reviews.llvm.org/D3822
503af43 Fix line numbers for code inlined from __nodebug__ functions.
544c895 [msan] Fix vector pack intrinsic handling.
6959336 R600: Add more and testcases
cbbf570 Fix gcc warning (enumeral and non-enumeral type in conditional expression)
451cc56 [AArch64] Fix the ordering of the accumulate operand in SchedRW list. Patch by Dave Estes <cestes@codeaurora.org> http://reviews.llvm.org/D4037
0607e82 [AArch64] When combining constant mul of power of 2 plus/minus 1, prefer shift plus add.  The shift can be folded into the add.  This only effects codegen when the constant is 3.
09d6a90 [SeparateConstOffsetFromGEP] inbounds zext => sext for better splitting
66a3b90 Escape "@function" with \verbatim. [-Wdocumentation]
b177041 [C++11] Use 'nullptr'.
d8fdbb2 [SeparateConstOffsetFromGEP] Fix an illegitimate optimization on zext
b9422f1 Refactor canonicalizing array indices to a helper function
724d2a8 [SeparateConstOffsetFromGEP] make two tests more strict
cab673f SmallVector: Improve test coverage for insert with repetition
5e66eea ScalarEvolution: Derive element size from the type of the loaded element
62dd118 SmallVector: More movable improvements - don't copy elements to make space when inserting repeated elements.
aa72ac7 SmallVector: Move, don't copy, elements to make space for an insertion.
aa53e49 X86: simplify data layout calculation
16aac74 SmallVectorTest: Remove some more robust checks added in r210429 since they caught some bugs I haven't fixed yet.
9262e52 Fix some more moving-from-moved-from objects issues in SmallVector
bef256f APFloat: x - NaN needs to flip the signbit of NaN when x is a number.
c50f986 AsmMatchers: Use unique_ptr to manage ownership of MCParsedAsmOperand
e570687 Ensure SmallVector::insert doesn't overwrite the last element in the range with the already-moved-from value
6e0ab2f Revert "Do materialize for floating point"
aa59bc2 Remove outdated CMake MSVC workaround
cd1f08c Remove redundant typedef from MCAsmParserSemaCallback
06744bb Make InlineAsmIdentifierInfo forward-declarable
ea3ab85 MC: fix text section characteristics for WoA
4a0c1d1 Do materialize for floating point
cf7742c start to clean up buildMI calls in mips fast-isel
2aa472f Re-enable ARM ELF tests
11e082e Fix build when no native target is enabled
b8ff727 include MipsGenFastISel.inc
e668525 test: add test case for SVN r210406
e231836 test: move some tests into ARM directory
eb5f5ae MC: make ELF .type handling more GNU AS compatible
a926467 MC: fix ctor/dtor section for windows-itanium
83444b8 MC: whitespace, grouping for COFF section setup
3c9b41b Fix typos
e4dda5f Build fix: remove initializeJumpInstrTablesPass() call from LTO
104e73d ARM: correct assertion for long-calls on WoA
3ddcc49 tools: add a high level explanation for WoA EH data
1a17cd4 [OCaml] Commit missing parts of r210395
c492500 [OCaml] Introduce an llmdkind abstract type.
68caf17 Revert 209903 and 210040.
808823c Fix the MachineScheduler's logic for updating ready times for in-order.
7fe8882 Replace the use of TargetMachine with a tiny bool variable.
df2f80d Remove all local variables from X86SelectionDAGInfo, the DAG has all of the ones we were stashing away on startup.
6c862ed ADT: introduce isWindowsItaniumEnvironment
8ef9d22 DebugInfo: Use the scope of the function declaration, if any, to name a function in DWARF pubnames
ebcf48c DebugInfo: pubnames: include file-local (static or anonymous namespace) variables and anonymous namespaces themselves.
c77dec9 InstCombine: Canonicalize addrspacecast between different element types
a51acc7 MC: prevent early DCE of empty sections
0da5960 X86: Don't turn shifts into ands if there's another use that may not check for equality.

git-subtree-dir: llvm
git-subtree-split: 35d5a437ea159603bcbce903b05fff162415b68d
Merge commit '53552f50535e38ba9108452997390279cae7e004' into overhaul
Squashed 'llvm/tools/clang/' changes from 6cb9eb5..690ad31

690ad31 Fix line numbers for code inlined from __nodebug__ functions.
feb4d6a [PPC64LE] Implement little-endian semantics for vec_sums
e4fb2d3 [C++11] Use 'nullptr'.
c21287e Convert tests I recently add to use -verify instead of FileCheck.
b23b499 [C++11] Use 'nullptr'. Unittests edition.
0854524 [C++11] Use 'nullptr'. Tools edition.
fe9046f Split out inline asm parsing into ParseStmtAsm.cpp
f5b2ca5 Don't include llvm/MC/MCParser throughout all of Sema
bafb105 MS ABI: Simplify microsoft mangling of template instantiations
8258845 DeclObjC: Fix comments about bad API
6719dde Avoid dubious IdentifierInfo::getNameStart() uses
b521d76 StringRefize TargetInfo::getABI()
c2c5f2f Driver: add -m{,no-}long-calls support
579720f Unbreak release builds.
61d8772 [PPC64LE] Implement little-endian semantics for vec_unpack[hl]
63188e7 [PPC64LE] Update test for vec_sum2s interface
d23368b Fix crash declaring global allocation function with zero parameters. Fixes PR19968!
9df4a2a Fix my poor grammar from r210372
48872c1 [PPC64LE] Update builtins-ppc-altivec.c for PPC64 and PPC64LE
acb6ae0 Delay lookup of simple default template arguments under -fms-compatibility
dafcb8f [MS-ABI] Implement dynamic_cast This patch implements call lower from dynamic_cast to __RTDynamicCast and __RTCastToVoid.  Test cases are included.  A feature of note is that helper function getPolymorphicOffset is placed in such a way that it can be used by EmitTypeid (to be implemented in a later patch) without being moved.  Details are included as comments directly in the code.
ef6b9cd Add -Wtautological-undefined-compare and -Wundefined-bool-conversion warnings to detect underfined behavior involving pointers.

git-subtree-dir: llvm/tools/clang
git-subtree-split: 690ad3120a1bc9998ec5286712c37f0575dbb0a9
Merge with Clang.
Squashed 'llvm/tools/lldb/' changes from 6adf4fa..252d918

252d918 Remove invalid comment from last commit.
2fd7c61 Added gdb-remote program counter check at breakpoint.

git-subtree-dir: llvm/tools/lldb
git-subtree-split: 252d918e412d3177fae410690edaf7b57044097a
Merge commit '2bd9f1a238c970b079a92b3352783e5db54c7136' into overhaul
Finish merge with LLVM/Clang.