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

861e4db RegAlloc: Account for a variable entry block frequency
c0c10f2 [PowerPC] Don't return false from PPC::isVSLDOIShuffleMask
9143956 Fix the ARM VLD3 (single 3-element structure to all lanes) size 16 double-spaced registers instruction printing.
bd382db Verifier: Give the right message for bad atomic loads
35d647b Add -pass-remarks flag to 'opt'.
ccbf1d2 Add support for optimization reports.
60db02b X86MCAsmInfoGNUCOFF: Set PointerSize as 8 for targeting x64. It caused DW_LNE_set_address was misemitted on x64.
362090a ARM64: fix fmsub patterns which assumed accum operand was first
0bd8ea3 The LLVM C API shouldn't be including a file from the C++ API. Especially not a file that it doesn't use.
dbcb670 AVX-512: Added fp_to_uint and uint_to_fp patterns.
3c1f2eb Fix a (legacy) PassManager crash that occurs when a ModulePass indirectly requires a function analysis.
2424511 X86: Split the relocation selection up
ba1895c Tidy up comments a bit.
8e492b1 ARM64: Range based for loop in ARM64PromoteConstant pass
2ed7157 ARM64: Clean up file header comment a bit.
de6256c obj2yaml: Use the correct relocation type for different machine types
b9a65fd [docs] Fix some links
ba9e79f [docs] Update link title
71e245c [docs] Fix some Sphinx warnings that have crept in.
bb0572a Reverting commit r205628 due to mips64 issues.
7f72633 Put a limit on ScheduleDAGSDNodes::ClusterNeighboringLoads to avoid blowing up compile time.
1d8c7eb R600/SI: Handle INSERT_SUBREG in SIFixSGPRCopies
5c9bb71 R600: Match 24-bit arithmetic patterns in a Target DAGCombine
dd2d430 R600: Replace dyn_cast + assert with cast
4db84a0 Remove an unused file.
9583b2c When a CHECK-NEXT fails because there was no match on the next line, include the non-matching next line in the diagnostic to make the problem more obvious.
939ec85 Use std::swap
e3e086e Use .data() instead of &x[0]
fc3588b Invert the option to enable debug info verification. No functional change outside of the command line to enable it.
dd455fd Revert the last couple of patches here and go back to something that at least failed reliably.
9a764df Handle vlas during inline cost computation if they'll be turned into a constant size alloca by inlining.
531bece XFAIL this completely at the moment:
503334a Fix a typo in the comment.
231ed9d Add NDEBUG markers around debug only function.
c75aecc Add debug location information to the vectorizer debug statements.
4639d0c Make test run on most platforms and only fail on cygwin/mingw while it's being investigated for those.
d17a4f9 Make docs point to new domain.
a661c91 Use 'false' for a bool instead of '0'
34bc6b6e [C++11] Make use of 'nullptr' in the Support library.
b81024b Updated phabricator server.
ec8891f Changes in IntelJITEventListener - By Arch Robinson    - take->release: LLVM has moved to C++11.  MockWrapper became an instance of unique_ptr.
2e858fc Quick fix: Triple::isOSMSVCRT() should be false for targeting cygwin.
cde97ea [yaml2obj][ELF] Rename class SectionNameToIdxMap => NameToIdxMap. It can be used for indexing not only section's names.
1c41705 DebugInfo: Support namespace aliases as DW_TAG_imported_declaration instead of DW_TAG_imported_module
20384a5 [Support] Modify LockFileManager::waitForUnlock() to return info about how the lock was released.
ec37734 Remove unused parameter
fa254cb AsmParser: add a warning for compatibility parsing
b29a2b0 MachineInstr: introduce explicit_operands and implicit_operands ranges
553e400 Remove unnecessary "inline" of inline defined member functions
2a65dd3 ARM: consolidate MachO checks for ARM asm parser
b4074c0 Simplify compression API by compressing into a SmallVector rather than a MemoryBuffer
b206103 Simplify compression API by decompressing into a SmallVector rather than a MemoryBuffer
48ee81c AsmParser: restore LLVM IR compatibility for linker_private{,_weak}
2c5f72b Fixing typo.
a3cc221 Fix typo
eb22ac0 Remove unused function
d260b1b [PowerPC] Remove unused TM member variable to unbreak build
e6a5b33 [PowerPC] Adjust load/store costs in PPCTTI
cef9f7e [PowerPC] PPCTTI Cleanup
0610fb4 Minor change to StackMapLiveness DEBUG output.
a134cec Add DAG parameter to ComputeNumSignBitsForTargetNode
9121540 Fix tabs
7330dcb Update the test to use FileCheck.
f2decb2 Tidy up naming.
a1329ec [mips] Add Octeon cnMips instructions seqi/snei and v3mulu/vmm0/vmulu.
b12c642 [PowerPC] Add a full condition code register to make the "cc" clobber work
dc404ff [mips] abs.[ds], and neg.[ds] should be allowed regardless of -enable-no-nans-fp-math
659e09e DAGLegalize: add last-ditch type-legalization for VSELECT.
4a4d62b ARM64: handle v1i1 types arising from setcc properly.
148692b Fix for PR18921 (LDRD/STRD part):: Removed "GNU Assembler extension (compatibility)" definitions from ARMInstrInfo.td Fixed ARMAsmParser::ParseInstruction GNU compatability branch, so it also works for thumb mode from now. Added new tests.
0670d7e Tweak unconditional-branch.ll passing on any hosts, while investigating x86_64-mingw32.
0eb313b ARM64: use regalloc-friendly COPY_TO_REGCLASS for bitcasts
604dff2 ARM64: add 128-bit MLA operations to the custom selection code.
a669270 Fixed register class in STRD instruction for Thumb2 mode.
84f7f35 Make consistent use of MCPhysReg instead of uint16_t throughout the tree.
84c21b3 Fix spelling. Sigh.
2d8a097 ARM: Range based for-loop over block predecessors.
ab585ff Add iterator_ranges for block pred/succ.
9320345 ARM: Use range-based for loops in frame lowering.
3b2b5df [RegAllocGreedy][Last Chance Recoloring] Emit diagnostics when last chance recoloring cut-offs are encountered and register allocation failed.
cc99615 Revert r205599, the commit was not intended to have so many changes
c65a77b [RegAllocGreedy][Last Chance Recoloring] Emit diagnostics when last chance recoloring cut-offs are hit.
09ebd6d ARM: fix test case missed in previous roundup
4fd62c5 MIPS: remove vim swap file
eec7d48 Add an assert that this is only used with .o files.
7df9059 Implement getRelocationAddress for MachO and ET_REL elf files.
5ca1f95 Implement macho relocation iterators with section number + relocation number.
2abadea ARM: yet another round of ARM test clean ups
91ba0a9 Tidy up. Space before ':' in range-based for loops.
e170366 Tidy up. 80 columns.
81fb6bf Tidy up. Trailing whitespace.
6cd0131 Fix typo.
8cb805c Fix llvm-objdump crash.
67c46d2 Remove section_rel_empty. Just compare begin() and end() instead.
da7ea68 Reuse existing variable.
25540a7 Optimize away unnecessary address casts.
8921882 [ARM64] Teach the ARM64DeadRegisterDefinition pass to respect implicit-defs.
2383986 unconditional-branch.ll is broken for targeting x86_64-cygming. Add an explicit triple for now.
a746974 R600: Correct opcode for BFE_INT
50c16fb R600/SI: Lower 64-bit immediates using REG_SEQUENCE
6d394ed Revert r205551, "Attempt to XFAIL this on mingw and cygwin hosts." It didn't fail on cygming.
df34283 llvm/test/CodeGen/X86/peephole-multiple-folds.ll: Relax expressions to satisfy win32.
f04e7df Attempt to XFAIL this on mingw and cygwin hosts. The line table on these is very much off and is more than just the branch from this bug incorrect:
1fcd561 Fix PR19270 - type mismatch caused by invalid optimization.
1c36a6d Loosen up check so that we can pass on platforms that generate slightly more verbose than needed line tables, e.g.:
5fe5b3d ARM: update even more tests
d5ba2d2 ArrayRef: use std::vector::data() now that we are building in C++11 mode
27b1252 ARM: fixup more tests to specify the target more explicitly
d5561bb ARM: tell LLVM about zext properties of ldrexb/ldrexh
769a6f2 [mips] Add negative tests confirm that supported ISA's don't allow instructions added in later ISA's
8750f9a [mips] Implement ehb, ssnop, and pause in assembler
3eb8765 ARM: skip cmpxchg failure barrier if ordering is monotonic.
4d24300 Implementation of 16-bit microMIPS instructions MFHI and MFLO. Differential Revision: http://llvm-reviews.chandlerc.com/D3141
8ef79fa [mips] Add initial (experimental) MIPS-IV support.
0b6dffa Fix for PR 19261:
60f5dfe MicroMIPS specific little endian fixup data byte ordering. Differential Revision: http://llvm-reviews.chandlerc.com/D3245
badb137 ARM: expand atomic ldrex/strex loops in IR
37e5cfa PR19320: The trouble as in ARMAsmParser, in ParseInstruction method. It assumes that ARM::R12 + 1 == ARM::SP. It is wrong, since ARM::<Register> codes are generated by tablegen and actually could be any random numbers.
3f11cd0 [ARM] When generating a vpaddl node the input lane type is not always the type of the add operation since extract_vector_elt can perform an extend operation. Get the input lane type from the vector on which we're performing the vpaddl operation on and extend or truncate it to the output type of the original add node.
1091437 [mips] Extend MipsMCExpr class to handle %higher(sym1 - sym2 + const) and %highest(sym1 - sym2 + const) relocations. Remove "ABS_" from VK_Mips_HI and VK_Mips_LO enums in MipsMCExpr, to be consistent with VK_Mips_HIGHER and VK_Mips_HIGHEST.
107283d ARM64: add regression test for r205519.
27d489f ARM64: always use i64 for the RHS of shift operations
b8c20fd ARM: Use __STACK_LIMIT symbol for segmented stacks
c8ce967 Stack map docs. Remove some stray markup.
b642eb5 ARM64: don't generate __sincos_stret calls unless on MachO
3b8ad82 Minor update to the stack map documentation.
1233d41 DebugInfo: Use a 64 bit type for the subrange
5a64ab6 [CodeGen] Fix peephole optimizer bug introduced in r205481. Fixes PR19318.
46aa8c8 Handle getting UnknownAddressOrSize or section_end().
051c948 Implement get getSymbolFileOffset with getSymbolAddress.
3539519 Remove getSymbolValue.
2f913e3 Add support for the R_ARM_ABS32 relocation.
ee2bf5b Only clear the thumb bit from function addresses.
96b8168 Simplify ELFObjectFile<ELFT>::getSymbolAddress.
7fce127 Revert "[Constant Hoisting] Lazily compute the idom and cache the result."
d68b03b Account for scalarization costs in BasicTTI::getMemoryOpCost for extending vector loads
14ae434 Revert "Fix a nomenclature error in llvm-nm."
1498cee Fix test case.
d285bea [X86] As per suggestion from Craig Topper and Hal Finkel, override TargetInstrInfo::findCommutedOpIndices to enable VFMA*231 commutation, rather than abusing commuteInstruction.
9263e6f Fix multi-register costs in BasicTTI::getCastInstrCost
a18ad69 Add test case for [Constant Hoisting] Erase dead cast instructions (r204538).
3b96414 ARM Linux support
ed2154b [CodeGen] Teach the peephole optimizer to remember (and exploit) all folding opportunities in the current basic block, rather than just the last one seen.
5a61b72 Fix a nomenclature error in llvm-nm.
d7e2a48 Add ability to disable building LLVM utils
1fb3df7 [PowerPC] Make PPCTTI::getMemoryOpCost call BasicTTI::getMemoryOpCost
75cea2c Add comments and test case for [DAG] Keep the opaque constant flag when performing unary constant folding operations (r204737).
e2ed923 typo
b1b4d08 [X86] Make the VFMA*231 variants commutable and relax the alignment restrictions on FMA3 memory operands. FMA3 instructions are VEX encoded, so they can load from unaligned memory.
3845c07 Revert "Reapply "LTO: add API to set strategy for -internalize""
172e0ca Add comments and test case for [X86TTI] Make constant base pointers for GetElementPtr opaque (r204739).
6d4e5ab ARM: fixup tests to specify the target more explicitly
5b10f87 Add test case for [Stackmaps][X86TTI] Fix think-o in getIntImmCost calculation (r204738).
396e5e3 ARM: update subtarget information for Windows on ARM
bc413d6 Make a few more range-based loops use explicit types.
04194e0 Add back an assert that was lost in the ELFObjectFile.h split.
adb852d TargetLibraryInfo: Disable memcpy and memset on R600
bc07242 Simplify resolveFrameIndex() signature.
acb6d98 ARM: cortex-m0 doesn't support unaligned memory access.
b4e30b3 Make some range based loop types more explicit.
b96fc4a [mips] Add more Octeon cnMips instructions
6408bdc [C++11,ARM64] Range based for and explicit 'override' in STP cleanup.
252303f [C++11,ARM64] Range based for loops in constant promotion.
72ca0bf [C++11,ARM64] Range based for loops in load/store pair optimizer.
8c60cf1 [C++11,ARM64] Range based for loops in target lowering.
cbc64ac [C++11,ARM64] Range based for loops in frame lowering.
7e2d11d [C++11,ARM64] Range based for loops in pseudo expansion.
4d59fd9 [C++11,ARM64] Range based for loops for LOH
86ae767 [C++11,ARM64] Range based for loops TLS cleanup.
5e2ab67 [C++11,ARM64] Range based for loops in branch relaxation.
68c1508 [C++11,ARM64] Range based for loops in address type promotion.
a508459 [ARM64][CollectLOH] Remove the link to the radar from the comments.
be2ec9b [yaml2obj][ELF] Convert some static functions into class members to reduce number of arguments.
4fd30e7 [yaml2obj][ELF] Remove unused typedef.
38ac43b [yaml2obj][ELF] Move section index to the ELFState class.
dd7918c [yaml2obj][ELF] Remove relationship between ELFState and ContiguousBlobAccumulator classes. Pass ContiguousBlobAccumulator to the handleSymtabSectionHeader function directly.
af48fc4 ARM: Add support for segmented stacks
5524d78 clarify comment
f1d7924f fix a comment to use ASCII aprostrophes.
6584d94 ARM64: use GOT for weak symbols & PIC.
671c92d ARM64: fix lowering of fp128 fptosi/fptoui
24e78e0 SLPVectorizer: compare entire intrinsic for SLP compatibility.
3844cad ARM64: make sure first argument to INSERT_SUBVECTOR has right type.
87e8241 ARM64: convert fp16 narrowing ISel to pseudo-instruction
4e7ec2b Mark FPB as a reserved register when needed.
5d853bf Work around gold bug http://sourceware.org/PR16794.
421397a Remove duplicated DMB instructions
9ee14e3 Added isTargetWindowsMSVC(), renamed isTargetMingw() to isTargetWindowsGNU() and isTargetCygwin() to isTargetWindowsCygwin() to be consistent with the four Windows environments in Triple.h.
081e6fc [LoopVectorizer] Count dependencies of consecutive pointers as uniforms
d486d10 Adjust comments regarding non-relocated abbrev offset in debug_info.dwo
5b8e479 Split debug_loc and debug_loc.dwo emission into two separate functions
b2d73d1 DebugInfo: Introduce DebugLocList to encapsulate a list of DebugLocEntries and an MC Label to refer to them
91b97cc [ARM64][CollectLOH] Add some comments to explain how the LOHs framework works (for the compiler part), since the design document is not available.
45063c0 Add a doxygen comment to DebugLocEntry::Merge.
132285a DebugLocEntry: Actually merge the loc entry when returning true.
0afa71e Fix accidental fallthrough in DebugLocEntry::hasSameValueOrLocation
2e33edd Remove unused function DebugLocEntry::isEmpty
e8ef651 Refactor out the comparison of the location/value in a DebugLocEntry
e8907d6 Add inequality operator for MachineLocation.
e061a36 DebugInfo: Split DebugLocEntry into its own file.
2f1e347 Add a comment about the DIDescriptor class hierarchy.
ccd5392 DwarfDebug: Prevent DebugLocEntry merging from coalescing two different constants into only the first one.
4a6c0af [PowerPC] Add some missing VSX bitcast patterns
f2dc47c If isKnownWindowsMSVCEnvironment then getOS == Triple::Win32 and Environment == Triple::MSVC so it will never be MinGW or Cygwin.
e30aa95 Implement X86TTI::getUnrollingPreferences
0d5c062 Add some additional fields to TTI::UnrollingPreferences
a7a02cb Use TopTTI->getGEPCost from within getUserCost
54c55ed [mips] Add Octeon cnMips instructions mtmX and mtpX
f319a2c Support segmented stacks on Win64
a173c01 Fix missing RUN line in test
bec4ff5 isTargetWindows() renamed to isTargetKnownWindowsMSVC() to reflect its current functionality.
eb8eac6 Make isSetCCEquivalent respect the TargetBooleanContents
1ff5f1a Add helpers for checking if a value is a target boolean constant.
6b10f3a DebugInfo: Factor out common functionality for rendering debug_loc and debug_loc.dwo location list entries
6817d33 Cleanup remaining use of removed variable to fix the build
fabe5ce Simplify debug_loc.dwo handling slightly.
3a64202 ARM: rename ARMle/ARMbe with ARMLE/ARMBE, and Thumble/Thumbbe with ThumbLE/ThumbBE
cb68a2e ARM: teach LLVM that Cortex-A7 is very similar to A8.
77d7651 Attempting to fix r205124, which had failed asserts when built with MSVC.
c077472 ARM: add cyclone CPU with ZeroCycleZeroing feature.
279edf9 [mips] Renamed ParseAnyRegisterWithoutDollar to MatchAnyRegisterWithoutDollar
5570517 Fixing an MSVC warning about widening the result of a 32-bit shift implicitly. No functional change intended.
ed83912 ARM64: add intrinsic for pmull (p64 x p64 = p128) operations.
103683c Fixing warnings in the MSVC build. No functional changes intended.
f2452c4 [mips] Extend ParseJumpTarget to support the full symbol expression syntax.
1302349 [mips] Use AsmLexer::peekTok() to resolve the conflict between $reg and $sym
382fb96 [mips] Hoist Parser.Lex() calls out of MatchAnyRegisterNameWithoutDollar()
acfb679 ARM64: add patterns for more lane-wise ld1/st1 operations.
233c567 ARM64: fix bug in ld3r (1d) SelectionDAG.
bd48d31 [mips] Rewrite MipsAsmParser and MipsOperand.
a5b283a Recover TableGen/LangRef, make it official
1d75829 [x86] Do not convert to cmp32 for Atom arch by Sergey Okunev
a07c1ab DebugInfo: Avoid creating unnecessary/empty line tables and remove the special case of '0' in DwarfCompileUnit::initStmtList by just always using a label difference
5b2de5d DebugInfo: Emit relocation to debug_line section when emitting asm for asm
75b7b95 Remove FIXMEs. The scope of a Variable is always a lexical scope; there is nothing to be gained from switching this over to a DIScopeRef.
1a2786b LTO type uniquing: store the Decl field of a DIImportedEntity as a DIRef. No other functionality changes, DIBuilder testcase is included in a paired CFE commit.
e977127 Add a comment about type-uniquing ObjC types.
e94fe04 Comment to describe the debug_loc.dwo constants
442c61d MCJIT: ensure that cygwin is identified properly
6bbb01b Move partial/runtime unrolling late in the pipeline
3021734 lit: Set a base directory for compiler-rt tests
694365f Revert "SLPVectorizer: Ignore users that are insertelements we can reschedule them"
d734494 Shifting into the sign bit is UB as discussed on IRC. Explicitly use the BitWord type for the constants to avoid this.
d8c9577 [Stackmaps] Update the stackmap format to use 64-bit relocations for the function address and properly align all entries.
4ffbb65 [X86] Adjust cost of FP_TO_UINT v4f64->v4i32 as well
c779918 R600/SI: Remove leftover pattern splitting 64-bit ors.
c7e0a81 Register allocator: set CSRFirstUseCost to 5 for ARM64.
8d8c507 Change shouldSplitVectorElementType to better match the description.
f2529ba Fix MSVC warning.
4065ed4 R600/SI: Implement shouldConvertConstantLoadToIntImm
1523211 Add an optional ability to expand larger BUILD_VECTORs with shuffles
193c3e9 R600: Compute masked bits for min and max
c298307 Don't relocate with sections if there might be a paired relocation.
1c056d8 Revert: [mips] Rewrite MipsAsmParser and MipsOperand.' due to buildbot errors in lld tests.
828bfc7 R600: Add BFE, BFI, and BFM intrinsics to help with writing tests.
894fa80 R600: Add target nodes for BFM and BFI
171d09a ARM: fix typo
524b776 Now that this test is assembly, make the checks a bit stronger.
e2b3751 [PowerPC] Don't ever expand BUILD_VECTOR of v2i64 with shuffles
adbf976 Add a TLI hook to control when BUILD_VECTOR might be expanded using shuffles
8f7dc89 [mips] Rewrite MipsAsmParser and MipsOperand.
5fa58a5 Disable each MachineFunctionPass for 'optnone' functions, unless that pass normally runs at optimization level None, or is part of the register allocation pipeline.
b6f3f9b Two updated tests for MinGW 32 and 64 exception handling code generation.
3f784d8 [PowerPC] Correct P7 dispatch unit allocation for vector instructions
5ca1ddf This patch fixes LTO's RecordStreamer so that it records symbols in the MCExpr part of an asm .symver directive as being used. This prevents referenced functions from being internalized and deleted.
bd5fac5 Support: generalise object type handling for Windows
93f807b PR19099 - revert r203483
96a6e3b ARM: change parameter names of the ELFARMAsmBackend constructor
fe6e1e9 Test commit.
775a94f [mips] Fix use of uninitialized value reported by the sanitizer-x86_64-linux-bootstrap buildbot
416a0e9 Fix for PR19099 - NVPTX produces invalid symbol names.
93b3fca ARM64: add extra patterns for scalar shifts
812a174 ARM64: add extra scalar neg pattern & tests.
b35ffdf ARM64: add patterns for scalar sqdmlal & sqdmlsl.
9542846 ARM64: add more patterns for commuted fmsub operations.
4417e07 ARM64: shuffle patterns around for fmin/fmax & add tests.
576c3f7 ARM64: add more scalar patterns for usqadd & suqadd.
13277a7 ARM64: add more scalar patterns for reciprocal ops.
8f93e15 ARM64: add i64 scalar pattern for @llvm.arm64.abs
e7c7ba0 [mips] Implement missing relocations in the integrated assembler.
857d651 [mips] Remove R_MIPS_GOT which isn't used and shares the same number as R_MIPS_GOT16
1df2ed2 Revert r205194 - [mips] Removed R_MIPS_GOT. It's identical to   R_MIPS_GOT16.
1200528 [mips] Removed R_MIPS_GOT. It's identical to R_MIPS_GOT16.
1c289ab Capitalize the D in parseDirectiveGpDWord.
9982159 Remove unused private typedef
aa23732 R600/SI: Implement SIInstrInfo::isTriviallyRematerializable()
1f143aa R600/SI: Lower i64 SELECT by bitcasting to a vector type
1eaaa94 R600/SI: Return the correct index for VGPRs in getHWRegIndex()
077aa54 Fixed issue with microMIPS JAL instruction. Differential Revision: http://llvm-reviews.chandlerc.com/D3200
6889086 llvm/test/MC/Mips/mips64r2/valid-xfail.s: This REQUIRES asserts. Seems it doesn't fail with -Asserts.
5900e1d [mips] Added a full set of instruction test cases for all ISA's (but not ASE's).
65fafbb Look at shuffles of build_vectors in DAGCombiner::visitEXTRACT_VECTOR_ELT
dd67fd6 [mips] Check emitted code for llvm.bswap.i32 on MIPS16/MIPS64 and llvm.bswap.i64 on MIPS16.
2357a94 ARM64: fix a couple of signed/unsigned comparison warnings.
002ba57 [yaml2obj] Add support for ELF e_flags.
2856060 Try to fix MSan bootstrap bot: make ARM64Disassembler::getInstruction() always initialize Size argument.
358d68d Correct OS conditionals following r204977 and r204978.
379e2cf [C++11] Mark more classes in the X86 target as 'final'.
50f8308 Mark a couple of the X86 target classes as final. Allows the compiler to de-virtualize some internal calls.
94821ac ARM64CollectLOH.cpp: Tweak \param. [-Wdocumentation]
2530cd3 [ARM64] Fix materialization of an fp128 zero immediate. There currently is not a pattern to lower this with clever instructions that zero the register, so restrict the zero immediate legality special case to f64 and f32 (the only two sizes which fmov seems to directly support). Fixes backend errors when building code such as libxml.
cb18007 [X86] Adjust cost of FP_TO_UINT v8f32->v8i32
b173d9e PR18929: According to ARM assembler language hash symbol is optional before immediates. For example, see here for more details: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473j/dom1359731154529.html
111bcf9 Make use of previously generated stores in SelectionDAGLegalize::ExpandExtractFromVectorThroughStack
2afefa2 llvm/test/MC/ELF/nocompression.s: Loosen an expression to match "llvm-mc.EXE".
ee8e48d [PowerPC] Handle VSX v2i64 SIGN_EXTEND_INREG
368a977 [Allocator] Lift the slab size and size threshold into template parameters rather than runtime parameters.
0331a89 [Allocator] Simplify unittests by using the default size parameters in more places.
7c5042f [Allocator] Stop forward-declaring BumpPtrAllocator in a few places. This is a necessary step to lifting some of its configuration into template parameters rather than runtime parameters.
6da21c0 Don't mark the declarations of the TSan annotation functions as weak. That causes references to them to be weak references which can collapse to null if no definition is provided. We call these functions unconditionally, so a definition *must* be provided. Make the definitions provided in the .cpp file weak by re-declaring them as weak just prior to defining them. This should keep compilers which cannot attach the weak attribute to the definition happy while actually resolving the symbols correctly during the link.
1f408b1 [ARM64] Fix a heap-use-after-free spotted by ASan.
bcf0c5f ARM64: uncopy/paste helper function
1eaafd7 ARM64: remove unused variables
e69ff5b ARM64: remove -m32/-m64 mapping with ARM.
c31891e ARM64: override all the things.
b52cb5e Support: correct Windows normalisation
a60d50c Suppress llvm/test/CodeGen/ARM64 for targeting pecoff. ARM64 is unaware of that.
5c153c0 llvm/test/Transforms/LoopStrengthReduce/ARM64/lsr-*.ll: Add explicit triple arm64-unknown for targeting pecoff.
5de8a15 X86Subtarget.h: isTargetWindows() should tell whether he is targeting msvc.
79300d8 [MC] Remove an unused (and broken) variant of the setupForSymbolicDisassembly method in MCDisassembler.
b926af7 [PBQP] Move invalid graph nodeId/edgeId methods into base class.
f646be1 Add a missing break.
4a9804a Support: normalize the default triple on Unix
6c449e8 Remove dead declarations.
0d71a03 Remove outdated comment.
39d0be5 Fix a few -Wdocumentation warnings
190e0a1 Detemplatize LOHDirective.
17576b2 ARM64: Remove unused helper function, make others static.
abe43b5 tblgen: Twinify PrintFatalError.
6908435 TableGen: don't save a StringRef to a local std::string.
70c25ab Avoid storing Twines.
7563821 [PowerPC] Handle v2i64 comparisons
e2c0b61 ARM64: format register strings without creating a local Twine.
a68f166 llvm-mc: Fix build breakage caused by r205050.
3873f82 [PowerPC] VSX instruction latency corrections
3fed2f1 Recommitted fix for PR18931, with extended tests set. Issue subject: Crash using integrated assembler with immediate arithmetic
9f36b66 ARM64: use 64-bit constant even on 32-bit machines
88ac45f ARM64: change format specifier to work on 32-bit targets
3734a33 [ARM64] Fix 'assert("...")' to be 'assert(0 && "...")'. Otherwise, it is no assert at all. ;] Some of these should probably be switched to llvm_unreachable, but I didn't want to perturb the behavior in this patch.
7b837d8 ARM64: initial backend import
69bd957 TableGen: avoid dereferencing nullptr variable
483b0e9 CodeGen: add sensible defaults for the ISD::FROUND operation
bc702ae MC-exceptions: add support for compact-unwind without .eh_frame
1db780b CodeGenPrep: wrangle IR to exploit AArch64 tbz/tbnz inst.
8a272f0 MC: add a RefKind field to MCValue
1330ee3 MachO: Add linker-optimisation hint framework to MC.
0301154 MachO: actually set linker-private prefix at MC level.
c5d592d MachO: allow each section to have a linker-private symbol
42529ad Make GetCPISymbol a virtual method.
7c3e057 Intrinsics: add LLVMHalfElementsVectorType constraint
224dbf4 Completely rewrite ELFObjectWriter::RecordRelocation.
44b2b9d [PowerPC] Add subregister classes for f64 VSX values
c06afdc Windows: canonicalise the default windows triple
b3cb360 [x86] Fix printing of register operands with q modifier.
1fc0d63 Debug Compression: Avoid compression debug_frame for now
f3e8b05 X86: Disable IsLegalToCallImmediateAddr for Win32
8a21cb2 Add missing include (for r205050)
4a9c258 llvm-mc: error when -compress-debug-sections is requested and zlib is not linked
0e11c01 [PowerPC] Fix VSX permutation isel
efd9548 Convert one last llc -filetype=obj test.
c9de9e6 [PowerPC] v2[fi]64 need to be explicitly passed in VSX registers
5811e45 Convert llc -filetype=obj test.
24845fb Convert llc -filetype=obj test.
830ce8a Remove bogus test.
e3b7d02 Convert another llc -filetype=obj test.
a655710 Support: Functions for writing endian specific data to streams.
a53735b Map ELf flags back to more specific section kinds.
be560a3 Parse .gpdword and convert another llc -filetype=obj test.
904658f convert another llc -filetype=obj test.
6b63578 Convert "llc -filetype=obj" test into llvm-mc tests.
ce36237 SLPVectorizer: Take credit for free extractelement instructions
aa0a2a3 SLPVectorizer: Fix typos
b48eb2c SLPVectorizer: Ignore users that are insertelements we can reschedule them
e259168 Exception handling docs: Clarify how the llvm.eh.* intrinsics are used
b91f511 Only test compression when linked with zlib.
ffc7e0f Add const to a method I missed in the previous commit.
3a2bbc9 Add const.
76eb786 Revert "InstCombine: merge constants in both operands of icmp."
cc58a59 Revert "GVN: merge overflow intrinsics with non-overflow instructions."
1f072c3 Add ARM big endian Target (armeb, thumbeb)
bd2cca7 R600: avoid calling std::next on an iterator that might be end()
b7de428 Intrinsics: expand semantics of LLVMExtendedVectorType (& trunc)
efb8deb [Allocator Cleanup] Sink the private data members and methods to the bottom of the interface to make it easier to scan and find the public API.
0e4c26e [Allocator Cleanup] Move generic pointer alignment helper out of an out-of-line private static method and into the collection of inline alignment helpers in MathExtras.h.
415a008 [Allocator Cleanup] Make the growth of the "slab" size of the BumpPtrAllocator significantly less strange by making it a simple function of the number of slabs allocated rather than by making it a recurrance. I *think* the previous behavior was essentially that the size of the slabs would be doubled after the first 128 were allocated, and then doubled again each time 64 more were allocated, but only if every allocation packed perfectly into the slab size. If not, the wasted space wouldn't be counted toward increasing the size, but allocations over the size threshold *would*. And since the allocations over the size threshold might be much larger than the slab size, this could have somewhat surprising consequences where we rapidly grow the slab size.
ec90ab4 [cleanup] Hoist the initialization and constants for slab sizes to the top of the default jit memory manager. This will allow them to be used as template parameters rather than runtime parameters in a subsequent commit.
2559cde PBQP: Minor cleanups to r204857
cf6f4c8 C++11: convert verbose loops to range-based loops.
e2ee98a [PowerPC] Use a small cleanup pass to remove VSX self copies
d9524d6 Provide a target override for the cost of using a callee-saved register for the first time.
2ea701e Canonicalise Windows target triple spellings
be77894 [PowerPC] Don't remove self VSX copies in PPCInstrInfo::copyPhysReg
d21857c Temporarily remove assert while I dig in to issues that it's causing for LLDB.
e159d3e Revert "[C++11] Do not check __GXX_EXPERIMENTAL_CXX0X__."
d5f800a [X86][Vector Cost Model] Add a comment to explain the workaround in my previous commit (r204884).
6bdc4eb [PowerPC] Fix v2f64 vector extract and related patterns
72f0f26 [C++11] Do not check __GXX_EXPERIMENTAL_CXX0X__.
276d854 [PowerPC] Expand v2i64 shifts
b5e6ddc Register Allocator: refactoring and add comments.
74dcb03 Remove another unused argument.
b0a50a3 Win installer: provide a pretty icon
0a0c4cc DebugInfo: Support for compressed debug info sections
8040d49 DebugInfo: TargetOptions/MCAsmInfo support for compressed debug info sections
0c0cd3a Remove unused argument.
63b11ef InstCombine: Don't combine constants on unsigned icmps
0c6d96c R600: Implement isZExtFree.
94687c0 R600/SI: Fix unreachable with a sext_in_reg to an illegal type.
decb7e6 [mips] Some uses of isMips64()/hasMips64() are really tests for 64-bit GPR's
3b0efb2 [AArch64] Lower SHL_PARTS, SRA_PARTS and SRL_PARTS
f165cf7 Prevent alias from pointing to weak aliases.
16dc6ed [mips] Attempting to use register $32 should be an error instead of an assertion.
aebc63a The forward declare should be a struct instead of a class (to be consistent with the definition, as well as to silence an MSVC C4099 warning).
743cf74 [mips] Add support for .cpsetup
38899fc [mips] The decision between GOT_DISP and GOT16 for global addresses depends on ABI rather than MIPS64
4588982 Split the file MipsAsmBackend.cpp in Split the file MipsAsmBackend.cpp and Split the file MipsAsmBackend.h. Differential Revision: http://llvm-reviews.chandlerc.com/D3134
6ac86cf All new elements except the last one initialized to NULL. Ideally, once parsing is complete, all elements should be non-NULL. To safe-guard BitcodeReader, this patch adds null check for all access to these list. Patch by Dinesh Dwivedi!
0d81174 [mips] Remove unused private field.
ea28b32 [mips] NaCl should now use the custom MipsELFStreamer (recently added) in spite of MCELFStreamer.
7123b1a [mips] Implement custom MCELFStreamer.
c112990 Untabify.
2b8b903 SmallVector<3> may be used here.
da56c39 IRTests/InstructionsTest.cpp: Avoid initializer list.
668c2aa InstCombine: merge constants in both operands of icmp.
5fa6dff [mips] Stop caching the result of hasMips64(), isABI_O32(), isABI_N32(), and isABI_N64() from MipsSubTarget in MipsTargetLowering
a7a255f [cleanup] Run clang-format over these routines to remove formatting differences from subsequent diffs, and ease review. Going to be performing some major surgery to simplify this stuff.
9e7e3e3 [cleanup] Modernize doxygen comments for the BumpPtrAllocator and rewrite some of them to be more clear.
61785a0 AVX-512: Implemented masking for integer arithmetic & logic instructions. By Robert Khasanov rob.khasanov@gmail.com
43a55da Add a PR reference
45dfc70 Make the recent COFF debug info tests more readable
fee5d23 Rejected r204899 and r204900 due to remaining test failures on cmake-llvm-x86_64-linux buildbot.
a36286c Fixed test for r204899 (pr18931 fix)
fccc690 Fix for pr18931: Crash using integrated assembler with immediate arithmetic
09b4588 ARM: raise error message when complex SO expressions can't really be solved as a constant at compilation time.
2298972 Add missing #include <cassert> to MCSymbolizer.h.
af0682b Assert that MCSymbolizer is constructed with a valid (or at least non-null) RelocationInfo argument.
7f8e6b9 Move MCSymbolizer's constructor into header. It's trivial - there's no need for it to be out-of-line.
7fd03c5 Update MCSymbolizer and its subclasses' constructors to reflect the fact that they take ownership of the RelocationInfo they're constructed with.
7d3c3163 inalloca: *Really* fix the docs
b1d0dd9 Remove unneeded stale type.
2ce2122 inalloca: Fix incorrect example IR and remove LangRef warning
85e4ae5 Remove forward declaration for Target class - Target is already defined here.
566abec [X86][Vectorizer Cost Model] Correct vectorization cost model for v2i64->v2f64 and v4i64->v4f64.
e459f72 Correctly propagates st_size.
e6cee9f add 'requires asserts' to test that needs it
11d89f4 llvm-cov: When reading strings in gcov data, skip leading zeros
f20d9ee X86: Correct vectorization cost model for v8f32->v8i8.
ce49ab2 Treat lifetime.start'd memory like we treat freshly alloca'd memory. Patch by Björn Steinbrink!
1e0751b Reorder arguments on test command line to make it easier to cut and paste.
ee5f4bb [PowerPC] Generate VSX permutations for v2[fi]64 vectors
7c38741 llvm-cov: Move XFAIL after the body of the test
e8836a7 llvm-cov: Disable test on big endian machines
891835a CloneFunction: Clone all attributes, including the CC
899a605 This is a fix for PR# 19051. I noticed code gen differences due to code motion when running tests with and without the debug info at O2. The problem is in branch folding. A loop wanted to skip the debug info, but actually it didn't do so.
3d7d0bc Add comments. Addressing review comments from Evan on r204690.
2a6873f llvm-cov: Handle functions with no line number
70ea745 Fix a problem with the ARM assembler incorrectly matching a vector list parameter that is using all lanes "{d0[], d2[]}" but can match and instruction with a ”{d0, d2}" parameter.
d8f4993 Add a unit test for Invoke iteration, similar to the one for Call
23463c9 PR15967 Fix in basicaa for faulty returning no alias.
3a0a1f6 Simplify PBQP graph removeAdjEdgeId implementation.
927eb31 Fix bot breakage in InstructionsTest.
1003e8f Fix problem with r204836
6da0178 [PowerPC] VSX loads and stores support unaligned access
9efa4ff Fix the ARM VST4 (single 4-element structure from one lane) size 16 double-spaced registers instruction printing.
2ca8b98 Remove PBQP-cost dimension sanity assertion in PBQP::Graph::addConstructedEdge. We're already effectively checking sanity for that in PBQP::Graph::addEdge.
b397453 [PowerPC] Use v2f64 <-> v2i64 VSX conversion instructions
ec97f95 Change the PBQP graph adjacency list structure from std::set to std::vector.
e0e5038 R600: Add a testcase for sext_in_reg I missed.
cb2c252 [PowerPC] Remove some dead VSX v4f32 store patterns
c6940d4 [PowerPC] Use VSX vector load/stores for v2[fi]64
50c3856 [MCJIT] Check if there have been errors during RuntimeDyld execution.
65a3ced Enable range-for iteration over call/invoke arguments.
cf2de5a Add args() iteartor adapter to Function, for range-for loops.
489752d Fix for incorrect address sinking in the presence of potential overflows.
b82f8a2 Revert "X86 memcpy lowering: use "rep movs" even when esi is used as base pointer" (r204174)
7363d22 [PowerPC] Add v2i64 as a legal VSX type
8e7aa4b [mips] Use TwoOperandAliasConstraint for ArithLogicR instructions.
75203b6 [mips] Add support to the '.dword' directive.
dd6d74f Clarify that select is only non-branching on the IR-level, it often ends up as jump table or other forms of branches on the machine level.
bd11396 [mips] Rename function in MipsAsmParser.
5957d10 [mips] Add support to '.set mips64'.
a634d0a AArch64_BE Elf support for MC-JIT runtime dynamic linker
53ccc09 [mips] Add support to '.set mips64r2'.
94708f1 AArch64_BE function argument passing for ARM ABI
fc4fa22 ARM: add intrinsics for the v8 ldaex/stlex
25d0cfe Clarify llvm.clear_cache description.
637e1da [mips] Hoist common functionality into a new function.
58839f4 Change @llvm.clear_cache default to call rt-lib
cee1aec [mips] The decision to use MO_GOT_PAGE and MO_GOT_OFST depends on the ABI being N32 or N64 not the arch being MIPS64
4de1039 Fix AVX512 Gather and Scatter execution domains.
0de31d5 [mips] Add support for '.option pic2'.
c4b058f Add @llvm.clear_cache builtin
159e7f4 [PowerPC] Lower VSELECT using xxsel when VSX is available
23f0634 [mips] Add tests for t0-t3 for N32/N64
968ea7b [mips] The register names depend on the ABI being N32/N64 rather than the arch being mips64
2b84dba Follow-up to r204790: don't try to emit line tables if there are no functions with DI in the TU
95f4d65 [mips] $s8 is an alias for $fp in all ABI's, not just N32/N64.
d431e0a [mips] Move the CHECK lines in mips*-register-names.s to make it more obvious which CHECK matches with which insn
47d533f Add tests for r204790
d4c442f Fix PR19239 - Add support for generating debug info for functions without lexical scopes and/or debug info at all
c61ec18 Use -LABEL checks in the COFF debug info tests
72db10a Revert "Prevent alias from pointing to weak aliases."
360ee97 [PowerPC] Generate logical vector VSX instructions
33845aa Prevent alias from pointing to weak aliases.
577708b DebugInfo: Add fission-related sections to COFF
3008f80 Correctly detect if a symbol uses a reserved section index or not.
596516b [X86] Add broadcast instructions to the table used by ExeDepsFix pass.
81c66bc Create .symtab_shndxr only when needed.
6a0f060 [PowerPC] Select between VSX A-type and M-type FMA instructions just before RA
99ab079 llvm/test/DebugInfo/empty.ll: Suppress crash for targeting pecoff while investigating.
78f7e6f Use Endian.h to simplify this code a bit.
fe07617 [configure/make] Propagate names of build host tools when making BuildTools
63dfd62 [Constant Hoisting] Make the constant candidate map local to the collectConstantCandidates method.
7e77dab [PowerPC] Correct commutable indices for VSX FMA instructions
fba0a05 [PowerPC] Add a TableGen relation for A-type and M-type VSX FMA instructions
ab5382f R600: Move computeMaskedBitsForTargetNode out of AMDILISelLowering.cpp
27e1ca8 blockfreq: Implement Pass::releaseMemory()
8451e1b blockfreq: Use const in MachineBlockFrequencyInfo
feaa463 [X86TTI] Make constant base pointers for getElementPtr opaque.
e987eb1 [Stackmaps][X86TTI] Fix think-o in getIntImmCost calculation.
6ac0491 [DAG] Keep the opaque constant flag when performing unary constant folding operations.
6f4f46c [X86] Generate VPSHUFB for in-place v16i16 shuffles
9526911 [X86] Factor out new helper getPSHUFB
67cb554 [InstCombine] Don't fold bitcast into store if it would need addrspacecast
902c799 Reuse earlier variables to make it clear the types involved in the cast.
33ffbdf Add missing slash to make the doxygen output less confusing.
0227461 R600: Add failing testcase for <3 x i32> stores.
c1c74fb ScalarEvolution: Compute exit counts for loops with a power-of-2 step.
71a8d2b Fix creating illegal setcc cond codes.
ffa7f42 [msan] Relax the test some more.
0b9bcfa [msan] Make some tests less strict.
2cf1cdf Fix these tests on windows.
8003996 [msan] More precise instrumentation of select IR.
3527e5f [mips] '.set at=$0' should be equivalent to '.set noat'
3ec862b Fix AVX2 Gather execution domains.
c7e1663 [mips] Correct testcase for .set at=$reg and emit the new warnings for numeric registers too.
c141b33 [mips] Fix assembler temporary expansion and add associated warnings about the use of $at.
6e2aab6 Remove cmake module support for Visual C++ 2010 (MSVC10) but keep the MSVC11 (Visual C++ 2012) support.
c5f5d0d Simplify loop that worked around bugs in old GCC/Xcode.
d8ceb27 Disable Visual C++ warning 4722 about aborting a destructor, it has no value for us.
4fd5cd0 WinCOFF: Add support for -fdata-sections
9d5961d DebugInfo: Add GNU_addr_base and GNU_ranges_base only when there are addresses or ranges
f50e709 test: fix CHECK lines
f5bf687 SLP vectorizer: Don't hoist vector extracts of phis.
b13d54f DebugInfo: Support debug_loc under fission
6cfebbd DebugInfo: Remove unnecessary zero-size check
9306564 Support: Functions for consuming endian specific data from a buffer.
692d183 Register Allocator: check other options before using a CSR for the first time.
4a88cd0 Fix crashes when assembler directives are used that are not for Mach-O object files by generating an error instead.
66124f9 Register Allocator: refactoring (no functionality change).
0f53443 DebugInfo: Simplify debug loc list handling by keeping separate lists
7385c32 DwarfDebug: Simplify debug_loc merging
1b14452 Get rid of an unnecessary use of the * and & operators.
882d89e DebugInfo: Add DW_AT_GNU_ranges_base to skeleton CUs
2563e20 Support: Document Endian.h functions
f4ec188 DebugInfo: Implement relative addressing for DW_AT_ranges under fission
05e62b5 DebugInfo: Don't emit relocations to abbreviations in debug_info.dwo
f2c696a DwarfDebug: Remove an unused parameter
e130844 R600: Don't viewCFG() under DEBUG() except on failure.
fcd547c Remove unused parameter
add2e2e R600/SI: Fix extra mov from legalizing 64-bit SALU ops.
3a96e61 R600/SI: Sub-optimial fix for 64-bit immediates with SALU ops.
db18071 R600/SI: Fix 64-bit bit ops that require the VALU.
d816eda In Release modes, Visual Studio complains that the Operator destructor in User.cpp never returns, which is true by design.
6c199d8 R600: Implement isNarrowingProfitable.
03cd663 R600/SI: Move splitting 64-bit immediates to separate function.
9f00cd9 Adding some very nascent information about the clang tablegen backends, with a promise to add more information later.
47eac58 [PowerPC] Generate little-endian object files
4768df0 [X86][ISelDAG] Add missing fallback patterns for avx2 broadcast instructions. Those patterns are used when the load cannot be folded into the related broadcast during the select phase. This happens when the load gets additional uses that were not anticipated during the previous lowering phases (constant vector to constant load, then constant load reused) or when selection DAG is not able to prove that folding the load will not create a cycle in the DAG.
875870f R600/SI: Fix 64-bit private loads.
657c472 VS integration installer: set SUCCESS=1 if we find VS 2013
b6f02c1 Add test to test/CodeGen/NVPTX for "alloca buffer" arguments.
a1b54dd [X86] Fix non-determinism in LowerVectorAllZeroTest
8ce101e [mips] Add error message when trying to use $at in '.set noat' mode.
2685aa8 Removes the NVPTXSplitBBatBar pass.
4ddee6a R600/SI: Fix warning with gcc 4.8.2
65b5e9b R600/SI: Promote fp64 SELECT to i64
b15ac1b SelectionDAG: Allow promotion of SELECT nodes from float to int types
9958475 R600: Reorganize tablegen instruction definitions
04c252c [PPC64LE] ELFv2 ABI updates for the .opd section
7500207 [mips] Add regression tests for parenthetic expressions in MIPS assembly.
eaae583 [mips] Allow dsubu to take an immediate as an alias for dsubiu.
38a80e9 [PowerPC] Mark many instructions as commutative
67db74e [mips] Implement shorthand add / sub forms for MIPS.
b8cb709 [NVPTX] Add isel patterns for addrspacecast
72270aa Update release notes with EHABI current behaviour
2393d22 [PowerPC] Don't schedule VSX copy legalization unless VSX is enabled
7244814 [PowerPC] Update comment re: VSX copy-instruction selection
2236f93 Teach llvm-readobj to print human friendly description of reserved sections.
07707e8 Allow constant folding of ceil function whenever feasible
0259b8e Add back tests that were reverted in r204203.
0bce334 Propagate section from base to derived symbol.
b83e788 InstrProf: Silence spurious warnings in GCC 4.8
12da52f SupportTests.LockFileManagerTest: Add assertions for Win32.
b0c513b ARM: no need to update SplatBits as it is not used
f5afb78 llvm-profdata: Check for bad data in the show command
5ecdfc1 llvm-profdata: Use Format.h instead of handrolling a formatter
77df516 WinCOFF: Add support for -ffunction-sections
2ca6265 remove a bunch of unused private methods found with a smarter version of -Wunused-member-function that I'm playwing with. Appologies in advance if I removed someone's WIP code.
b6cbecd [PowerPC] Make use of VSX f64 <-> i64 conversion instructions
fb51aac Revert r204076 for now - it caused significant regressions in a number of benchmarks.
0695b20 InstrProf: Check pointer size in raw profile
4ff2dad Propagate types from symbol to aliases.
c8ca832 [CMake] LLVMProfileData: No need to add LINK_LIBS here. LLVMBuild should do.
38803482 llvm-profdata doesn't require LLVMCore.
f0e92a8 llvm-profdata: Don't pipe stderr into show for the tests
ac732eb Prune includes in ARM target.
7afe000 ARM IAS: properly handle function entries in .thumb
0d277ab [PowerPC] Fix the VSX v2f64 return register
f20a219 [TableGen] Don't assert, produce an error, when an instruction has too few operands
4e669c9 llvm-profdata: Avoid F_Text in "merge" for now, since "llvm-profdata show" is confused with CRLF.
62f4b48 [Constant Hoisting] Erase dead cast instructions.
5cfc91c [Constant Hoisting] Fix multiple entries for the same basic block in PHI nodes.
d47cb57 [DAG] Fix an assertion failure caused by an invalid cast in method 'BuildVectorSDNode::isConstantSplat'
4696def Suppress SupportTests.LockFileManagerTest on win32 for investigating.
e25ab8e Delete stale comment. Thanks, Eric!
0fb178b Dwarf Debug: Remove some cargo-cult type uniquing. Scopes do not have an ID, so this is a noop. Thanks Manman for catching this!
a60f719 Fix the value computation in
96c049d Remove some dead assignements found by scan-build
8dbd561 Register allocator: add condition to hoist a spill to outer loop.
c1011e6 [Support] Follow up to r204426, for LockFileManager, make the given path absolute so relative paths are properly handled in both Windows and Unix.
aa4135a InstrProf: Cleanup binary profdata testcase
50f9696 InstrProf: Move constructor to the header
813d0a2 InstrProf: Change magic number to have non-text characters
bc2740a InstrProf: Use move semantics with unique_ptr
bb56c48 InstrProf: Detect magic numbers in a more scalable way
ebaeaa9 InstrProf: Actually detect bad headers
56db3a9 [RuntimeDyld] Fix comment for previous commit (r204439)
b0e33fd [RuntimeDyld] clang-format files.
4d221b3 DebugInfo: Omit DW_AT_addr_base from skeletal type units.
1eb67a4 [AArch64] Add SchedRW lists to NEON instructions.
218c7c8 ProfileData: Avoid double underscores in header guards
ddfcb21 InstrProf: Read raw binary profile in llvm-profdata
c61e1f5 ProfileData: Avoid brace initialization, windows doesn't like it
55d17f4 R600/SI: Move instruction patterns to scalar versions.
d38fea3 Remove redundant test.
3f687d3 Move codegen test over to MC.
496d7f6 ProfileData: Introduce InstrProfWriter using the naive text format
469198f Convert test to using cfi.
b9d6263 Refactor llvm/test/lit.cfg to use lit.util.which.
60bc906 llvm-profdata: Implement show command
0b50368 Remove redundant test.
c0f3b72 ProfileData: Introduce the InstrProfReader interface and a text reader
6c22b04 Split out the MC part of this test.
e85dd7c [mips] Correct lowering of VECTOR_SHUFFLE to VSHF.
ec15d70 Add overall description, file comments, some structure
a1d28f6 R600/SI: Handle MUBUF instructions in SIInstrInfo::moveToVALU()
1f1c049 R600/SI: Handle S_MOV_B64 in SIInstrInfo::moveToVALU()
af4c7da R600/SI: Use SGPR_(32|64) reg clases when lowering SI_ADDR64_RSRC
1b05bb2 Sink: Don't sink static allocas from the entry block
20115c6 [SystemZ] Use "let Predicates =" for blocks of new instructions
6b6889d [SystemZ] Add support for z196 float<->unsigned conversions
d098630 [mips] Update namespace.
4923eea [RuntimeDyld] Allow processRelocationRef to process more than one relocation entry at a time.
fc029f2 Fix test command line to avoid generating output file.
d3cf783 [Constant Hoisting] Make the constant materialization cost operand dependent
337eb3a [Constant Hoisting] Lazily compute the idom and cache the result.
8ebaf63 [Constant Hoisting] Change the algorithm to only track constants for instructions.
032dafd [Constant Hoisting] Fix capitalization of function names.
4cd2152 [Constant Hoisting] Replace the MapVector with a separate Map and Vector to keep track of constant candidates.
6785cf0 MCParser: add an assertion
705e53e This reverts commit r203762, "ARM: support emission of complex SO expressions".
fb307be [Support] Make sure LockFileManager works correctly with relative paths.
c53b3db Fix an assertion caused by using inline asm with indirect register inputs.
287cc35 [AArch64] Remove .data_region directive from AArch64.
2c8cd9a [Support] Make sure sys::fs::remove can remove symbolic links and make sure LockFileManager can handle a symbolic link that points nowhere.
5b460ed Convert a CodeGen test into a MC test.
9999526 Object/COFF: Support large relocation table.
fab1a40 Port test to cfi.
aeb12e9 Convert another CodeGen test into a MC test.
4eb2d22 Fix PR19136: [ARM] Fix Folding SP Update into vpush/vpop
aff0ab4 llvm-objdump output hex to match binutils' objdump
f59d05c Convert CodeGen test into a more specific MC test.
a591368 Remove llvm-mc's disable-cfi option.
e316e00 Remove unused options from test.
ec5fd32 Don't use EmitAbsValue with symbol references.
20425d9 Add an option to MCJIT to have it forward all sections to the RTDyldMemoryManager, regardless of whether it thinks they're "required for execution".
ee3242e Revert "[Constant Hoisting] Extend coverage of the constant hoisting pass."
228c72a [Constant Hoisting] Extend coverage of the constant hoisting pass.
9bb9615 Remove LowerInvoke's obsolete "-enable-correct-eh-support" option
56210e6 Typo.
8b97f00 Reapply DW_AT_low/high_pc patch:
0b08718 llvm-profdata: Remove an empty comment
0722280 Fix a few more grammatic errors in docs/TableGen/index.rst
f631e0b Fix a couple of typos and an inaccurate description in the new TableGen doc
faec753 Remove dead and incorrect code.
b5a1fcc Add comments from Eric's review of r204094.
31bd14f R600: Remove unused method declaration.

git-subtree-dir: llvm
git-subtree-split: 861e4db90533e6ba7de77c33d7a06857433616ff
Merge commit '4f1346bd8050fbcf83ba0665bfaefda1f18ba57a' into overhaul
Squashed 'llvm/tools/clang/' changes from 18d907e..679a08c

679a08c Fix the funcsig test with an explicit triple
1c8af74 Add support for MSVC's __FUNCSIG__
ae696ed intrin.h: Fix up bugs in the cr3 and msr intrinsics
b497e98 Have validate-system-headers override validate-once-per-build-session
d220c37 clang-format: Fix incorrect multi-block-parameter computation.
578bfcb If a header is explicitly included in module A, and excluded from an umbrella directory in module B, don't include it in module B!
35a94e8 clang-format: Correctly understand arrays of pointers.
a21f0ed clang-format: Extend AllowShortFunctions.. to only merge inline functions.
aee470d PR19346: Adding 0 to a null pointer has defined behavior in C++. Allow it in constant expressions.
aa1fd66 intrin.h: Implement __readmsr, __readcr3, and __writecr3
d5fbd22 Thread Safety Analysis: various fixes to new SExpr code. Implemented ownership policy, updated to use nullptr, const-cleanup.
7aff194 Thread Safety Analysis: fix warning.
8b06c53 -fms-extensions: Don't define __PRETTY_FUNCTION__ to __FUNCTION__
745d3c9 Thread Safety Analysis: update to internal SExpr handling. This patch is the first part of a significant refactoring that seeks to restore sanity to way thread safety analysis deals with capability expressions.  The current patch merely provides an outline of the structure of the new system. It's not yet connected to the actual analysis, so there's no change in functionality.
cd7020f Mangle the vbptr offset into pointers to member functions
053ce3e [analyzer] Fix mistake in example for potential checker "posix.Errno".
8177b78 [analyzer] Re-enable test I accidentally committed commented-out.
29fd71e Revert r205646 (keeping the test in its modified form) as it is subsumed by r205521.
15d1581 Fix a typo introduced in r205716
c9f61e8 clang-cl: make /Gw map to -fdata-sections
2c2058a Fix clang-tidy warning (argument comments don't match parameter names).
97e10ae libclang: add clang_CXXMethod_isConst API that allows to determine if a C++ member function or member function template is declared 'const'
3d0e848 Updated phabricator server.
2b10015 DebugInfo: Support type alias templates
ffe00c3 DebugInfo: emit namespace aliases as named imported declarations instead of named imported entities
4b3bd42 [Frontend] If the module file lock owner have died, try to get the lock again. Needs llvm r205683.
98ebbb6 Reapply r205655, DebugInfo: Place global constants in their appropriate context.
f4a3b23 DebugInfo: Avoid emitting constnants for every use
b2887d4 [analyzer] Add an ErrnoChecker (PR18701) to the Potential Checkers list.
333e7cf [analyzer] Update Open Projects page with BitwiseConstraintManager.
8123887 Add a new subgroup to -Wtautological-compare, -Wtautological-overlap-compare, which warns on compound conditionals that always evaluate to the same value. For instance, (x > 5 && x < 3) will always be false since no value for x can satisfy both conditions.
8458c2c Revert "DebugInfo: Place global constants in their appropriate context."
bb4f59b [analyzer] Look through temporary destructors when finding a region to construct.
1c3262a Objective-C arc [Sema]. Allow bridge cast of a qualified-id expression when bridged Objective-C type conforms to the protocols in CF types's Objective-C class. // rdar://16393330
f992790 DebugInfo: Place global constants in their appropriate context.
67d8fe3 Try harder about not suggesting methods as corrections when they obviously won't work. Specifically, don't suggest methods (static or not) from unrelated classes when the expression is a method call through a specific object.
531ba2d DebugInfo: PR19298: function local const variables duplicated in the root scope
a92b408 Driver: add target definition for Windows on ARM
88c63da Vector [Sema]. Vector "splats" which are truncated should have a warning with -Wconversion. // rdar://16502418
9aac3a0 Add a test where the module map is overriden in the vfs
117df18 In preparation for being able to use simple Boolean logic expressions involving capabilities, the semantics for attributes now looks through the types of the constituent parts of a capability expression instead of at the aggregate expression type.
c426836 When printing types for the OpenCL kernel metadata, use the PrintingPolicy.
ef95faf [OPENMP][C++11] Renamed loop vars properly.
261a28e clang-format: Don't merge simple blocks in case statements.
2c137f4 Basic: rename VisualStudio to Windows
95aafb4 Extend -Wtautological-constant-out-of-range-compare to handle boolean values better.  This warning will now trigger on the following conditionals:
6acf9ee CodeGen: Don't create branch weight metadata from empty profiles
871b49a Add clang-cl alias to allow users to disable c4005
cc19247 Put macro redefinition warnings under -Wmacro-redefined
ebb79f2 Turn off -Wmissing-noreturn warning for blocks as there is no way to attach this attribute to the block literal. // rdar://16274746
43988f6 vector [Sema]. Check for proper use of 's' char prefix (which indicates vector expression is a string of hex values) instead of crashing in code gen. // rdar://16492792
3981431 -fms-extensions: Error out on #pragma init_seg
dffd876 Revert r205436:
0565497 Teach getTemplateInstantiationPattern to deal with generic lambdas.
5fdd775 Code cleanup (re-indent)
282d5f5 Revert "Add support for named values in the parser." This was submitted before it was ready.
0e8e53b clang-format: Prefer an additional line-break over hanging indent.
d28a215 x
95a0a57 Improved semantics for implicit scalar -> extvector conversions.
faa5d47 clang-format: Understand that "auto" is a type.
552b0f2 [OPENMP] Small update for C++11
3bf453e Allow ASTFile to be reset to null
011e052 CodeGen: Emit some functions as weak_odr under -fms-compatibility
e7ba082 Objective-C [IRGen]. Add encoding for 'weak' attribute of a 'readonly' property. // rdar://16136439
85853bf If a using-declaration names a class member, but appears outside a class, try to suggest a different syntax to get the same effect.
ce167d9 PR19305: Don't issue -Wunused-variable warnings on variable templates. It's not meaningful to odr-use the VarDecl inside a variable template. (Separately, it'd be nice to track referenced-ness for templates, and warn on unused ones, but that's really a distinct issue...)
a423c1b DebugInfo: Include default template arguments in template type names
5de8d4d Extend the SSE2 comment lexing to AVX2. Only 16byte align when not on AVX2.
5a3d6a8 Add matcher for ExprWithCleanups.
62060a0 Add support for named values in the parser.
82796d3 Some more anonymous namespace diagnostics to switch to ()
11e1a3a Render anonymous entities as '(anonymous <thing>)' (and lambdas as '(lambda at ... )')
8ef7942 Add the location of Decls to ast dump.
d17790e Fix type mismatch assertion related to inalloca and PR19287
4396b08 Harden this test against windows/changes.
059271f Partially revert r204517 and fix a different way:
bde32e0 Updating the capability attribute diagnostics to be more capability-neutral. Instead of using terminology such as "lock", "unlock" and "locked", the new terminology is "acquire", "release" and "held". Additionally, the capability attribute's name argument is now reported as part of the diagnostic, instead of hard coding as "mutex."
ae76507 Objective-C modern translator. Fix declaration of __NSConstantStringImpl's length field to accomodate window's 64bit LLP64 mode. // rdar://16489050
5ccd879 Simplify FunctionDecl::getMinRequiredArguments().
e7d22fe Fix self-referential comment.
9647358 More tests for DR1.
96365ae Debug info: fix a crash when emitting IndirectFieldDecls, which were previously not handled at all. rdar://problem/16348575
839fe84 [analyzer] Extract a helper for finding the target region for a C++ constructor.
0644578 [analyzer] Remove incorrect workaround for unimplemented temporary destructors.
efcdb4a [analyzer] Fix a CFG printing bug.
6e91bec Fixing the MSVC 2012 build bot, which cannot do initializer lists yet. Amends r205307.
a9a63dc Add support for dynamic ASan runtime (on Linux) to Clang driver.
33df7ef clang-format: Support configurable list of foreach-macros.
fcd1376 ARM64: add a few bits of polynomial intrinsic codegen.
11b8e17 ARM64: add missing ldN/stN intrinsics and enable tests.
994b437 Add defensive check that argument may be null in call to compareConversionFunctions() on incorrect code.
977648b MS ABI: Support mangling of return-types deducing to local types
9983400 Adapt CGDebugInfo to interface changes in DIBuilder/DIImportedEntity. The Decl field in a DIImportedEntity is now a DIRef. Paired commit with LLVM.
b94cf90 [analyzer] Lock checker: Allow pthread_mutex_init to reinitialize a destroyed lock.
5ba640a [analyzer] Lock checker: make sure locks aren't used after being destroyed.
7677cf0 [analyzer] Add double-unlock detection to PthreadLockChecker.
c8a5f96 Add failing testcase for DR305. Looks like we didn't implement the resolution here in the simple-template-id case.
bd3bdde Disable this-return optimizations when targeting iOS 5 and earlier.
1f27b5d Fix up compression related test cases
ea163e1 MS ABI: Simplify MangleByte further
639e728 Comment necessity of early initialization
e3989ea Warn when requesting compress-debug-sections and zlib is not available
af63ddd DebugInfo compression: Enable compression before any sections are created.
8c03089 Implement the 'optnone' attribute, which suppresses most optimizations on a function.
b1f71dd MS ABI: Add a test for Unicode literals
0dbdaf6 MS ABI: Simplify endian swapping code
36a129a Remove redundant template specialization that just duplicates the partial specialization that would otherwise be selected.
ba9f3c5 Unify __declspec attribute argument parsing with the common attribute argument parsing code.
65d1a19 Introduced an attribute syntax-neutral method for parsing attribute arguments that is currently being used by GNU and C++-style attributes. This allows C++11 attributes with argument lists to be handled properly, fixing the "deprecated", "type_visibility", and capability-related attributes with arguments.
9586fa9 MS ABI: mangleStringLiteral shouldn't rely on the host's endianness
787bd4b MS ABI: Document the '\xc1' to '\xda' manglings
519e3f9 Remove unused diagnostic + dead test for it.
948f36b MS ABI: Make test introduced in r205217 more robust
68d4885 MS ABI: Use the proper type for inalloca args
03a5eb3 ARM64: enable aarch64-neon-intrinsics.c test
6d6a4e7 Post-commit review coding style change: renaming HasAttribute to hasAttribute. No functional changes.
f6e4bb6 [OPENMP] clang-formatted include/clang/AST/StmtOpenMP.h
24e262d Sema: Require external linkage for dll attributes
59c1230 Sema: Check dll attributes on redeclarations
d29984e clang-format: Solve issues found and fixed by clang-tidy.
89badaf clang/tools/driver/Makefile: Quick fix corresponding to r205181.
3056e7c Reapplying r204952 a second time.
1fe9ec4 Slightly improve the readability of MicrosoftVTableContext::computeVTablePaths().  No functionality changes.
dc5af2d Added _rdtsc intrinsics by Robert Khasanov
52b2fb2 Remove unused variable
d3a9426 ARM64: remove currently trivial switch statement
a100391 [OPENMP] Implemented 'copyin' clause
78afefd Add documentation for the pcs attribute, based on r129534's commit message.
4326db3 RTTI: refactor the uniqueness question into CGCXXABI.
05db473 MS ABI: Correct typo in mangleStringLiteral
95c1b19 MS ABI: Simplify mangleTemplateArgs
c4646a9 clang/test/Preprocessor/headermap-rel2.c: Recognize dos path.
699de49 Force a header file input to the headermap test to have different contents than the header file by the same name under the system header search root. Surprisingly, this is required to get the test to pass on some systems.
61a8fc8 [ARM64] Use %clang_cc1 consistently in the new arm64 codegen tests. Really, all tests outside of the Driver tree should use %clang_cc1, but these are new and easy to fix, and many of them use buitlin headers which don't work as well without using %clang_cc1.
b23fde6 [PowerPC] Make -pg generate calls to _mcount not mcount
476dc33 [Allocator] Remove forward declarations of BumpPtrAllocator. These aren't necessary and will break when it changes to be a typedef of a class template.
1684580 Sema: Implement DR317
01469d8 MS ABI: Simplify MangleByte
9692d09 Tests for dr475-dr500.
d57bb79 Install: add arm_neon.h header back
8607d4e4 Avoid a local Twine variable.
f579c5a ARM64: Fix GCC warning in CGBuiltin.cpp
b1f54e5 Remove stray references to aarch64_simd.h
b8064ed CodeGen: Allow different RTTI emission strategies
7e0e8ef ARM64: initial clang support commit.
6614bf2 CodeGen: Don't crash when replacing functions
4eff9ac ARM64: parametrise IVar offset type (long on ARM64, int elsewhere).
0ed153b ObjC: allow targets to decide when to use stret for blocks.
899bcb6 Driver: implement addClangWarningOptions
0464fcd [-Wunreachable-code] Expand paren-suppression heuristic to C++/ObjC bools.
ac0afc8 [test] Add a triple to the test.
d480f70 [test] Add a RUN line to get a hint on why the test is failing at the buildbots.
c5e0194 [HeaderSearch] Make sure we clear the mapped name from the LookupFileCacheInfo when we reset the start point.
e1f5388 Improve -Wunreachable-code to provide a means to indicate code is intentionally marked dead via if((0)).
ed699a2 PR19278: Align ASTTemplateArgumentListInfo to match its following dynamic array of TemplateArgumentLocs. 'uint64_t' has higher alignment requirements than a pointer on some platforms.
ef4f03b Objective-C. Make -Wselector-type-mismatch off by default until we provide a work-around for warning suppression.
fa4728e [SemaObjC] For the semantics of the designated-initializer attribute, consider that the ObjC interface of the class includes its class extensions.
7ac8837 libclang/libIndex: USR generation: mangle source location into USRs for macros, unless the macro comes from a system header
d60a851 Reapply "OnDiskHashTable: Use Endian.h to read little endian ostreams"
73433a8 Reapply "OnDiskHashTable: Use EndianStream.h to write little endian ostreams"
7683f19 Simplify clang-cl's target triple setting
4f6ee09 Try to fix the cl-options.c test on ARM bots
2d009f0 Revert "OnDiskHashTable: Use Endian.h to read little endian ostreams"
0878f15 Revert "OnDiskHashTable: Use EndianStream.h to write little endian ostreams"
e49de09 OnDiskHashTable: Use Endian.h to read little endian ostreams
366b49f OnDiskHashTable: Use EndianStream.h to write little endian ostreams
1665b62 Use constexpr again, this time portably
f6e568c Documentation: remove a spurious '1' and wrap to 80 columns
c8ea908 Document module.private.modulemap and module_private.map.
64d7e08 InstrProf: Fix MSVC after r205023
a88ee9f Objective-C. revert r204965. This will make -Wselector-type-mismatch default again. After internal discussions, we think that in most cases it has helped our developers find hard to detect undefined behaviors. We are going to provide a syntax (and fix-it) to suppress the warning in remaining of false positive cases.
97140c9 InstrProf: Emit runtime hook directly in IRGen
d12127d Revert "Link in profile library on Linux using --whole-archive"
3c7d183 Fix a FIXME, use std::move.
8d29648 Link in profile library on Linux using --whole-archive
2c79e2c clang-format: Fix aligning of comments and escaped newlines in macros.
37a9afe Add ARM big endian Target (armeb, thumbeb)
397337a Use the correct trailing comment syntax
f5b10e6 Get rid of the adapted isLiteral method.
d803200 clang-format: Recognize more ObjC blocks with parameters/return type.
d9f38c4 clang-cl wants MSVC-style win32
1e57f17 Use the new Windows environment for target detection
f071125 Reverting r204968 and r204969; while more build bots are happy with the results, some still have link errors.
0608e4e Urgh. Amending r204968 which somehow missed this file!
28dc6f9 Reapplying r204952 with fixes which should hopefully resolve linking issues with non-MSVC compilers.
297e586 Objective-C. Make multiple selector warning an opt-in option under -Wselector-type-mismatch. // rdar://16445728
d87684d Support for -Wa,-compress-debug-sections.
d35cc35 Reverting r204952, while I figure out what's going on with the makefile build.
ded4d56 Don't emit exit-time destructor warnings for trivial explicitly defaulted dtors
3ed56a1 Recognize simple cases of trivial explicitly defaulted public dtors as irrelevant
af55a6b Clean up the __has_attribute implementation without modifying its behavior.
ebece36 Fix PR18307: Properly (de)serialize inherited constructors and their using declarations
d6597d8 Improve handling of bool expressions in template arguments.
af3ef97 Add an explanatory comment and FIXME about the function declaration for a subprogram DIE.
22256ab Comment parsing: use different comment styles in different test cases
b29c030 Comment parsing: attach comments to enums declared using the NS_ENUM macro
379402b Enforce the restriction that a parameter to a kernel function cannot be a pointer to the private address space (as clarified in the OpenCL 1.2 specification).
67b42c1 InstrProf: Pull in runtime on non-Darwin
23d02a0 Add a module cache path to the test that uses -fmodules
bdc07b4 clang-format: Avoid line-breaks that increase the current column.
7813791 Comment parsing: when comment ranges are deserialized from multiple modules, correctly order comments in SourceManager::isBeforeInTranslationUnit() order
10270d2 Handle and warn on aliases to weak aliases.
c814cd6 [OPENMP] OMPExecutableDirective re-factoring
a5714e2 clang-format: Extract getNewLineColumn out of addTokenOnNewLine.
cb096de Fix bool expression special case.
3164097 [cleanup] Stop specifying size overrides for BumpPtrAllocators.
1146e7b clang-format: Correctly identify ObjC Block with return type.
eb0693f Revert "Just call getContextDescriptor to get the context for subprograms" while I investigate as it seems to be causing issues with the gdb bot.
0ec213d PR19252: Fix crash if alignas is used with an auto-typed variable. Don't check the type of the variable until it's known.
c78b67d Don't produce a L symbol in __DATA,__data.
ca24050 MS asm: Filter out fpsw clobbers
55b2d89 Just call getContextDescriptor to get the context for subprograms instead of rolling an inefficient version of the function. This changes some order of emission of metadata nodes, fix up those testcases and make them more flexible to some changes.
20acbd9 Try to fix arm bots by removing a superfluous __cdecl
cb77c78 PR19254: If a thread_local data member of a class is accessed via member access syntax, don't forget to run its initializer.
cd1293d Objective-C. Improve diagnostic error for '@import' when modules are disabled. // rdar://15505492
269d38e Objective-C. Fixes a bogus warning on unimplemented selectors because we were not going through entire elements in list of all implemented selectors. // rdar://16428638
b16150c InstrProf: Use unique_ptr
dd39fa7 InstrProf: Use references
a079c94 [analyzer] Remove the implemented Identical* checkers from the "potential" list.
bedde65 Fix atomic libcall.
447549a [analyzer] Handle the M_ZERO and __GFP_ZERO flags in kernel mallocs.
972fd1d Recommit r204493 with a fix to look in both clang and llvm directories. Hopefully addresses r204539.
94b80cf Intrin.h: Implement _InterlockedExchangePointer
9d338d0 -Wglobal-constructors: Don't warn on trivial defaulted dtors
e1972b5 -fms-extensions: Add __va_start builtin, which is used for x64
51da10e Add support for __builtin___clear_cache in Clang
0180d7c ARM: be more flexible about how --mhwdiv is accepted.
404ae9f From Matt Thomas: use long long for [u]int64_t and [u]intmax_t on NetBSD/aarch64 to simplify code sharing with NetBSD/arm.
c4b46b1 Make the 'for (auto ...)' names more readable
d23cab2 Fix PR19066 - 0-sized vftable in the presence of virtual inheritance
8e49130 Revert "Update for llvm api change."
471bb88 Update for llvm api change.
99db70b Add existing warnings to -Waddress so that it works closer to what GCC has. Previously, -Waddress was empty.
8a2341c Move the -i[no-]system-prefix options from CC1Options.td to Options.td.
70f12c6 [PGO] Add simplified branch weights for Objective-C for-collection loops.
0733650 PR19249: Don't forget to DiagnoseUseOfDecl for the implicit use of a variable in a lambda capture.
a31456a Use an option alias to implement -gmlt
c5ba03d -fms-compatibility: Only form implicit member exprs for unqualified ids
dc9f92b MS ABI: Mark direct virtual bases as visted when building vtable paths
d53585b Fix an logic error in the clang driver preventing crtfastmath.o from linking when -Ofast is used without -ffast-math
b5893c8 clang-cl: make /Gy imply -fdata-sections in addition to -ffunction-sections
fa9f141 [analyzer] Don't track retain counts of objects directly accessed through ivars.
d13c378 clang-cl: Forward /Gy or /Gy- when falling back to cl.exe
3e8c295 Fixes a bug in DynTypedNode.
a5e37f5 clang-format: Fix incorrect &/* detection.
181895b Remove redundant and misleading check. This could also lead to painful cyclic deserialization.
de91a39 Save out a correct lookup table if a lookup table entry is stale (it contains an out-of-date external decls list). This happens if we declare some names, force the lookup table for the decl context to be built, import a module that adds more decls for the name, then write out our module without looking up the name.
dad7449 If a DeclContext's lookups need to be reconciled, and we're given external declarations for a name, reconcile first. Otherwise, when we come to reconcile, we'll ask for external declarations for that name again. No functionality change intended.
8cd84a8 Simplify: don't try to complete the list of decls twice when iterating over the lookups for a DeclContext.
9f08834 Fix a bug where an explicit instantiation declaration of a class template specialization would make us think it might have a key function.
6e06873 Proper handling of static local variables with address space qualifiers.
7b7df1d MS ABI: Eliminate Duplicate Strings
9ba3476 [MS-ABI] Drop Special Layout in 64-bit mode.
5704d1a Cleanup testcase by adding return statements and replacing CHECK-DAG's with plain old CHECKs.
8771b9b Update the powerpc64le check to include CALL_ELF=2 check. This is a testcase follow-up to r204627. (see also r204614 for CALL_ELF usage).
3fd557c Capability attributes can now be declared on a typedef declaration as well as a structure declaration. This allows for C code to use Boolean expressions on a capability as part of another attribute. Eg) __attribute__((requires_capability(!SomeCapability)))
277ebec Use CHECK-DAG in a test so that it isn't sensitive to metadata order.
d267772 [PPC64LE] Add a CALL_ELF macro to indicate use of the ELFv2 ABI.
ba6e4af Update the parameters passed to the assembler and linker for the PPC64LE target.  Specifically: (assembler) adds/uses  -mppc64 -mlittle-endian (linker) adds/uses  elf64lppc
3022c28 Update DataLayout/DescriptionString for ppc64le Update DataLayout/DescriptionString for ppc64le
cfd0a0c AArch64_BE test case for predefined macros
370d871 Fix a compile-time warning
03a3654 Revert r204562,204566,204586,204587 as they broke ASan on Windows
d3c769e Driver: Fix a typo in a command line description
65489fd CodeGen: Remove unneeded directives
8003a11 MS ABI: Add tests, other cleanups for r204562
cda72f3 Remove unused diagnostic.
aca5da0 Fix tests in r204576
e6c692b Treat dllimport globals without explicit storage class as extern
ae15cb2 Add missing file from r204570.
1493795 Consistently dump default template arguments for template parameters as 'TemplateArgument's.
f8ef031 If a name is injected into an imported inline namespace without reopening that namespace, we need to update both the visible names of that namespace and of its enclosing namespace set.
d7d4db0 Cleanup dead assignments reported by scan-build
9d5cd13 When we inject a declaration into a namespace, add the primary DeclContext to the update set rather than the current DeclContext. Add test for the local extern case too.
6060bb2 Simplify test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp by forcing VFTableBuilder invocation with virtual function calls or constructors codegen
abaaec5 CodeGen: Make string tests exercise the MS ABI
f1f3dfb Driver: Map /Gy to -ffunction-sections
cf2cc88 Driver: cleanup /vd2 test
b944197 MS ABI: Eliminate Duplicate Strings
50cd0d9 remove a bunch of unused private methods found with a smarter version of -Wunused-member-function that I'm playwing with. Appologies in advance if I removed someone's WIP code.
f5c211a If a template instantation introduces a name into a namespace, we need to write out a visible update record for that namespace even if it was never declared in this module.
9f36ccd If an update record makes a declaration interesting, pass it to the consumer.
d27e547 Emit an update record if we instantiate the definition of a function template specialization from a module. (This can also happen for function template specializations in PCHs if they're instantiated eagerly, because they're constexpr or have a deduced return type.)
2539189 Revert r204493, "Make clang/test/lit.cfg pre-scan the RUN line looking for tool names,"
5370eb1 Refactor: move loading pending instantiations from chained PCHs to a more appropriate place, so that we only ask the external source once.
9432905 relax testcase to unbreak windows buildbots.
e706ba0 When generating the Attribute dumper code, do not dead-initialize MoreChildren
42b6eb5 Be a bit smarter about what nested name qualifiers to allow when performing typo correction on very short (1 or 2 char) identifiers.
336dbe3 [C++11] Simplify some loops in Sema::CorrectTypo as range-based for loops.
e037fc6 Test commit
631b3bc CGDebugInfo: At the end of EmitFunctionStart, Initialize PrevLoc to the location that the next call emitLocation() would default to. Otherwise setLocation() may wrongly believe that the current source file didn't change, when in fact it did.
70dde18 Make clang/test/lit.cfg pre-scan the RUN line looking for tool names, and substitute fully qualified path names pointing to the build directory.  This ensures we're testing the just-built tools.
23df821 Placate -Wunreachable-code by removing unnecessary logic to handle NUM_OPENMP_DEFAULT_KINDS <= 1.
acd5f2c Fixing code that doesn't compile in MSVC 2012 (but does in MSVC 2013) from r204417 and related commits.
4ae1fe1 The release_capability, release_shared_capability and release_generic_capability functions are now functionally distinct for capability analysis. The unlock_function attribute maps directly to release_generic_capability.
b6e55ca clang-format: Add flag for removing empty lines at the start of blocks.
151dc0d Simplify test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp by forcing VFTableBuilder invocation with virtual function calls
424126f Simplify test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance.cpp by forcing VFTableBuilder invocation with virtual function calls
fb9697c [CMake] Propagate top-level targets for compiler-rt runtimes and test-suites from (external) compiler-rt build tree into LLVM/Clang build tree in LLVM_BUILD_EXTERNAL_COMPILER_RT mode.
59aca27 clang-format: Don't remove empty lines at the start of namespaces.
264449a clang-format: Remove empty lines at the beginning of blocks.
7a474af clang-format: Let a trailing comma in braced lists enforce linebreaks.
a0ac311 clang-format: Fix for r204456.
bafa9ec clang-format: Preserve meaning of trailing comments on parameters.
4cd007c Simplify test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp by forcing VFTableBuilder invocation with virtual function calls
311dc90 Add one more test for PR19172
c1d57a1 Document removed flags in release notes
a86ef85 Kill deprecated -fbounds-checking flag
6211677 [-Wunreachable-code] add a specialized diagnostic for unreachable increment expressions of loops.
a465dc4 [OPENMP] parsing of clause 'safelen' (for directive 'omp simd')
d22bb69 Serialize and deserialize mangling numbers.
a969771 PR19215: When writing/reading a PCH that imported a module, store the location at which that PCH imported each visible submodule of the module. Such locations are needed when synthesizing macro directives resulting from the import.
349b590 Fixed newlines.
81e3346 PGO: Don't define instrumentation data available_externally
eddc016 PGO: Rename FuncLinkage to VarLinkage; no functionality change
3ac814b When the exception specification for a function in an imported PCH or module is resolved, emit an update record.
22b3c93 Refactor and simplify DeclUpdates serialization.
b3efa4b Consumed Analysis: IgnoreParens bugfix.
dad9d11 Fix PR19172 - wrong this adjustment calculated for virtual destructor in a class with complex inheritance
aeef5e2 Refactor to move decl update emission into the decl emission loop.
7f817a7 PGO: Change runtime prefix from pgo to profile
cdbf2c3 Rearrange serialization block order to put decl update emission into the same block as decl and type emission. This allows decl updates include statements and expressions. No functionality change (but the generated PCM files are incompatible with earlier versions of Clang).
8c3d0e7 PGO: Remove explicit static initialization
d3bf5b7 [-Wunreachable-code] Tweak isTrivialDoWhile() to handle implicit casts.
a8554f5 Remove dead assignment dominated by a call to llvm_unreachable().
08abb12 [analyzer] Fix a bad bug in reversePropagateInterstingSymbols() where only one subexpression of BinaryOperator would be explored.
789603c Use nullptr; no functionality change
35f8aac Coding style fixup; no functionality change
8ce754c Prevent lookup of subframework modules by name without parent framework
e896106 [analyzer] scan-build: allow quotes around "-cc1" when looking at -### output.
4b7a75d [analyzer] scan-build: match whitespace instead of word boundaries around flags.

git-subtree-dir: llvm/tools/clang
git-subtree-split: 679a08c38cc65fb24f14b4b2f6536489743dabfb
Merge commit '811c0dfe339ac2664d5d2a51c389a1398a93dac0' into overhaul

Conflicts:
	llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h
	llvm/tools/clang/lib/Driver/Tools.cpp
	llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
Merge branch 'overhaul' of darwin:scout into overhaul