Squashed 'llvm/' changes from b4aafff..22559cc

22559cc test_debuginfo.pl: Make failures easier to debug by printing the debugger output.
fb4b4c1 Fix build breakage.
f41901d Object/COFF: Fix possible truncation bug.
3e552a3 Remove unnecessary copy of array_lengthof.
71f6371 AArch64: __va_list.__stack must be 8-byte aligned
fda2dfb [AArch64] Add support for TargetTransformInfo Analysis.
5c86661 [mips] Make it impossible to have UnknownABI in CodeGen and Integrated Assembler.
1e3bb3f [CMake] Move intrinsics_gen to lib/Target out of add_public_tablegen_target.
e4ede0b [CMake] intrinsics_gen: Use add_public_tablegen_target().
59f6c76 AsmParser: Disable Darwin-style macro argument expansion on non-darwin targets.
7934a2a [mips] Make mips64 the default CPU for the mips64 architecture
b584e19 Unconditionally include msan_interface.h when building with MSan.
91ba049 Added release note about making all inline assembly parsed (even for assembly output) when the integrated assembler is enabled.
a40c8a4 COFFObjectFile.cpp: Appease msvc in r201760.
46aa7fb [x86] Switch PAUSE instruction to use XS prefix instead of HasREPPrefix. Remove HasREPPrefix support from disassembler table generator since its now only used by CodeGenOnly instructions.
9ff2b33 AVX-512: added a lit test for truncate operation
143df77 AVX-512: Fixed compilation issue
6fac32b llvm-objdump/COFF: Print SEH table addresses.
ccb9864 Fix change in behaviour accidentally introduced in r201754.
08316a1 AVX-512: Assembly parsing of broadcast semantic in AVX-512; imlemented by Nis Zinovy (zinovy.y.nis@intel.com) Fixed truncate i32 to i1; a test will be provided in the next commit.
81e59b5 Object/COFF: Fix padding between CSDVersion and EditList.
7855486 Simplify the implementation of getUnderlyingObjectsForInstr, without intending to change the semantics at all.
31dd38e Add support for hashing attributes with DW_FORM_block. This required passing down an AsmPrinter instance so we could compute the size of the block which could be target specific. All of the test cases in the unittest don't have any target specific data so we can use a NULL AsmPrinter there. This also depends upon block data being added as integers.
eed3d70 Make DIELoc/DIEBlock's ComputeSize method const. Add a setSize method to actually set it in the class to avoid computing it multiple times.
0af815c Format.
644dd97 This tests DW_FORM_sdata, not DW_FORM_block. Make the test say so.
d613f18 Fix commit thinkos from splitting out patches.
f5334f2 Add support for hashing DW_FORM_sdata and a small testcase.
79069f9 Format.
9646987 Remove FIXME that had snuck in.
58e0fee Avoid collisions with Objective-C++ keywords
4c18e2e Fix typo
fccbee8 Make one statement easier to understand from post commmit feedback from a review of the previous patch that introduced this week.
3bd3f42 Expand 64bit {SHL,SHR,SRA}_PARTS on sparcv9.

git-subtree-dir: llvm
git-subtree-split: 22559cc0994c6bd7cabbe4e234be183a067b933b
Merge commit '41a8339af32e692fd677df6db70ecb155404dd04' into overhaul

Conflicts:
	llvm/include/llvm/IR/CMakeLists.txt
Squashed 'llvm/tools/clang/' changes from 06c8a76..9bce94e

9bce94e Enable MSRecordLayout in the presence of external sources.
fc40b72 Clarify comment.
c8546f8 Add TemplateSpecializationType polymorphism for hasTemplateArgument and hasAnyTemplateArgument, and (out of necessity) an isExpr matcher.
673f451 add a comment.
9c0461e2 Revert "Remove dead option." Some tests in debuginfo-tests require the system-darwin feature.
dac75e7 [CMake] Fix installation without CLANG_BUILD_EXAMPLES
0b31fa9 Remove unused diagnostic.
8d31f29 Sema: Emit a warning for non-null terminated format strings and other pathological cases.
f3f6875 Fix typo.
3734ce4 [mips] Make it impossible to have UnknownABI in CodeGen and Integrated Assembler.
880cad2 Remove really old "APPLE LOCAL" markers.
43ad7ad Get rid of obsolete addProfileRT(), generalize the relevant addProfileRTLinux() to all OS
a9e178a OpenCL: fix for the restriction on pointers to functions.
3e02f9a [CMake] clang_tablegen(AttrSpellings.inc): Prune redundant DEPENDS.
1870c2d D2843 - [OPENMP] move all clauses to a separate header
65c6714 Revert r201734 and r201742.
40011b2 Revert r201772 as it breaks things on Windows
4b32b68 Change parameter type of _mm_prefetch to "const void *".
45a0a2f Don't actually emit output in test/Headers/mmprefetch.c.
24ea232 [code-completion] Style guideline for Cocoa has custom accessor in property declarations without spaces around '='.
3a4c2a0 [libclang/python] Use a Python standard library module to create a temporary file.
6c03a38 Reverting the virtual file system implementation, because it triggers an assertion in our internal build bots.
51e10a5 [AST] Follow-up for r201468, move the check to the caller and add an assertion.
69162f0 Updated to r201734.  Removed unused declaration from lit test.
26b55ea Use llvm::DeleteContainerSeconds when possible
cfbb013 Fix two pedantic issues with our builtin headers. The __STDC_VERSION__ for C99 is '199901L' and we shouldn't be comparing it with anything else.
392b0bc Doing some temporary touch-up on the gnu namespace attribute documentation, from a post-commit review comment.
dd35301 Add _mm_prefetch and some others as MS builtins
ea8a523 Until attribute documentation is implemented as a server-side feature, I will be manually committing AttributeReference.rst so that attribute documentation can be on the live server instead of simply disappearing from the language extensions page without obvious replacement.
e2ceaea Refactored the way attribute category headers are handled so that it is possible to use custom categories. This allows for moving the consumable attributes (consumable, callable_when, return_typestate, etc) to be grouped together, with a content heading, like they were in the language extensions documentation. Moved the consumable attribute documentation from the language extensions into the attribute documentation table.
b3a4266 Remove a broken attempt to cope with someone #undef'ing __has_include_next. This was broken because __has_include_next(...) would not be valid in a preprocessor condition if __has_include_next is not defined.
8fd4888 Hook up NetBSD/sparc and NetBSD/sparc64 as and ld invocations.
88ede39 Teach Clang to provide ::max_align_t in C11 and C++11 modes.
41da969 GC now unused variable.
791ab30 Use a switch for the architecture specific logic in netbsd::Assemble::ConstructJob.
153fe11 MS ABI: Let non-virtual method overloads participate in vftable ordering
0fcf59c clang-cl: Pass /Z7 when we fallback to cl with debug info enabled
eaed9a4 Refactor -KPIC handling for as invocation.
007ef7f Moving the documentation for the ARM interrupt attribute into AttrDocs.
818173a Moving the documentation for the clang::fallthrough attribute into AttrDocs.
ebb8fd6 Added a documentation category for statement attributes so that things like clang::fallthrough can be documented.

git-subtree-dir: llvm/tools/clang
git-subtree-split: 9bce94e59ca9b2afb119f11833227ca6a4eda0ef
Merge commit 'fd2ff372962f84d73ab6d0e575f5fd70a9b3a0ce' into overhaul

Conflicts:
	llvm/tools/clang/lib/Basic/FileManager.cpp
now need -std=c++11 on linux at least