Squashed 'llvm/' changes from 545127f..58cb7be

58cb7be Disable 3 tests in llvm/test/Transforms/GCOVProfiling/ for now. Investigating.
76614e7 Remove "REQUIRES:shell" from tests. They work for me.
f7f14da [yaml2obj] Allow yaml2obj tool to recognize EF_MIPS_NAN2008 flag
12fcb9c Re-enable tests in llvm/test/Object, corresponding to line_iterator's change in r221153.
992662c llvm/test/Transforms/GCOVProfiling/linezero.ll: Use %/T instead of %T in regex. This works on win32.
5dac5bd Remove FindProgramByName. NFC.
3f4bf44b Fix Visual C++ warning, Program.inc(85): warning C4018: '<' : signed/unsigned mismatch.
8f5dab8 Add missing tests for build attribute encodings in object files.
3aeca77 llvm-objdump: Pass DiceTableEntry by reference
8f129a4 sys::findProgramByName(): [Win32] Tweak to pass lowercase .exe to SearchPath() to appease clang Driver's tests.
ab15115 CodeGen: Enable DWARF emission for MS ABI targets
60234de #include <winbase.h> is not enough for Visual C++ 2013, it errors:
281fc17 test: Restore llvm-lit (at least for my machine)
229e959 Minimize test case further
ccf2cd1 R600/LLVMBuild.txt: Add TransformUtils.
0a1d0f4 Docs: give binutils/gold instructions for CMake too.
9d18e62 Revert "Transforms: reapply SVN r219899"
f4b76be Remove setPreservesCFG from instcombine.  The pass, in particular, does not preserve LoopSimplify because instcombine may replace branch predicates with undef which loop simplify then replaces with always exit.  Replace setPreservesCFG with the more constrained preservation of DomTree and LoopInfo.
58206dd Use findProgramByName.
376a2e1 [Support][Program] Add findProgramByName(Name, OptionalPaths)
9dfa407 Use the LLVM_GNUC_PREREQ macro instead of the longhand version check
1bf7f44 Remove the END_WITH_NULL macro now that Clang doesn't use it
957d027 Remove the static version of getScatteredRelocationType() now that r221211 added a public version MachOObjectFile::getScatteredRelocationType().
d282ca7 Rename END_WITH_NULL to LLVM_END_WITH_NULL and move to Compiler.h
67bcf74 The patchpoint lowering logic would crash with live constants equal to the tombstone or empty keys of a DenseMap<int64_t, T>.  This patch fixes the issue (and adds a tests case).
a250322 Add the code and test cases for 32-bit Intel to llvm-objdump’s Mach-O symbolizer.
38d3e4d [Hexagon] Reverting 220584 to address ASAN errors.
60c2a98 Change logic in StackMaps::recordStackMapOpers to use the isInt<32> predicate instead of bitwise operations.
abe09fc Rename variables to conform to llvm coding standards.
cd9acde Use AA in LoadCombine
42090c6 Use common range handling for the CU's ranges
85a5ac0 [AArch64] Make function processLogicalImmediate more efficient. NFC.
3ada4ec Handle ASAN_OPTIONS and UBSAN_OPTIONS in TestingConfig.py
86156e8 refactor duplicated code. NFC.
c671375 InstCombine: Remove infinite loop caused by FoldOpIntoPhi
fcd4288 Push the CURangeList down into the skeleton CU (where available) rather than the full CU
38728dc [X86] Add debug print name for X86ISD::[US]MUL8. NFC-ish.
6199c0c [lit] Forward LD_PRELOAD to tests.
dc1d16a Add DwarfCompileUnit::BaseAddress to track the base address used by relative addressing in debug_ranges and debug_loc
8d7cc6b [ARM, inline-asm] Fix ARMTargetLowering::getRegForInlineAsmConstraint to return register class tGPRRegClass if the target is thumb1.
cce85e1 MSVC requires redeclarations to repeat noexcept
40453da [X86] 8bit divrem: Improve codegen for AH register extraction.
f16d6b1 EarlyCSE should ignore calls to @llvm.assume
fbd383c Reapply: R600: Make sure to inline all internal functions
3f4e9cb [Reassociate] Canonicalize negative constants out of expressions.
cf7bb7f Relax the LLVM_NOEXCEPT _MSC_VER version check back to 1900
c3e82bf Normally an 'optnone' function goes through fast-isel, which does not call DAGCombiner. But we ran into a case (on Windows) where the calling convention causes argument lowering to bail out of fast-isel, and we end up in CodeGenAndEmitDAG() which does run DAGCombiner. So, we need to make DAGCombiner check for 'optnone' after all.
5e84760 IR: MDNode => Value: Instruction::getAllMetadataOtherThanDebugLoc()
c3606b6 Remove the cortex-a9-mp CPU.
c341134 Cleanup some unused or trivial functions in DwarfCompileUnit
60b9b0d Sink DwarfUnit::CURanges into DwarfCompileUnit
e13ea1d [AArch64] Fix miscompile of comparison with 0xffffffffffffffff
0fc1662 Handle ctor/init_array initialization.
87dc149 Merge the directive-eabi_attribute.s and directive-eabi_attribute-2.s tests.
9586f1a Add CRLF support to LineIterator.
25f4c35 Revert r221150, as it broke sanitizer tests
b63d71e Emit .eh_frame with relocations to functions, rather than sections
89a66f4 [OCaml] Fix mismatched CAMLparam/CAMLreturn.
8e003cd Test commit.
b4793c4 CMake: Add libm to list of system libs printed by llvm-config.
8c4cd2f [mips] Remove unused prototype and variable. NFC.
099e59a [OCaml] Add -g on DEBUG_SYMBOLS=1, not ENABLE_OPTIMIZED.
a8ea2c9 Unbreak build.
49fd904 [OCaml] Don't use deprecated non-caml_namespaced functions.
13fd720 [OCaml] Initialize local roots prior to raising.
10fa04c [OCaml] Core package should depend on LLVMTransformUtils for LLVMCloneModule.
40977eb [OCaml] Fix ocamlc -custom builds when configured as --enable-shared.
cf0fe98 [OCaml] Avoid embedding absolute paths into executables.
29e8239 [OCaml] Don't build stub libraries twice.
95a8dca [OCaml] Run tests twice, with ocamlc and ocamlopt (if available)
7158970 [OCaml] META: remove exists_if(toplevel).
3339b71 [OCaml] ExecutionEngine package should not depend on interpreter.
9460376 Forgot to add input file for test added in r221133
5dc81d5 llvm-vtabledump: Handle Itanium VTables
9808f11 InstCombine: Combine (X | Y) - X to (~X & Y)
c70aeca Sink range list handling down from DwarfUnit into its only use, in DwarfCompileUnit.
2b6bd7a Use ErrorOr for the ::create factory on instrumented and sample profilers.
b6c9c72 R600: Don't unnecessarily repeat the register class
37b154c R600/SI: Use REG_SEQUENCE instead of INSERT_SUBREGs
2220408 Support REG_SEQUENCE in tablegen.
1ac6c45 Fix typo
dcd2a82 Fix missing C++ mode comment
eaa221a Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC."
0a6665e Revert r221096 bringing back r221014 with a fix.
a0ef0e7 [cmake] Pass -O3 when linking.
e82f417 Revert r221014: "Refactor duplicated code in liking GlobalValues."
e8e0fcf Formatting
67177d3 Add DwarfUnit::isDwoUnit and use it to generalize string creation
1fcc568 Remove the last mention of LineTablesOnly from DwarfUnit, sinking it into DwarfCompileUnit
c28e37e Sink DwarfUnit::applySubprogramAttributesToDefinition into DwarfCompileUnit
01d89ee Use Alias Analysis to hoist 2 loads from diamond to the common predecessor basic block. Alias Analysis allows to detect real barriers for load hoisting.
c821f87 Sink DwarfUnit::addExpr into DwarfCompileUnit
3c2838f Fix the build from the last commit
9aa32f9 Sink DwarfUnit::applyVariableAttributes into DwarfCompileUnit
51af354 Sink DwarfUnit::addLocationList down into DwarfCompileUnit
1ce60ab Sink DwarfUnit::addComplexAddress down into DwarfCompileUnit
9e4cbe6 Push DwarfUnit::addAddress down into DwarfCompileUnit
f5dd438 Sink DwarfUnit::addVariableAddress into DwarfCompileUnit since type units don't have variables
21cd65ac DebugInfo: Sink accelerator table lists down (GlobalNames/Types) into DwarfCompileUnit
5ede090 Add DwarfUnit::addGlobalType to match DwarfUnit::addGlobalName
1808f3e Revert r221056 and others, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC."
7f0ed39 DebugInfo: Refactor index type DIE initialization by rolling it into the accessor
91ff6eb Be sure to initialize DwarfCompileUnit::LabelBegin now that it may be skipped in initSection
3ee898c Don't bother creating LabelBegin for .dwo units
79e72dd Docs: update va_arg example with valid x86_64 va_list type.
d998d1c Drop DwarfCompileUnit::getLocalLabel* in favor of just mapping through the skeleton explicitly.
da53f1e Sink DwarfUnit::LabelBegin down into DwarfCompileUnit since that's the only place it's needed.
58913d5 Update test to use llvm-readobj. NFC.
5e8ee21 Sink dwarf unit length emission down into DwarfUnit::emitHeader
d457d52 Test 221067 in a fixed-target test so as not to fail on targets with different DWARF encodings
fc09520 Fix the build of the gold plugin.
ed297ab InstCombine: Don't assume that m_ZExt matches an Instruction
9f15bb3 Remove test coverage added in 221067 due to it being non-portable.
8ff4876 Remove DwarfUnit::LabelEnd in favor of computing the length of the section directly
33e0758 Sink DwarfUnit::SectionSym into DwarfCompileUnit as it's only needed/used there.
cfe761c Renamed CCState members that appear to misspell 'Processed' as 'Proceed'. NFC.
b2dae39 Make DwarfCompileUnit::Skeleton more narrowly typed (DwarfCompileUnit* instead of DwarfUnit*) now that it's specific to DwarfCompileUnit anyway.
ea8769c [mips] Move all ByVal handling into CCState and tablegen-erated code. NFC.
73d60e6 [mips] Fix unused variable warning introduced in r221056
d1bb2d1 [mips] Remove ByValArgInfo::Address in favour of CCValAssign::getMemLocOffset(). NFC.
61d2d3d [mips] Move F128 argument handling into MipsCCState as we did for returns. NFC.
4e35ac1 Sink DwarfUnit::Skeleton down into DwarfCompileUnit
20dc677 [mips] Remove MipsCC::CCInfo. NFC.
f814c64 [mips] Removed MipsCC::fixedArgFn(). NFC
5e4b155 [tablegen] Add CustomCallingConv and use it to tablegen-erate the outermost parts of the Mips O32 implementation
153cd65 Sink DwarfDebug::AbstractSPDies down into DwarfFile
5793838 Remove redundant calls to isMaterializable.
e2add43 Revert r221048 - Test commit
211ed6d Test commit
5179f70 [JIT] Fix some more missing endian conversions in RuntimeDyld
6128ca9 [CMake] llvm-profdata requires Core.
f74443e InstCombine: Combine (X+cst) < 0 --> X < -cst
666a513 IR: Restore the old behavior of getDISubprogram
bdec4ae Revert "Temporarily revert r220777 to sort out build bot breakage."
5ea912a Revert r220779, "[AVX512] Removed special case for cmp instructions in getVectorMaskingNode. Now cmp intrinsics lower as other intrinsics through VSELECT, and then VSELECT tranforms to AND in PerformSELECTCombine."
db5d201 Remove unused function
b1494f1 And... fix the build some more.
a49cbec Just iterate the DwarfCompileUnits rather than trying to filter them out of the list of all units.
bf29eb3 Add '*' to auto variable that is a pointer, as per the coding conventions.
9657de5f Add show and merge tools for sample PGO profiles.
e542d91 Add DwarfCompileUnit::getSkeleton that returns DwarfCompileUnit* to avoid having to cast from DwarfUnit* on every call.
a4e1564 Temporarily revert r220777 to sort out build bot breakage. "[x86] Simplify vector selection if condition value type matches vselect value type and true value is all ones or false value is all zeros."
b2187ed IR: MDNode => Value: Instruction::getAllMetadata()
3a84a63 IR: MDNode => Value: Instruction::getMetadata()
9ed4497 IR: MDNode => Value: Add Instruction::getMDNode()
8d2e511 Revert "R600: Add missing file to CMakeLists.txt"
a5607fb Revert "R600: Make sure to inline all internal functions"
e1a4787 Work around bugs in MSVC "14" CTP 3's conversion logic
9f86b43 Refactor duplicated code in liking GlobalValues.
fc46c68 Define LLVM_NOEXCEPT with MSVC 14 CTP 3 or newer
57c911e Suppress MSVC's equivalent of -Wshadow warnings
54a86b3 Sink some of DwarfDebug::collectDeadVariables down into DwarfCompileUnit.
cf19403 Correctly update dom-tree after loop vectorizer.
021153f Sink most of DwarfDebug::constructAbstractSubprogramScopeDIE into DwarfCompileUnit
03fb370 R600: Add IPO to the list of required libraries
7b8ba81 [Object] Modify OwningBinary's interface to separate inspection from ownership.
7dd15e6 R600: Add missing file to CMakeLists.txt
b5c8650 R600: Don't promote allocas when one of the users is a ptrtoint instruction
5d6cee5 R600: Make sure to inline all internal functions
da8d558 IR: Instruction::setMetadata() should use cast_or_null
815275f IR: MDNode => Value: Instruction::setMetadata()
2d32816 [PowerPC] Initial VSX intrinsic support, with min/max for vector double
b9ce924 [AArch64] Check Dest Register Liveness in CondOpt pass.
854432d [asan] do not treat inline asm calls as indirect calls
9b6ca93 [CodeGenPrepare] Move extractelement close to store if they can be combined.
9607695 [asan] fix caller-calee instrumentation to emit new cache for every call site
e05a7e1 Remove the wrongly named and now empty Ocaml directory
c700c4d Update the non-pthreads fallback for RWMutex on Unix
07c3753 Unify and update link-messages.ll and redefinition.ll. NFC.
7d26b99 Correct assert text from r220923
2105bd0 Mark a few variables const. NFC.
65e4532 [CMake] llvm/examples: Update libdeps for unoptimized builds.
66d3a86 [AArch64] CondOpt pass is missing FCMP instructions when searching backward for a CMP which defines the flags used by B.CC.
8cff277 [SCEV] Improve Scalar Evolution's use of no {un,}signed wrap flags
8a9c531 [PowerPC] Load BlockAddress values from the TOC in 64-bit SVR4 code
42187d2 [OCaml] Ensure consistent naming.
ced3d17 [OCaml] Rework Llvm_executionengine using ctypes.
130901d Move an input file to Inputs instead of using RUN: true.
a271590 Object, COFF: Cleanup symbol type code, improve binutils compatibility
534d904 merge tests for constant linking.
062f4e4 Move definition closer to use. NFC.
80021c5 PR20557: Fix the bug that bogus cpu parameter crashes llc on AArch64 backend. Initial patch by Oleg Ranevskyy.
714a629 Threading.h: Give named parameters to llvm::call_once(flag,UserFn). [-Wdocumentation]
107d779 [SelectionDAG] When scalarizing trunc, don't assert for legal operands.
9eb0a09 Speculative fix for Windows build after r220932
4b57390 EXPORTED_SYMBOL_FILE using mingw and cmake
7f3bcd6 llvm/test/Transforms/SampleProfile/syntax.ll: Relax MISSING-FILE not to check locale-aware message catalog.
4c77b29 Fix incorrect invariant check in DAG Combine
8744520 Removing the static initializer in ManagedStatic.cpp by using llvm_call_once to initialize the ManagedStatic mutex.
76ebe3d llvm-cov: Follow LLVM naming conventions
6e5def6 llvm-cov: Don't manually parse an option for no reason
3d41cbb Fix the merging of the constantness of declarations.
d33e677 llvm-cov: Very basic top level help
aad4ea4 Add handling for range metadata in ValueTracking isKnownNonZero
6c5d298 Update test to pass .ll to llvm-link and use Inputs.
5f5c650 PR21408: Workaround the appearance of duplicate variables due to problems when inlining two calls to the same function from the same call site.
6f01d27 Fix comment spelling and tidy diagnostic call in profile reader.
a811166 lit: PR21417: don't try to update OCAMLPATH if LibDir is empty.
496bd0b Fix Twine corruption problem with diagnostics.
e75c2b3 Add profile writing capabilities for sampling profiles.
487dfd6 ARM: test default values for TAG_CPU_unaligned_access attribute.
387300f [Mips] Add new Mips specific e_flags.
7d18d46 [AVX512] Added VBROADCAST{SS/SD} encoding for VL subset. Refactored through AVX512_maskable
015aedb [dfsan] New calling convention for custom functions with variadic arguments.
b0d3f64 [OCaml] Expose LLVMCloneModule.
41796b4 [OCaml] Expose LLVM{Get,Set}DLLStorageClass.
39363abb [OCaml] Test code emission in Llvm_target.
d1fc3a0 [OCaml] Enable backtraces in tests.
47f88b5 [OCaml] [autoconf] Migrate to ocamlfind.
b9f3251 [OCaml] De-duplicate llvm_raise and llvm_string_of_message.
d07e7ec Enable the slp vectorizer in the gold plugin.
74ded7c Enable the loop vectorizer in the gold plugin.
25016f9 Replace also-emit-llvm with save-temps.
0d36b9d Untabify.
8a32713 llvm/test/Transforms/LoopRotate/nosimplifylatch.ll: Fix possibly mis-repeatedly-pasted test.
be5683a Run clang-format on tools/llvm-objdump/MachODump.cpp . No functional change.
973a76f Test Case for r220872:Do not simplifyLatch for loops where hoisting increments couldresult in extra live range interferance
a5ca5d9 Do not simplifyLatch for loops where hoisting increments couldresult in extra live range interferance
3262c45 Fix getRelocationValueString to return the symbol name for EM_386.
4cb5914 Enable display of compiler diagnostics in clang-tidy by default.
63c2f32 [AVX512] Implemented AVX512VL FP bnary packed instructions (VADDP*, VSUBP*, VMULP*, VDIVP*, VMAXP*, VMINP*) Refactored through AVX512_maskable Added encoding tests for them.
7710e25 Whitespace.
a042c23 Fix build with CMake if LLVM_USE_INTEL_JITEVENTS option is enabled
e0129b5 [OCaml] Expose Llvm.parse_command_line_options.
57d796a [OCaml] Expose Llvm_target.TargetMachine.add_analysis_passes.
2e95790 [OCaml] If compiled without --enable-shared, hide packages from toplevel.
a226572 [OCaml] Expose Llvm_bitwriter.write_bitcode_to_memory_buffer.
e3227ca [OCaml] Drop support for 3.12.1 and earlier.
360c7ed [OCaml] Synchronize transformations with LLVM-C.
68a70cd macho-symbolized-disassembly.test: Don't check C++ demangler unconditionally.
674effc test: tweak inlined-allocs test
e5639d3 VMCore was renamed to IR long time ago
17380c7 Update llvm-objdump’s Mach-O symbolizer code to demangle C++ names.
29773db [OCaml] PR5595: Pass LDFLAGS to tests via -cclib.
8bc1b3c [OCaml] PR14083, PR9606: Only pick *.odoc files from current build target.
4aaed61 [OCaml] Fix whitespace.
b4d023a [OCaml] PR9719, PR14727: Make tests run without ocamlopt.
686e157 [OCaml] PR19859: Add functions to query and modify branches.
715eb50 [C API] PR19859: Add functions to query and modify branches.
4c4f5ec [OCaml] PR19859: Add tests for reading the values of numeric constants.
0947d0e [OCaml] PR19859: Add Llvm.{fcmp_predicate,float_of_const}.
437b107 [C API] PR19859: Add LLVMGetFCmpPredicate and LLVMConstRealGetDouble.
586cf3d Transforms: reapply SVN r219899
e161016 [AVX512] Fix VSQRT packed instructions internal names. No functional change
9371efb [AVX512] Extended avx512_sqrt_packed (sqrt instructions) to VL subset. Refactored through AVX512_maskable
59cb03d [AVX-512] Expanded rsqrt/rcp instructions to VL subset. Refactored multiclass through AVX512_maskable
d4345dd [AVX512] Removed special case for cmp instructions in getVectorMaskingNode. Now cmp intrinsics lower as other intrinsics through VSELECT, and then VSELECT tranforms to AND in PerformSELECTCombine. No functional change.
edf556e [x86] Simplify vector selection if condition value type matches vselect value type and true value is all ones or false value is all zeros. This transformation worked if selector is produced by SETCC, however SETCC is needed only if we consider to swap operands. So I replaced SETCC check for this case. Added tests for vselect of <X x i1> values.
7435fa3 Silencing an "enumeral and non-enumeral type in conditional expression" warning; NFC.
4a52493 [AVX512] Bring back vector-shuffle lowering support through broadcasts
81ae170 Reformat partially, where I touched for whitespace changes.
2ffeb9f LoopRerollPass.cpp: Use range-based loop. NFC.
0f06462 Untabify and whitespace cleanups.
693bfa5 [OCaml] Enable -g for debug builds.
d02697b [OCaml] Fix whitespace.
f921907 Minimize the scope of some variables, NFC.
d5de327 X86: Implement the vectorcall calling convention
dd778c6 AArch64: enable Cortex-A57 FP balancing on Cortex-A53.
c35c39b Remove the PreserveSource linker mode.
9ef2fd8 AArch64InstrInfo.h: Fix a warning introduced in clang r220703. [-Winconsistent-missing-override]
6bc8d95 [AVX512] Add vpermil variable version
5c76721 [AVX512] Clean up avx512_perm_imm to use X86VectorVTInfo
7ba4de2 [AVX512] Derive vpermil* from avx512_perm_imm
d0ee9ad [AVX512] Fix copy-and-paste bugs in vpermil
0660f17 Make it easier to pass a custom diagnostic handler to the IR linker.
68aeef6 Fix a stackmap bug introduced in r220710.
cf84852 [ScalarEvolution] Guard dump() with #if
f6066a7 Fix bug where sys::Wait could wait on wrong pid.
52a6f59 [FastISel][AArch64] Emit immediate version of icmp (subs) for null pointer check.
e2995ff [FastISel][AArch64] Optimize compare-and-branch for i1 to use 'tbz'.
7476f9c Stackmap shadows should consider call returns a branch target.
b11c5b1 [FastISel][AArch64] Use 'cbz' also for null values (pointers).
5745cad [FastISel][AArch64] Don't fold the 'and' instruction into the 'tbz/tbnz' instruction if it is in a different basic block.
d3a0422 [FastISel][AArch64] Fix load/store with frame indices.
866ee52 [asan] experimental tracing for indirect calls, llvm part.
0059dd4 [PBQP] Remove a spurious 'typename' keyword. This was causing an error on MSVC.
6faab9d [PBQP] Clarify ambiguous-looking typedef.
57902cc [PBQP] Unique allowed-sets for nodes in the PBQP graph and use pairs of these sets as keys into a cache of interference matrice values in the Interference constraint adder.
86ec9c4 Add MapVector::rbegin(), MapVector::rend() to completment MapVector::begin(), MapVector::end().
af628cc Prune CRLF.
b1d8e7e [ARM] Select VMAXNM and VMINNM regardless of operand order
75bb472 [asan-asm-instrumentation] Added comment describing how asm instrumentation works.
490f286 Re-commit r220667.
a85a0b3 Fix unicode chars into ascii in comment lines.
e975522 Revert "Include stddef.h before including cxxabi.h" to un-break buildbot
baa8acd Include stddef.h before including cxxabi.h
fe58be3 InstCombine: Fix a combine assuming that icmp operands were integers
e250b13 LinkModules.cpp: don't repeat names in comments.
bcc5753 Remove some unnecessary casts.
ce3a612 [PBQP] Tidying up as per Dave Blaikie's suggesions for r220642.
2666eac [PBQP] Explicitly define copy/move operations for NodeMetadata to keep VS happy.
b26fb77 Add an option to the LTO code generator to disable vectorization during LTO
9a6482a [PBQP] Re-commit r220642 with a workaround for quirky Visual Studio behavior.
bd11651 [OCaml] Expose existing documentation in ocamldoc.
0846d68 Revert "[PBQP] Unique-ptrify some PBQP Metadata structures. No functional change." (r220642)
82256c4 [PBQP] Unique-ptrify some PBQP Metadata structures. No functional change.
015e0c4 [PBQP] Tidy up CostAllocator.h: fix variable case, rename CostPool to ValuePool.
9e19cf1 AVX-512: Fixed encoding of VPBROADCASTM and added SKX forms of this instruction
916ba45 LSR: Minor cleanup after Daniel's patch.
abb11dd Fix LSR compile time.
2e643bb [OCaml] hexagon can't run MCJIT tests, XFAIL it.
0ce2ef8 [OCaml] Unbreak Llvm_executionengine.initialize_native_target.
60d3f59 [OCaml] Expose Llvm_executionengine.ExecutionEngine.create_mcjit.
71fe4f0 [SeparateConstOffsetFromGEP] Fixed a bug related to unsigned modulo
1f79fac Unbreak the build.
05b492d Clean up assume intrinsic pattern matching, no need to check that the argument is a value.
5c50ab8 [SeparateConstOffsetFromGEP] Fixed a bug in rebuilding OR expressions
c31aaa5 [X86][SSE] Vector integer/float conversion memory folding
ae7aa60 InstCombine: Remove overzealous asserts
f4a288c Allow the C API users to keep relying on the OutMessages parameter.
e272236 Remove unused variable.
72478e5 Update the error handling of lib/Linker.
1d1d705 [NVPTX] aligned byte-buffers for vector return types
b31d53a Add a test for the -suppress-warnings option.
e376441 [msan] Make -msan-check-constant-shadow a bit stronger.
c498284 Modernize the error handling of the Materialize function.
44ccedc Fix a Mach-O assembler segfault for a subtraction expression with an undefined symbol.
ab08da7 Sink DwarfUnit::constructImportedEntityDIE into DwarfCompileUnit.
44efa20 [X86][SSE] Bitcast assertion in XFormVExtractWithShuffleIntoLoad
8699f53 [Hexagon] Resubmission of 220427 Modified library structure to deal with circular dependency between HexagonInstPrinter and HexagonMCInst. Adding encoding bits for add opcode. Adding llvm-mc tests. Removing unit tests.
a366659 Fix copy paste comment
68b02dc Don't ever call materializeAllPermanently during LTO.
51fa1bc Allow AVX vrsqrtps generation.
7f6ba17 DebugInfo: Sink DwarfDebug::ScopeVariables down into DwarfFile
be5d8bf remove class/function/variable names from comments; NFC
3ad7d41 Remove DwarfDebug::FirstCU as it has no use
a46f06e Use rsqrt (X86) to speed up reciprocal square root calcs
2992ea0 [mips] Replace MipsABIEnum with a MipsABIInfo class.
5ea0446 [Object] Fix MachO's getUuid to return a pointer into the object instead of a dangling ArrayRef.
a653bf1 These functions are not actually defined for NDEBUG or !LLVM_DUMP_ENABLED, so guarding the declarations as well. NFC, silences MSVC warnings in release builds.
29e46cd [mips] Fix >80-column line
4d2ff45 [mips] Remove redundant code in RetCC_MipsN. NFC.
de90aa0 [mips] For N32/N64, structs must be passed in the upper bits of a register.
9bb3f37 [AArch64] Fix fast-isel of cbz of i1, i8, i16
806ccff Update test/MC/ARM/coff-debugging-secrel.ll expectations to fix breakage caused by r220544
77348a5 Added reset of LexicalScope in LiveDebugVariables reset function.
92e132a Fix PR21189 -- Emit symbol subsection required to debug LLVM-built binaries with VS2012+
8a5eafb DebugInfo: Remove DwarfDebug::addScopeVariable now that it's just a trivial wrapper
636864d Make test for r220533 more robust by using GPR pattern.
7f7bf0d [AVX512] FMA support for the 231 variants
97a3cd4 [AVX512] Introduce fma3p_forms from AVX
c08a720 If requested, apply function merging at -O0 too. It's useful there to reduce the time to compile.
da45b2b Make getDISubprogram(const Function *F) available in LLVM
17c1e34 [SelectionDAG] Teach the vector scalarizer about FP conversions.
54d95a7 Update comment and fix typos in assert message. (NFC)
c08387e Update llvm.donothing documentation.
c0ecebb ScheduleDAG: record PhysReg dependencies represented by CopyFromReg nodes
9913271 DebugInfo: Remove DwarfDebug::CurrentFnArguments since we have to handle argument ordering of other arguments (abstract arguments) in the same way and already have code for that too.
13535f4 PR21189: Teach llvm-readobj to dump bits of COFF symbol subsections required to debug using VS2012+
48ba51a DebugInfo: Sink DwarfDebug::addNonArgumentScopeVariable into DwarfFile.
e4e2ea6 MachODump.cpp: fix MSVC build
4d962b0 [X86] Improve mul w/ overflow codegen, to MUL8+SETO.
78f043e DebugInfo: Remove DwarfDebug::addCurrentFnArgument declaration now that it's moved to DwarfFile.
d215369 Handle sqrt() shrinking in SimplifyLibCalls like any other call
4d52907 Change the name of the field BindTable to bindtable to not over lap the type.
1ea06a0 Make llvm-go test dependency optional.
e37b00e Make llvm-link behave a bit more like LTO.
a1afbd6 Update llvm-objdump’s Mach-O symbolizer code for Objective-C references.
a023f50 Cleanup this test a bit.
c32d748 Cleanup this test a bit.
129ab6c DebugInfo: Simplify/tidy/correct global variable decl/def emission handling.
b11d994 Make this test a bit stricter.
74ff816 Make this test a bit stricter.
e852ac7 Revert "Don't count inreg params when mangling fastcall functions"
71926e7 Adding llvm-shlib to CMake build system with a few new bells and whistles
3d71678 Remove explicit (void) use of DwarfFile::DD that was accidentally left in r220452.
06b11e3 Do not emit intermediate register for zero FP immediate
8b8e2b2 clang-format two code snippets to make the next patch easy to read.
08aeb16 Add unittest for extreme alignments.
a766cd3 Hexagon/Disassembler/LLVMBuild.txt: Update libdeps.
e9619fd Hexagon/LLVMBuild.txt: Prune CRLF.
78582d4 [CMake] Prune CRLF in CMakeLists.txt(s).
f3379e7 [CMake] Prune trailing whitespace.
effe629 Revert r220427, "[Hexagon] Adding encoding bits for add opcode."
71832e7 [mips][microMIPS] Implement ADDIUR1SP instruction Differential Revision: http://reviews.llvm.org/D5153
fd51513 ps][microMIPS] Implement ADDIUR2 instruction Differential Revision: http://reviews.llvm.org/D5151
f58c95a ps][microMIPS] Implement LI16 instruction Differential Revision: http://reviews.llvm.org/D5149
558236a [mips][microMIPS] Implement CodeGen support for SLL16 and SRL16 instructions Differential Revision: http://reviews.llvm.org/D5774
9982879 [Thumb2] Improve disassembly of memory hints
be96686 [ARM, stack protector] If supported, use armv7 instructions.
648728d Assert that ValueHandleBase::ValueIsRAUWd doesn't change the tracked Value type.
54d6b1b Modernize doxygen comments in Support/Dwarf.h
9970b0f [dwarfdump] Dump DW_AT_ranges values inline in the debug_info dump.
bdc3a5b Add llvm-go tool.
32136ac [msan] Emit checks for constant shadow values under an experimental flag.
87e9d8c [DebugInfo] Sink DwarfDebug::addCurrentFnArgument down into DwarfFile.
22a01da [DebugInfo] Add DwarfDebug& to DwarfFile.
ee129ed [DebugInfo] Remove LexicalScopes::isCurrentFunctionScope and CSE a use of LexicalScopes::getCurrentFunctionScope
5385df6 Fix Mips nacl-mask test for new bundle-aligned label behavior
950c648 [MCJIT] Make repeat calls to MCJIT::getPointerToFunction for declarations safe.
ae3811c Attempt to fix the build after r220439
cdb105b [MC] Attach labels to existing fragments instead of using a separate fragment

git-subtree-dir: llvm
git-subtree-split: 58cb7beb66cf5621877c01c0c78a193f66b65036
Merge commit 'c37b312e42f6b901235e6bd88e09358b702d6480' into devel
Squashed 'llvm/tools/clang/' changes from 424c891..cbe3082

cbe3082 Re-enable this test on Windows since it passes with GnuWin32 env.exe.
773037c Remove "REQUIRES:shell" from tests. They work for me.
382ee27 clang/test/Tooling: Remove mention to PR15590 out of a couple of tests. They are suppressed with another issue.
d863f74 clang/test/Tooling: [PR15590] Avoid backslashes in JSON. Should work on win32.
b8a7d6e clang/test/VFS/umbrella-mismatch.m: Let it work on win32 to avoid backslashes in yaml.
1aaa690 clang/test/Coverage/html-diagnostics.c: Use find(1) to avoid globbing.
aee96b0 clang/test/Modules: Remove "REQUIRES:shell" since they work for me.
ceadeb9 clang-format: Use identifier table for keywords in other languages.
70e4d98 clang-format: [Java] Fix class declaration line breaks.
608c1f0 clang-format: Fix vim integration if g:clang_format_binary doesn't exist
3243633 Driver: Pass some std::strings by reference instead of value
e4d5398 [clang-tidy] Move -extra-arg handling to CommonOptionsProvider
6e9e693 [llvm-api-change] Use findProgramByName.
96b4219 Use the new LLVM_END_WITH_NULL name
580ce36 Lower __builtin_fabs* to @llvm.fabs.*
5f14b08 Remove dead AST type argument to EmitFAbs
e83346c Remove local handling of ASAN_OPTIONS and UBSAN_OPTIONS.
8a8ccbf Move the no-prototype calling conv check after decl merging
734e0ab Don't diagnose no-prototype callee-cleanup function definitions
d2e9988 Require asserts to unbreak the buildbots.
4f98f2c Further restrict issuance of 'override' warning if method is argument to a macro which is defined in system header.
eb46a58 Implement vaarg lowering for ppc32. Lowering of scalars and aggregates is supported. Complex numbers are not.
46ae6e2 This patch reverts r220496 which issues warning on comparing parameters with nonnull attribute when comparison is always true/false. Patch causes false positive when parameter is modified in the function.
9cd8da4 Emit OpenCL local global variables without zeorinitializer
6d04370 Don't allow dllimport/export on classes with internal linkage (PR21399)
c29a6ca Revert "clang-format: [Java] Allow trailing semicolons after enums."
956edcd Don't dllimport inline functions when targeting MinGW (PR21366)
d1bd62a [x86] Add cx16 feature to KNL, SKX, and CoreAVXi CPUs.
4725153 [x86] Realphabetize the feature string decoding function since it was mostly in alphabetical order.
7debf7f Add FSGSBASE intrinsics to x86 intrinsic headers.
a6f5e0d Remove definitions from Intrin.h that already exist in one of the other x86 intrinsic headers. Add a run line with Broadwell as the cpu type to ms-intrin.cpp test to catch some of these in the future.
c6ec4ee clang-format: [Java] Allow trailing semicolons after enums.
6ee86df clang-format: [Java] Fix more generics formatting.
03bea98 clang-format: [Java] Fix static generic methods.
1fa1ff8 clang-format: [Java] Fix class declaration formatting.
932a371 clang-format: Fix false positive in lambda detection.
7909991 clang-format: [Java] Support enums without trailing semicolon.
aa97742 clang-format: [Java] Don't break imports.
e0ab268 clang-format: [Java] Add space between "synchronized" and "(".
f11ab95 clang-format: [Java] Support generics with "?".
217500c clang-format: permit setting the path to clang in vimrc
4f13f65 docs: remove double carriage-return
054b757 clang-format: [Java] Support try/catch/finally blocks.
313cb01 clang-format: [Java] Don't break after extends/implements.
d88f137 [PowerPC] Change PPCTargetInfo::hasFeature() to use StringSwitch
75e91bd Add _lzcnt_u32 and _lzcnt_u64 to lzcntintrin.h to match Intel documentation names for these intrinsics.
d520349 Avoid undefined behavior in the x86 bmi header file by explicitly checking for 0 before calling __builtin_ctz. Without this the optimizers may take advantage of the undefined behavior and produce incorrect results. LLVM itself still needs to be taught to merge the zero check into the llvm.cttz with defined zero behavior.
fd2bb3d Avoid undefined behavior in the x86 lzcnt header file by explicitly checking for 0 before calling __builtin_clz. Without this the optimizers may take advantage of the undefined behavior and produce incorrect results. LLVM itself still needs to be taught to merge the zero check into the llvm.ctlz with defined zero behavior.
5e7180b CodeGen: Declutter the emitVirtualObjectDelete interface
35d7bb8 CodeGen: Virtual dtor thunks shouldn't have this marked as 'returned'
903e9aa clang/lib/CodeGen/TargetInfo.cpp: Fix a couple of warnings. [-Winconsistent-missing-override]
b56a389 Fix a bug where -Wuninitialized would skip arguments to a function call.
32ec8a0 Silence a warning from MSVC "14" by making an enum unsigned
db69502 Fix an accidental self-assignment using std::move in r220723.
3568925 Implement IRGen for the x86 vectorcall convention
6feb239 Objective-C SDK modernization tool. Use its own option ,-objcmt-migrate-property-dot-syntax, when migarting to use property-dot syntax in place of messaging expression. rdar://18839124
0ca36e7 Have -Wuninitialized catch uninitalized use in overloaded operator arguments.
a81f541 [analyzer] Helpful hints for Windows users of scan-build.
ce0076c MS ABI: Properly call global delete when invoking virtual destructors
79ac973 C++-11 [qoi]. Do not warn on missing 'verride' on use of macros in user code when macros themselves are defined in a system header. rdar://18295240
10a64df [PowerPC] Initial VSX intrinsic support, with min/max for vector double
083a9aa ignore -mconstructor-aliases when adding field paddings for asan
7e92c17 clang-format: [Java] Improve line breaks around annotations.
316eb7c clang-format: [js] Updates to Google's JavaScript style.
9d3048a [analyzer] Rename NewDeleteLeaks checker in the test script.
5a1d9be Fix the build
cb41c5c Fix ARM HVA classification of classes with non-virtual bases
4dad144 Fix unused-function warning differently from r220853
a155890 [libclang] Disable spell-checking and warnings during code-completion since they are not needed.
cdc22c8 [Makefile] If ENABLE_CLANG_ARCMT=0 it seems we don't build libclang, so the unittests for libclang should be disabled too.
5a3c1a3 Remove StorageClass typedefs from VarDecl and FunctionDecl since StorageClass is in the clang namespace.
223156a Remove CastKind typedef from CastExpr since CastKind is in the clang namespace.
b7ad753 Remove a couple typedefs for things in the clang namespace with the same name. Remove a typedef that matches an identical one in the clang namespace.
24a93ad [AArch64]Add 2 intrinsics vmov_n_p64/vmovq_n_p64, the alias for vdup_n_p64/vdup_n_p64. As this change is too small, commit it directly.
78c81e5 [modules] When a .pcm file is explicitly built separately from the translation unit, allow the -O settings of the two compilations to differ.
9dc7a86 Make QualType::dump() produce a useful dump of the structure of the type, rather than simply pretty-printing it.
ce30a47 ASTDumper.cpp: Appease g++, for now.
87ea7dc Rename 'DarwinStaticLib' to 'DarwinLibName'
1f064ca Refactor tree printing in AST dumping.
845eee3 Get rid of SanitizerOptions::Disabled global. NFC.
16b770c [analyzer] Updated tests for ZeroAllocDereference checker.
828ce4c Update contact person in Open Projects webpage for copy-paste detection. From Per Viberg to Daniel Marjamäki.
43bd51e [autoconf] Add clangToolingCore.a to Makefile(s) for static build w/o libclang.dll.
264aff8 Remove the last couple uses of the ExprArg(just Expr*) typedef in Parser.
34bb463 Remove some duplicate functions from the Parser class. Identical functions already exist in the clang namespace from Sema/Ownership.h.
ded6b85 [CMake] Prune redundant libdeps.
2837ca3 [CMake] Add dependencies on clangToolingCore.
2be41f2 [CMake] clangToolingCore requires clangLex.
1a02d78 clang-format: Format line if invoked on the trailing newline.
b33ef70 Sink a #include while we're here. NFC.
87d5cc5 clang-format: Cut more clangAST dependencies.
938f290 Trim some includes. NFC.
3e9c192 Follow-up to r216619: use isCXXCLassMember() instead of trying to check the context ourselves when selectively allowing late-added dll attributes on unused free functions and variables (PR20746)
08a1416 Refactor libTooling to reduce required dependencies.
f268ae0 Enable display of compiler diagnostics in clang-tidy.
3e3ac8a test: generalise the test matching
29f8cd7 clang-format: [JS] Support more regex literals.
11a3310 CodeGen: add __readfsdword builtin
f5f351f Fix warning in Altivec code when building with GCC 4.8.2 on Ubuntu 14.04.
8009d95 Pass aggregates on the stack without splitting in NVPTX.
bd51d2f clang/lib/AST/Decl.cpp: Tweak isVLATypeCapturingAllowed() for -Asserts. [-Wunused-function]
6ea747c [PowerPC ABI] Bug 21398 - Consider C++ base classes in HA classification
3b22dbc clang/test/CodeGen/captured-statements-nested.c: Tweak for -Asserts.
4ed019a Improved capturing variable-length array types in CapturedStmt. An updated implemnentation of VLA types capturing based on previously committed solution for Lambdas. This version captures the whole VLA type instead of particular variables which are part of VLA size expression and allows to use previusly calculated size of VLA type in captured regions. Required for OpenMP. Differential Revision: http://reviews.llvm.org/D5099
5926ec6 Use enumerators instead of hardcoded integers when we decide if keyword is enabled.
4104b7b Don't capture DeclRefExpr::getNameInfo().getInfo(). It returns reference in temporary object.
a61c9c9 Objective-C modern rewriter. Patch to fix a rewriting bug rewriting an Objective-C block. Patch by Ryan Govostes. rdar://18799145
3fa0232 The dllimport.cpp test was gating some checks on #ifndef MSABI, but MSABI was never defined in the test. It seems we are erroring on code that we should be accepting when compiling for MSVC compatibility.
568808a Objective-C remove an unused enumerator which causes warning in a switch statement.
48f193c clang-format: Improve && detection as binary operator.
951324d Objective-C. revert patch for rdar://17554063.
1f0ce1f clang-format: Fix test.
8365e28 clang-format: Improve && detection as binary operators.
3072a86 Actually remove this test entirely.
c3ceec3 [Objective-C]. revert r220740,r220727
ab0cf06 clang-format: Improve function declaration detection.
b6007a7 PR17730: Add test that we don't crash on this testcase. (The bug is already fixed.)
6a82bb5 clang-format: Update generated documentation with new flag.
57c820f PR21367: Don't accept rvalue references as an extension in C++98 mode if we're in a new-type-id or conversion-type-id, since those things can legitimately be followed by a binary && operator.
347e3d7 clang-format: [ObjC] Add separate flag to control indentation in blocks
ba3c373 Extend test to check that -D flags do not leak across module boundaries.
381b450 clang-format: Fix test after recent flag change.
b2a28ae [modules] Allow -I, -D, -W flags to change between building a module and explicitly using the resulting .pcm file. Unlike for an implicit module build, we don't need nor want to require these flags to match between the module and its users.
5604db4 clang-format: Don't put functions on a single line in Google's Java style.
04ccb88 Add valueDecl() matcher.
fdc0bc7 clang/test/Modules/explicit-build.cpp: Tweak to meet win32's backslash.
65968c1 Fix warning text: lower -> higher
089d680 Driver: remove a stray s that propagated in cross-windows
b775f9b Update for LLVM API change.
f5853f4 Improve on the diagnostic in my last patch and change warning to error. rdar://18768214.
d8ceba3 Remove unused variable.
e58d9a5 Use the newer/simple API for passing a diagnostic handler to the IR linker.
489c8c9 [modules] Load .pcm files specified by -fmodule-file lazily.
23b7656 Objective-C ARC [qoi]. Issue diagnostic if __bridge casting to C type a collection literal. rdar://18768214
78e394b Frontend: Don't include stdin in the dependency list for an object file
c637e90 Try to appease the C++ gods
1488314 Give TypoExprState a move constructor and assignment operator to appease MSVC build
03ee47b Fix segfault in hasDeclContext for nodes that have no decl context.
16446f3 Frontend: Define __EXCEPTIONS if -fexceptions is passed
dabcb7e Do not insert asan paddings after fields that have flexible arrays.
3b10ac0 c++11 patch to issue warning on missing 'override' on overriding methods. Patch review by Richard Smith. rdar://18295240
627380e Wire up LookupMemberExpr to use the new TypoExpr.
fb608dd Add a callback for recovering using a typo correction.
1fc4384 Add simple way for a CorrectionCandidateCallback to reject exact matches of the typo.
4a3c68b Start adding the infrastructure for handling TypoExprs.
cd318ce Have TypoCorrectionConsumer remember the TypoCorrections it returned.
07ccb03 Pass around CorrectionCandidateCallbacks as unique_ptrs so TypoCorrectionConsumer can keep the callback around as long as needed.
ebbcfcf Add the initial TypoExpr AST node for delayed typo correction.
c29b021 Move TypoCorrectionConsumer into a header.
7cb454a clang-format: Don't break after very short return types.
f875464 clang-format: improve vim integration docs
f52b29d clang-format: Fix bad merging of lines in nested blocks.
f4f6633 Speed up clang-tidy when profiling in on.
29cb0a5 Allow thread sanitizer in clang driver on FreeBSD http://reviews.llvm.org/D5999
48f2aaa clang-format: [Proto] Change formatting text-formatted options.
c6660a2 Prune CRLF.
be6e76b Revert rL220675 due to failures on check-clang
fb7c59b Allow thread sanitizer in clang driver on FreeBSD Differential Revision: http://reviews.llvm.org/D5994
f898c18 Fix unicode chars into ascii in comment lines.
ef05fdb Fix 80-column and other odd formatting.
0273eb0 Make VFS and FileManager match the current MemoryBuffer API.
a877a4c ModuleMap.cpp: fix Windows build, take 2
94169fb ModuleMap.cpp: fix VS2012 build
f3a911f Delete unused method and clangAST dependency it required.
9f8b92d ModuleMap::addHeader(): Appease msc17.
bc43c54 Driver: reduce search logic duplication
778421d test: attempt to make test more hermetic
80d2bb1 Driver: assume that all architectures are supported for libstc++
c58c5c9 Lex: Fix an invalid access into a SmallString
26951a4 Update for LLVM api change.
b3dff4d Make this test a bit stricter by checking clang's output too.
6ffe87b CodeGen: Don't form weak dllexport aliases
2905e06 test: correct an overzealous search-and-replace
d18dc4d CodeGen: correct materialize temporary aggregates in ARC mode
8667dd9 [modules] Support combining 'textual' with 'private'.
6e54638 Itanium ABI: Template template parameters are usable as substitutions
d31d4ee CodeGen: trivial conversion to range based loop
c9b086a test: add -std=c++11
4448622 CodeGen: GLValue exprs in template parameters should have reference type
19085c8 Fix windows-cross.c test on my machine
cb348a9 Add frontend support for __vectorcall
618ea90 Use enumerators instead of hardcoded integers when processing macro names.
d364fc8 [Modules] Free modules that failed signature verification.
a15aef2 [mips] Mark aggregate arguments passed in registers with the inreg attribute
8e80dfd [mips] Promote all integral/enumeration types to the GPR width
f0422ce Fix initializing TypeOfTypeLoc
517e872 ASTMatchers: Peel off a layer of indirection from true matcher. NFC.
fc1b3c6 ASTMatchers: for-rangify loops. No functionality change.
a086538 Add arguments() to CXXConstructExpr so the same interface as with CallExpr can be used.
ab4a7c2 Report when a function-try-block does not return a value on all control paths. Fixed PR14620.
a975788 [Thumb] Clang thinks "char" is signed when using a thumb triple
12b192a [CMake] clangRewrite: Roll back clangAST in libdeps, due to clang::Stmt::printPretty().
be35008 Driver: add missed file from previous commit
7df4069 Driver: add CrossWindowsToolChain
81eedfd Add a new -fmerge-functions -cc1 flag that enables function merging.
2ca2abc Don't emit strong vtable definitions for imported classes with key functions (PR21355)
d881bec Driver: Include driver diagnostics when we --serialize-diagnostics
7b84269 [modules] Simplify reading of INPUT_FILE_OFFSETS record and make it robust against changes to record order.
0546741 Factor out common checks from module map deserialization. No functionality change.
b5c2b7f clang-format: Fix incorrect space after "<".
6293d96 Remove code duplication and cut dependency from clangRewrite on clangAST.
f05cbec patch to issue warning on comparing parameters with nonnull attribute when comparison is always true/false. Patch by Steven Wu with few fixes and minor refactoring and adding tests by me. rdar://18712242
854931f Add a "signature" to AST files to verify that they haven't changed
c7fcc10 DebugInfo: Correctly describe the lexical decl context of static member variable definitions.
e304ebc Revert accidentally-committed files in r220460.
5a97e52 Refactor implementation of 'exclude header'.
0ca6029 Fix covered-switch warning.
c6bf385 Revert r218541 - Don't link in sanitizer runtimes if -nostdlib/-nodefaultlibs is provided.
1183ce5 Update the documentation for API change to CreateASTConsumer the rest of the way.
c144746 Test files I forgot to svn add in r220448.
180484a [modules] Add support for 'textual header' directives.
81627cd Basic: Add ext_delete_void_ptr_operand to -Wdelete-incomplete

git-subtree-dir: llvm/tools/clang
git-subtree-split: cbe3082f832be687626191d4b310db53855d7021
Merge with Clang.
Squashed 'llvm/tools/lldb/' changes from c5a7aed..4426eaa

4426eaa Add recognition for another x86 epilogue sequence (ret followed by a nop).  Fixes an instruction stepping problem when trying to step over the final instructions of an epilogue. <rdar://problem/18068877>
8cee0d7 Add one extra sanity check to RegisterContextLLDB::TryFallbackUnwindPlan so it doesn't try the arch default if a comiler-generated (eh_frame, compact unwind info) based unwind plan has failed.
d586c11 Back out r221229 -- instead of trying to identify the end of the unwind, let's let lldb try the arch default unwind every time but not destructively -- it doesn't permanently replace the main unwind method for that function from now on.
8b71342 Fix one more [-Werror,-Winconsistent-missing-override] error.
53f1a6c Fix a bunch of [-Werror,-Winconsistent-missing-override] errors.
a67c69a After we've completed a full backtrace, we'll have one frame which is "invalid" -- it is past the end of the stack trace.  Add a new method IsCompletedStackWalk() so we can tell if an invalid stack frame is from a complete backtrace or if it might be worth re-trying the last unwind with a different method.
fc525bf Fixed SBTarget::ReadMemory() to work correctly and the TestTargetAPI.py test case that was reading target memory in TargetAPITestCase.test_read_memory_with_dsym and TargetAPITestCase.test_read_memory_with_dwarf.
f263db2 Added a test case for reading ivars from the Objective-C runtime.  We'll need to do more (subclasses, partially-defined classes, etc.) but this tests that at least the basics work.
704b3cc Implement a framework for live debugging on Windows.
4d8573a Fix this test to set a breakpoint at the correct location that will always get hit so it doesn't intermittently fail on MacOSX.
a86c5db Fixed a test suite error on MacOSX where people were using ".data" as the data section name for all file formats. Instead fix the test by finding the section by section type so the test is agnostic to the file format (and passes on MacOSX).
82cdb59 Fixed a test suite error on MacOSX where people were using ".data" as the data section name for all file formats. Instead fix the test by finding the section by section type so the test is agnostic to the file format (and passes on MacOSX).
bc891cd The change previously committed as 220983 broke large binary memory reads. I kept the "idx - 1" fix from 220983, but reverted the while loop that was incorrectly added.
c8234b9 Fix the Makefile build by actually building ABI/SysV-ppc
0bed5f4 Update for LLVM API change in r221024
c5b609a Use kern.proc.auxv to get the aux data
685bded Complete the superclass type when completing an Objective-C class type.
3df0b36 TOT broken by R220956 - Differential Revision: http://reviews/llvm.org/D6066
09a8d1f Always transmit SIGPROF back to the inferior.
9d4a9bf SBAddress currently *may* have an Address object or it may not. If it has an Address object, it is assumed to be Valid. Change SBAddress to always have an Address object and check whether it is valid or not in those case.
0b78878 commit on behalf of Oleksiy Vyalov Fix junk content handling within GDBRemoteCOmmunication::CheckForPacket  1. Avoid removing of an extra symbol from m_bytes.  2. iterate over m_bytes until useful content is found.  Differential Revision: http://reviews.llvm.org/D6042
2f8fb72 In ValueObjectDynamicValue, trust what comes from the runtime rather than trying to fix it up, because now those types have ivars regardless of whether they come from "frame variable" or from expressions.
4956d1e Updated the Objective-C runtime type vendor to load ivars into classes that are reported to the Objective-C runtime.
1ba00ff - Fixed a bug where ::Describe for class descriptors   would fail if the class had no ivars.
360f67e - Use "for_expression" rather than "allow_unknownanytype"   to indicate that we're doing stuff for the expression   parser.
9fa172a Fix some bugs from D5988
99a5bf8 Update default disassembly format string so we get better output when we don't have any symbol name. It looked like this:
bbac67b Update xcode project file to build new ppc files.
ac8b51e First cut of PowerPC(64) support in LLDB.
9628a42 Get the correct process architecture in ProcessKDP::DidAttach().
cc721a4 Remove #include <codecvt>.  It isn't supported on all compilers.
27d9633 Also port the C string reading code in ValueObject over to using StringPrinter API
a26c705 Remove hex character number from wchar_t test
a6925d7 Fix CMake build, adding StringPrinter.cpp from r220894
96de6cd Start adopting the StringPrinter API. The StringPrinter API is the new blessed way of printing strings that supports escaping non-printables, and has better handling of different UTF encodings
83267b4 Remove unused service plist.
010f1ed Add the ability for a ClangASTType to be marked as 'packed' when constructed
4f80843 Fix the NSPathStore2 data formatter to actually handle the explicit length stored inside the object. The meat of this commit, however, is a nice little API for easily adding new __lldb_autogen_ helper types to an AST context
d41f88d Temporarily disable test on FreeBSD that is asserting
7bdeaf3 Skip test that's hanging on FreeBSD until it can be investigated
461f774 Shuffle a couple of formatters around. This should fix the bug that never dies, aka rdar://15154623
95f4211 Add a few functions to SBType to handle arrays and typedefs. Fixes rdar://12675166
a074b9d Add a few words of documentation for the the $\{var.script:\} feature
405108e Add a feature where a string data formatter can now be partially composed of Python summary functions This works similarly to the {thread/frame/process/target.script:...} feature - you write a summary string, part of which is
b228f2f Added the ability to add attributes to inline testcases.  Also fixed one of the testcases to not run on the platforms that don't support Objective-C.
ad5ac1d When trying to get the element type of an array type, do not go to the canonical type, since that will strip typedefs where we want them to be preserved. Fixes rdar://15453076
ee83af3 Add breakpoint instruction byte sequences for arm to PlatformLinux::GetSoftwareBreakpointTrapOpcode.
7f6ba50 Clarify the launch style for debugserver to use. <rdar://problem/18786645>
3821e75 Add a test for setting and hitting the C++ Exception throw breakpoint.
07b727d Make sure OTHER_CFLAGS and OTHER_LDFLAGS are inherited from the Xcode project so you can easily add to the flags of all targets.
9430a2d This looks like the actual path under which the builder looks for LLDB headers, so use this path instead
19e5f1b Stub out 'close' call on m_master_fd for Windows.
875931d Skip ObjC test on FreeBSD that does not build
f4e637f Fix the TestCreateAfterAttach test for llgs-local on ptracer lock-down.
a302b82 Fix TestProcessAttach for Linux ptracer lock-down and llgs-local.
a9a3158 Fix up TestRegisters for Linux ptracer lock-down.
018cb5f Fix TestAttachResume test so it doesn't hang on Linux with ptrace lockdown.
9d54b11 Added a missing call to 'Reset'. HostThreadWindows::Join() did not call the Reset as is done by the HostThreadPosix::Join(). As a result, future call to IsJoinable() can fail.
c22a72e Fix HelloWorld attach test for Linux kernels with ptrace ancestor lockdown.
d63d903 Setting breakpoints with name mask eFunctionNameTypeBase was broken for straight C names by 220432.  Get that working again.
b99de52 Implement explicit thread stack size specification on Windows.
e0fe3d6 Remove duplicated new file content
06d5ebd Patch from ovyalov@google.com:
25d9a6e Make ProcessWindows just use Host::LaunchProcess.
679fa66 This test case should not rely on stepping behavior because that might chance due to inlining. Set breakpoints where you want them instead. Fixes rdar://18724175
8af71ee Fix a problem where an SBType was advertising its static type class even though a dynamic type was available. Solves rdar://18744420
d83bb7d Disable dsym tests on !Darwin hosts
5c7fb3c Fix code where goto jumped over local variable initialization.
a50cccd Reverting r220435. Jim Ingham and I discussed this for a bit, and we came up with a better command model for this feature

git-subtree-dir: llvm/tools/lldb
git-subtree-split: 4426eaa8b145042c984f3090d7db25fccd0597c8
Merge commit 'd2b33666337b3ce7dcf58bb0e3ec14a5011c868a' into devel
Finish merge with Clang.
Finish merge.