Squashed 'llvm/' changes from 35d5a43..4232f4e

4232f4e Rephrase loop so it doesn't leave unused bools around in Release mode.
4551671 Avoid revocations when possible.
e9a4e06 [PeepholeOptimizer] Advanced rewriting of copies to avoid cross register banks copies.
230bb1b [RegAllocGreedy] Provide a flag to disable the local reassignment heuristic. By default, no functionality change.
25b7acf Remove obsolete function TargetRegistry::getClosestTargetForJIT()
74ed21f Revert "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself."
5c7ec29 MachineScheduler: better book-keeping for asserts.
faa4e49 ExecutionEngine::create(): fix interpreter fallback when JIT is unavailable
7186dd4 DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself.
cc2a78f Fix .seh_stackalloc 0
fd6fc71 GlobalOpt: Handle non-zero offsets for aliases
b6a4058 IR: Add a helper to check for LinkOnceODRLinkage
049a087 Suppress inlining when the block address is taken
c3c8e7b AArch64: Follow-up to r212073
91fa948 AArch64: Actually do address type promotion
53da3fa Convert some byval argpromotion grep tests to FileCheck
6408a8b DebugInfo: Preserve debug location information when transforming a call into an invoke during inlining.
0e2313c Remove unnecessary datalayout string from a test case.
b23ae55 Speculatively fix some code handling Power64 MachO files
3b15c97 msan: Stop stripping the 'tail' modifier off of calls
816d9c7 objdump: Add test for ELF file with no section table
eb73cf67 Refactor the code in clang to find a file in a PATH like environment variable into a helper function
a0d04ac Fix 'platform-specific' hyphenations
46e17ca Build fix for systems without futimes/futimens
c28eff1 Add the -arch flag support to llvm-nm to select the slice out of a Mach-O universal file.  This also includes support for -arch all, selecting the host architecture by default from a universal file and checking if -arch is used with a standard Mach-O it matches that architecture.
97fb702 R600: Move mul combine to separate function
d36aada R600: Remove unused declarations leftover from AMDIL
93b97c9 Debug info: split out complex DIVariable address expressions into a separate MDNode so they can be uniqued via folding set magic. To conserve space, DIVariable nodes are still variable-length, with the last two fields being optional.
e6cfdc8 [X86] Add support for builtin to read performance monitoring counters.
adb277d [OCaml] Documentation improvements.
99f2d6f [AArch64] Unsized types don't specify an alignment. PR20109
e7dfa85 [AArch64] Convert mul x, -(pow2 +/- 1) to shift + add/sub.
12a261e macho-dump: add code to print LC_ID_DYLIB load commands.
a1ff0ae ARM: take care not to set the ThumbFunc bit on TLS data symbols
780e5e8 undo test commit (whitespace only)
27391ad test commit (whitespace only)
85f56ba test commit: add a comment line in GVN test file
2c25d41 X86: fix comment
e8bd687 ARM: use symbolic name for constant
36c789f CodeGen: rename Win64 ExceptionHandling to WinEH
622520e MC: rename EmitWin64EH routines
521a69f Add ops() method to SDNode that returns an ArrayRef<SDUse>. Use it to simplify some code.
37f6870 Use a range loop. No functionality change.
8d5114e Simplify code a bit, no functionality change.
56f5e7f Fix build following r211956
320cba3 Verifier: Update assert message to reflect LangRef
3e5215b [x86] Fix a bug in the v8i16 shuffling exposed by the new splat-like lowering for v16i8.
dc3a2fc Fix this test to not write to the source tree, and instead to write to a temporary file. This fixes the test in cases where the source tree is mounted read-only.
fe05f61 [x86] Add handling for splat-like widenings of v16i8 shuffles.
be56f16 This file wasn't supposed to be checked in
7da28c5 [RuntimeDyld] Make sure that RuntimeDyld regression tests only run for targets that have been enabled.
cc0a279 Revert "Temporary hack to try cleaning extra .s file from bots."
051cc06 Temporary hack to try cleaning extra .s file from bots.
a677ffe [RuntimeDyld] Use a raw_ostream and llvm::format for int-to-string conversions.
d7be296 [AArch64] Fix memset ICE when memset value is f128.
1cfa342 llvm-cov: Support specifying multiple source files
5bbd607 [RuntimeDyld] #include <cctype> header in RuntimeDyldChecker.cpp.
c3747f2 [RuntimeDyld] Add a framework for testing relocation logic in RuntimeDyld.
63195d7 [x86] Fix another bug hit when bootstrapping with the new shuffle lowering.
fbab8b6 Reverting r211950 -- it did not help resolve the -Wcomment warnings triggered in GCC.
8474c35 [NVPTX] Use GreatestCommonDivisor64 from MathExtras instead of using our own.  Thanks Hal!
704fa86 Adding some trailing whitespace after a comment previously ending with \ to ensure that it isn't lexed as a multiline comment. This silences some -Wcomment warnings.
f2925a1 Include <tuple> to make buildbots happy
7a28de0 [NVPTX] Add reflect intrinsic (better than matching by function name)
9832f7d [NVPTX] Handle all possible vector types in getSetCCResultType, not just the ones representable as MVTs
c95d327 [NVPTX] Add 'b' asm constraint
9272c2b [NVPTX] Simplify some argument lowering logic
127f0e8 [NVPTX] Do not process samplers in GenericToNVVM
3c81367 [NVPTX] Error out if initializer is given for variable in an address space that does not support initialization
0ded57c [NVPTX] Add support for .managed variables for UVM
2a8dc35 [NVPTX] Emit .weak linkage for link_once, weak, available_externally, and common linkage
ab7c0aa [NVPTX] Variables that start with llvm. or nvvm. are reserved and should not be emitted
cb8f983 [NVPTX] Fix handling of ldg/ldu intrinsics.
8992274 [NVPTX] Clean up argument lowering code and properly handle alignment for structs and vectors
3fb4410 [NVPTX] Add missing boolean vector contents flag
863b0d4 [NVPTX] Add support for [SHL,SRA,SRL]_PARTS
10da165 [NVPTX] Implement fma and imad contraction as target DAGCombiner patterns
508c80f [NVPTX] Add support for efficient rotate instructions on SM 3.2+
1f75f4a [NVPTX] Add missing isel patterns for 64-bit atomics
ef92cf5 [NVPTX] Add isel patterns for bit-field extract (bfe)
de7bbdf [NVPTX] Add support for isspacep instruction
1571d27 [NVPTX] Add support for envreg reads
305dda4 [NVPTX] Add target options for PTX 3.2/4.0 and SM 5.0 (Maxwell)
aac29c0 [NVPTX] Update sub-target feature detection
7d7f3e3 [NVPTX] Directly control the Machine SSA passes that are invoked for NVPTX.
a54609e [NVPTX] Emit .weak when linkage is not external, internal, or private
d51ee46 [NVPTX] Just use getTypeAllocSize() when computing return value size for structures and vectors
9487d2a Vectorization documentation for loop hint pragmas and Rpass diagnostics.
f983ac3 Silencing some -Wcast-qual warnings. No functional changes intended.
75504d4 [x86] Fix a miscompile in the new shuffle lowering uncovered by a bootstrap.
c8a1169 IR: Add COMDATs to the IR
4a295df cmake: Don't do anything for LLVM_ENABLE_ASSERTIONS=OFF
86ebb34 lldb can interrupt waitpid, so EINTR shouldn't be an error. This fixes the case where there is no timeout. In the case where there is a timeout though, the code is still wrong since it doesn't check that the alarm really went off.
896cde8 R600: Move trivial getters into header, use initializer list
e70cdf9 Fix test so it doesn't try to write out temporary files into the test tree.
7b45088 Avoid non-ascii character in the source code.
d7d4277 MC: Fix associative sections on COFF
6d557f3 [FastISel][X86] Fix typos.
ee5d4a7 R600: Don't crash on unhandled instruction in promote alloca
b880c12 llvm-objdump: don't assert if ELF file has no sections
cea9bc9 Clean up unused variable warning in release build.
39ea80c Re-apply r211287: Remove support for LLVM runtime multi-threading.
1edaab9 [PowerPC] Constrain base register in PPCRegisterInfo::resolveFrameIndex
88897b7 [x86] Clean up some unused variables, especially in release builds.
c5114db [x86] Teach the target combine step to aggressively fold pshufd insturcions.
fc9897f [ELF][Mips] Fix recognition of MIPS 64-bit arch in the ELFObjectFile:getArch() method.
4363b07 [x86] Teach the target-specific combining how to aggressively fold half-shuffles, even looking through intervening instructions in a chain.
f911618 [x86] Teach the X86 backend to DAG-combine SSE2 shuffles that are trivially redundant.
050d187 [x86] Begin a significant overhaul of how vector lowering is done in the x86 backend.
3e19a9e [RuntimeDyld, PowerPC] Fix/improve handling of TOC relocations
9b0be7b IRReader: don't mark MemoryBuffers const
22e371c Added instruction combine to transform few more negative values addition to subtraction (Part 3) This patch enables transforms for
4299a8b Remove the caching of the target machine from SystemZTargetLowering. Update all callers and uses accordingly.
d023a35 GlobalOpt: Fix constantfold-initializers.ll test
c6bf237 Remove target machine caching from SystemZInstrInfo and SystemZRegisterInfo and replace it with the subtarget as that's all they needed in the first place. Update all uses and calls accordingly.
0263deb Revert "Revert "Revert "PR20038: DebugInfo: Inlined call sites where the caller has debug info but the call itself has no debug location."""
effea62 ArgumentPromotion: Propagate debug locations on calls for which arguments are promoted.
150f5b8 Revert "Revert "PR20038: DebugInfo: Inlined call sites where the caller has debug info but the call itself has no debug location.""
a4e84da Have SystemZSelectionDAGInfo constructor take a DataLayout rather than a target machine since it doesn't need anything past the DataLayout.
ba39a59 Rename getX86ConditonCode -> getX86ConditionCode
ac5b1ec Left out the NDEBUG in the previous checkin.
e8f8db1 MachineScheduler: add some book-keeping to fix an assert.
9fc1a6f Propagate const-correctness into parseBitcodeFile()
260f937 Have MipsSelectionDAGInfo constructor take a DataLayout rather than a target machine since it doesn't need anything past the DataLayout.
d0996e5 ParseIR: don't take ownership of the MemoryBuffer
4935128 Move NVPTX subtarget dependent variables from the target machine to the subtarget.
88a3c72 R600: Add some testcases for promote alloca pass.
ed4589d Use the target lowering we can get off of the DAG rather than off of the cached target machine.
e46ce9a Support: update DLLCharacteristics enumeration
4b31ba7 Support: tweak comment layout
2db3151 Don't force the build of toos/lto as a static lib.
20e4c0d Fix missing newline and simplify debug printing.
556a7c0 R600: Move load/store ReplaceNodeResults to common code.
84d545d Move the constructor for NVPTXFrameLowering into the implementation file in preparation for the subtarget move.
9456c7b Remove unnecessary caching of the TargetMachine on NVPTXFrameLowering. Adjust the constructor accordingly.
04c4efc Rework the logic for setting the TargetName. This appears to be shorter and identical in goal.
82cb24a Remove caching of the target machine in NVPTXInstrInfo and update constructor accordingly.
6c57c33 Remove comment that duplicated information in the constructor that it's after.
ac73635 Remove commented out code.
e6b542d Remove extraneous parens and extraneous const cast (and fix the prototype for the function to patch what we were returning).
66537f6 Move the subtarget dependent features from the target machine to the subtarget for the MSP430 target.
c3c52ee Remove uses and caches of the target machine and subtarget from both MSP430InstrInfo and MSP430RegisterInfo. Remove unused member variable StackAlign from MSP430RegisterInfo. Update constructors accordingly.
4b45f30 Remove caching of an unused subtarget from MSP430FrameLowering.
a50d4dd [X86] AVX512: Add vbroadcasti*
4da3ba8 Remove unnecessary caching of variables by MSP430TargetLowering and make the constructor more general since it only needs a target machine.
9fe7eae Have MSP430SelectionDAGInfo constructor take a DataLayout rather than a target machine since it doesn't need anything past the DataLayout.
061b8c3 Move all of the hexagon subtarget dependent variables from the target machine to the subtarget.
460f2ac Have HexagonSelectionDAGInfo take a DataLayout rather than a target machine since that's all it needs.
1ecbab2 Make HexagonISelLowering not dependent upon a HexagonTargetMachine, but a normal TargetMachine and remove a few cached uses.
197e3e3 Reduce indentation.
14fa97b Remove unnecessary caching of the subtarget for HexagonFrameLowering and remove the unused constructor argument.
2c7ee9b InstrItineraryData is already on the subtarget, no reason to cache it on the target as well.
b1b6d10 [StackMaps] Enable patchpoint liveness analysis per default.
307a644 [Stackmaps] Remove the liveness calculation for stackmap intrinsics.
9bd578e [RuntimeDyld] Teach MachOObjectImage to deregister itself with the debugger upon destruction the same way ELFObjectImage does.
8dd8d5c Revert "Introduce a string_ostream string builder facilty"
eca517d Move the various Subtarget dependent members down to the subtarget for the Sparc port. Use the same initializeSubtargetDependencies function to handle initialization similar to the other ports to handle dependencies.
9e50640 Have SparcSelectionDAGInfo take a DataLayout to initialize since that's all it needs.
d66d1a6 Remove the storage and use of the subtarget out of the sparc frame lowering code.
3259c25 fixed typo
9ad9c96 Fix the new LTOCodeGenerator setup in gold to parse options before using MAttrs.
c2d93c4 GVN: Preserve invariant.load metadata
db1c494 Remove extraneous includes from the target machines.
373c16a Move all of the ARM subtarget features down onto the subtarget rather than the target machine.
1bb7dd6 Move the frame lowering constructors out of line to avoid circular includes.
e0dd8fd Changed Phab 'CC' to 'subscriber'; fixed typo
3cd8cf6 R600/SI: Add FP mode bits to binary.
2711c0a Silencing a warning about isZExtFree hiding an inherited virtual function. No functional change intended.
fce47fe Silence a warning due to a comparison between signed and unsigned.
842549d Add support for ppc64/power8 as a host
eb30920 add ppc64/pwr8 as target includes handling DIR_PWR8 where appropriate The P7Model Itinerary is currently tied in for use under the P8Model, and will be updated later.
7eacf4e Added parsing co-processor names starting with "cr"
817812f [X86] Improve the selection of SSE3/AVX addsub instructions.
c2b11ba This patch removed duplicate code for matching patterns which are now handled in SimplifyUsingDistributiveLaws() (after r211261)
0bf7c06 Added instruction combine to transform few more negative values addition to subtraction (Part 2) This patch enables transforms for
29640bc GlobalOpt: Don't optimize thread_local for initializers
b0f5a0e R600: Fix vector FMA
5842c10 Remove forward decl of SmallVectorImpl now that we have the header
0545f16 Don't build switch tables for dllimport and TLS variables in GEPs
45f1660 MSVC build fix following r211749
f93fe90 [X86] AVX512: Fix asm syntax for packed vcmp
2559070 Introduce a string_ostream string builder facilty
ce6e7c7 For CrashRecoveryContext::RunSafelyOnThread, propagate Darwin's PRIO_DARWIN_BG to the new thread if it is set on the calling thread.
f36f20a Fix typo
0956fab [FastISel][X86] More refactoring of select lowering and XALU folding. NFC.
dd0966e The includes were sorted. Revert r210578.
a98f7c7 [FastISel][X86] Refactor XALU folding. NFC.
dd4814e Mention that Phabricator users should subscribe to *-commits
d01f1c4 [FastISel][X86] Only fold the cmp into the select when both instructions are in the same basic block.
91c39aa Merge the used symbol scanning of MCObjectStreamer and RecordStreamer.
276ef73 Revert "PR20038: DebugInfo: Inlined call sites where the caller has debug info but the call itself has no debug location."
c39f36d PR20038: DebugInfo: Inlined call sites where the caller has debug info but the call itself has no debug location.
d5a8fa7 Add Rpass-missed and Rpass-analysis reports to the loop vectorizer. The remarks give the vector width of vectorized loops and a brief analysis of loops that fail to be vectorized. For example, an analysis will be generated for loops containing control flow that cannot be simplified to a select. The optimization remarks also give the debug location of expressions that cannot be vectorized, for example the location of an unvectorizable call.
cae1ea6 [X86] Always prefer to lower a VECTOR_SHUFFLE into a BLENDI instead of SHUFP (or VPERM2X128).
75f1d66 Fix indentation.
79142ee Fix the build.
c7abd27 Move expression visitation logic up to MCStreamer.
1ca9d76 Add some test files for r211710.
bb16733 Rename loop unrolling and loop vectorizer metadata to have a common prefix.
a9d13b1 Fix = delete in MSVC build from r211705
d4feaf8 Simplify the visitation of target expressions. No functionality change.
b4840d7 Random Number Generator (llvm)
b209f33 Simplify AddValueSymbols. No functionality change.
6ce4a9f [msan] Fix bad interaction between with-calls mode and chained origin tracking.
95be6a7 Don't leak a file descriptor.
3c26b95 Code cleanup.
f6a9418 Add Polly to the ignored trees.
2edf5e4 [x86] Add intrinsics for the pshufd, pshuflw, and pshufhw instructions.
b720a3d Re-apply r211399, "Generate native unwind info on Win64" with a fix to ignore SEH pseudo ops in X86 JIT emitter.
2fc4d992 Reformat.
3e5582c [X86] Add target combine rule to select ADDSUB instructions from a build_vector
97c856a Factor out part of LICM::sink into a helper function.
9316a78 Fix unresolved symbols when loading gold plugin
98726c3 [LICM] Don't create more than one copy of an instruction per loop exit block when sinking.
aa2e057 Fix another asserting method in the null streamer.
5178d86 Fix a regression from r211653.
769a65c MCNullStreamer.cpp: Roll back a few empty methods that have been marked as unreachable in MCStreamer.cpp.
9a18ab0 CodeGen/X86/pr20088.ll: Add -march=x86-64, or llc fails due to non-x86 default target.
f36a43d Use SourceMgr::getMemoryBuffer() in a couple of places
1a7e8c4 Move some trivial methods up to MCStreamer.
7ede4b9 [RuntimeDyld] Adds the necessary hooks to MCJIT to be able to debug generated MachO files using the GDB JIT debugging interface.
49b52b3 Simplify the handling of .cfi_endproc.
a68a4f0 Simplify EmitLabel.
35a6a81 [FastISel][X86] Fold XALU condition into branch and compare.
11580ee R600/SI: Use a ComplexPattern for MUBUF stores
78d1e95 R600: Promote i64 stores to v2i32
e572ec6 ldr-pseudo-obj-errors.s: Fix silly copypasto.
d14e98a llvm/test/MC/AArch64/ldr-pseudo-obj-errors.s: Add -triple=aarch64-linux. AArch64 is unaware of PECOFF for now.
4186005 Print a=b as an assignment.
95eb45c R600: Fix inconsistency in rsq instructions.
0029534 fixed a few typos in comments
639c71b Fix up scoping in a few tests (and delete one that validates unnecessary behavior).
808d878 [PPC64] Fix PR20071 (fctiduz generated for targets lacking that instruction)
031ad1b vpblend intrinsics combines as shifts intrinsics due to absence return stmt between them Fix PR20088
a91ff54 R600: Remove DIV_INF
26da337 R600/SI: Move pattern to instruction definition
1357f0e Fix test case in r211605/r211533
10ec44d Add new debug kind LocTrackingOnly.
c33b488 Resubmit commit r211533
fde22c1 CodeGen: Avoid multiple strlen calls
01c8340 ARM: Fix TPsoft for Thumb mode
9a0f931 Remove an empty directory left after r211508.
8659ad4 Replace two release calls with std::move. I missed this on the previous commit.
0d50598 Pass a unique_ptr<MemoryBuffer> to the constructors in the  Binary hierarchy.
d3aaad2 Revert: r211588 - [mips] Use __clear_cache builtin instead of cacheflush() in Unix Memory::InvalidateInstructionCache()
cdde33e Revert r211287, "Remove support for LLVM runtime multi-threading."
90be077 [mips] Added support for assembling sdbbp.
2523346 [mips] Use __clear_cache builtin instead of cacheflush() in Unix Memory::InvalidateInstructionCache()
0e6156a InstCombine: Disable umul.with.overflow recognition for vectors.
9c88403 InstCombine: Don't try to reorder shuffles where the mask is a ConstantExpr.
f396732 GlobalOpt: Don't optimize dllimport for initializers
877ef74 Include <tuple> for std::tie
8c0787e [AArch64] Fix a build_vector pattern match fail caused by defect in isBuildVectorAllZeros().
f36c3de [Disasm][AVX512] Implement decoding of top bit for non-destructive reg fields
68cda26 [Emacs] Use spaces rather than tabs for indentation in tablegen-mode
856361c Support: Move class ScaledNumber
6ecab5a BFI: Un-floatify more language
529072a BFI: Remove more float-like language from ScaledNumber
8e52bcc Support: Return ScaledNumbers::MaxScale from getQuotient()
784bb59 Support: Extract ScaledNumbers::MinScale and MaxScale
747b62f BFI: Change language from "exponent" to "scale"
1c4709c BFI: Update ScaledNumber header docs
7c21d70 BFI: Rename UnsignedFloat => ScaledNumber
67886a9 Fix comments from r211553
558b772 Support: Extract ScaledNumbers::getSum() and getDifference()
465f06c Support: Return scale from ScaledNumbers::matchScales()
71c2411 not: Only consider exit code 3 to be a crash with --crash
b138cab Pass a std::unique_ptr& to the create??? methods is lib/Object.
20732d5 [FastISel][X86] Lower unsupported selects to control-flow.
d0976a3 [FastISel][X86] Add support for floating-point select.
5f4e6e1 [FastISel][X86] Optimize selects when the condition comes from a compare.
1f65932 Make ObjectFile and BitcodeReader always own the MemoryBuffer.
7e7e89f This reverts commit r211533 and r211539.
af5c54f Fix cmake build.
61438b1 Simplify memory management with std::unique_ptr.
63a0ff9 nm-trivial-object.test requires shell since Lit internal runner isn't capable of chdir.
3cffac5 Fix PR20056: Implement pseudo LDR <reg>, =<literal/label> for AArch64
2da9703 Convert a few methods to use ErrorOr.
0da818c Support: Extract ScaledNumbers::matchScale()
138222e Change the default input for llvm-nm to be a.out instead of standard input to match llvm-size and other UNIX systems for their nm(1).
5e761eb [Mips] Add a target streamer when creating a null streamer.
9dd6fee Recommit 211309 (StringMap::insert), reverted in 211328 due to issues with private, but non-deleted, move members.
140c6ae R600/SI: Verify restrictions on div_scale operands.
ed143b7 R600/SI: Fix div_scale intrinsic.
d88f5b7 R600: Fix formatting of intrinsic definitions.
dd15ed8 Cleanup r211507
737f207 ARMEB: Vector extend operations
791c054 R600: Remove AMDILISelLowering
6272302 R600: Select is not expensive.
9ad2c7e R600: Move add/sub with overflow out of AMDILISelLowering
5f607c0 R600: Move more out of AMDILISelLowering
a12b356 R600: Don't set fp_round_inreg action.
c4471e9 R600/SI: Handle i64 sub.
e564b6e R600/SI: Move selection of i64 add to separate function.
b170a8042 R600: Rename AMDIL file
cf88d40 Fix missing words in sentence
261698f Use helper function
1f93cf4 Alphabetize forward declarations
67c5f45 Delete utils/FileUpdate.
18a301e Support: Extract ScaledNumbers::compare()
88a564f Allow using .cfi_startproc without a leading symbol.
1e1bf1b clang-format initializer to reduce noise in another patch.
a118083 Stop producing func.eh symbols on Darwin.
0de4a6b Remove a temporary hack.
b548b6b [PowerPC] Refactor getMinCallFrameSize / getMinCallArgumentsSize
9a154bf [PowerPC] Allow stack frames without parameter save area
899842d [PowerPC] Fix IsDarwin arg in PPCFrameLowering:: calls
c125f3c [PowerPC] Refactor setMinReservedArea and CalculateParameterAndLinkageAreaSize
fdb6eb6 [PowerPC] Fix on-stack AltiVec arguments with 64-bit SVR4
6f7e87c ARM: mark UBFX as not allowing PC.
139f2f1 MC: Cleanup parseMSInlineAsm
7a3698e MC: adjust text section flags for WoA
9124b45 Revert r211399, "Generate native unwind info on Win64"
ddf2a79 R600: Use LowerSDIVREM for i64 node replace
cd88535 R600: Implement custom SDIVREM.
728ea0c R600: Add udivrem test
7798d59 Fix PR20087 by using the source index when changing the vector load
fe755c5 Introduce a Lit feature "debug_frame" and apply it to llvm/test/MC/ELF/cfi-version.ll.
84dd75d Add a description to the test from r211433 explaining why it's written that way.
78f173a LoopVectorizer: Fix a dominance issue
c815039 MergeFunctions Pass, removed DenseMap helpers.
aa5b571 MergeFunctions Pass, updated header comments.
09f104f Report error for non-zero data in .bss
427afb9 MergeFunctions Pass, FnSet has been replaced with FnTree.
83ac8b3 MergeFunctions Pass, removed unused methods from old implementation.
7682318 MergeFunctions, doSanityCheck: fixed body comments.
e298b1c MergeFunctions Pass, introduced sanity check, that checks order relation, introduced among functions set.
23a7bfc MergeFunctions Pass, introduced total ordering among top-level comparison methods.
6b7ff6b LoopUnrollRuntime: Check for overflow in the trip count calculation.
636a9be Legalizer: Add support for splitting insert_subvectors.
b7f1fb4 SCEVExpander: Fold constant PHIs harder. The logic below only understands proper IVs.
7921239 Add back functionality removed in r210497.
5d0ff9c [X86] Add ISel patterns to select SSE3/AVX ADDSUB instructions.
9222a23 Fix the MinGW builder.  Apparently std::call_once and std::recursive_mutex are not available on MinGW and breaks the builder.  Revert to using a function local static and sys::Mutex just to get the tree green until we figure out a better solution.
45fdc3d Always use a temp symbol for CIE.
32b14f8 Use compact unwind for the iOS simulator.
a896f2b Use a helper function and clang-format.
fb7b9a7 Support: ScaledNumber: Fix inconsistent test names
6f5fa4a Support: Write ScaledNumbers::getLg{,Floor,Ceiling}()
b019bb8 Delete dead code.
6729109 Support: Write ScaledNumber::getQuotient() and getProduct()
97eb788 Support: Cleanup ScaledNumber::getAdjusted() doc
2d3fb0a Support: Mark end of namespaces
efc4478 Fix some double printing of filenames for archives in llvm-nm when the tool is given multiple files.  Also fix the same issue with Mach-O universal files. And fix the newline spacing to separate the output in these cases.
85fdfe8 Don't produce eh_frame relocations when targeting the IOS simulator.
91e18f7 Revert "Replace Execution Engine's mutex with std::recursive_mutex."
5b8e73e Generate native unwind info on Win64
20dead8 Fix some -Wsign-compare fallout from changing container count member functions to return unsigned instead of bool.
81ed09a Commited patch from Björn Steinbrink: Summary: Different range metadata can lead to different optimizations in later passes, possibly breaking the semantics of the merged function. So range metadata must be taken into consideration when comparing Load instructions.
8d99e76 [Make] Fix dependencies for td.expanded
e29fc75 [RuntimeDyld] Fix ppc64 stub relocations on little-endian
602941c Fix a warning about the use of const being ignored with a cast.
2a069ac [RuntimeDyld] Support more PPC64 relocations
c0bf939 R600/SI: Add patterns for ctpop inside a branch
61d64ac R600/SI: Add a pattern for f32 ftrunc
2cda6e8 R600: Expand vector flog2
2d245e2 R600: Expand vector fexp2
98b0736 R600/SI: SI Control Flow Annotation bug fixed
538c951 R600/SI: Add a VALU pattern for i64 xor
69e4786 [PowerPC] Fix small argument stack slot offset for LE
e54c32e Move test so that it is skipped if the ARM target is not enabled.
61b696f Allow a target to create a null streamer.
729aa1d Code in LoopStrengthReduce.cpp depends on SmallBitVector::size() being size_t and not unsigned.
212e2b9 Reverting size_type for the containers from size_type to unsigned. Various places in LLVM assume that container size and count are unsigned and do not use the container size_type. Therefore they break compilation (or possibly executation) for LP64 systems where size_t is 64 bit while unsigned is still 32 bit.
7d5bff0 Attempting to fix the 64 bit bots.
ed4e8a8 The count() function for STL datatypes returns unsigned, even where it's only 1/0 result like std::set. Some of the LLVM ADT already return unsigned count(), while others still return bool count().
e5241cc Emit the ARM build attributes ABI_PCS_wchar_t and ABI_enum_size.
a5efeb6 ps][mips64r6] Added LSA/DLSA instructions Differential Revision: http://reviews.llvm.org/D3897
7d1f779 R600: Trivial subtarget feature cleanups.
14d8c9e ArgList: use MakeArgList overloads in subclasses and clean up some calls.
d2ce939 Add Support to Recognize and Vectorize NON SIMD instructions in SLPVectorizer.
af08b8b Support: Clean up getRounded() tests
5cf3938 Support: Write ScaledNumbers::getAdjusted()
8483dac Small clanups:
caa2bd6 Fix .cpp files claiming to be header files
16e592a Support: Write ScaledNumbers::getRounded()
c577e71 [x86] Make the x86 PACKSSWB, PACKSSDW, PACKUSWB, and PACKUSDW instructions available as synthetic SDNodes PACKSS and PACKUS that will select to the correct instruction variants based on the return type. This allows us to use these rather important instructions when lowering vector shuffles.
160dcf5 Don't build switch lookup tables for dllimport or TLS variables
6fda71e Revert "Add StringMap::insert(pair) consistent with the standard associative container concept."
d1e6461 Added the -m option as an alias for -format=darwin to llvm-nm and llvm-size which is what the darwin tools use for the Mach-O format output.
2ae686a The gold plugin doesn't need disassemblers.
f38fdf1 Set gold plugin options in a sane order.
f7b992bd Fix the output of llvm-nm for Mach-O files to use the characters ‘d’ and ‘b’ for data and bss symbols instead of the generic ’s’ for a symbol in a section.
7c9dcfb Simplify. No functionality change.
5c2871c Use the assignment operator.
474f223 Reduce indentation. No functionality change.
9eb38b2 Set missing options in LTOCodeGenerator::setTargetOptions.
c28016e Change the output of llvm-nm and llvm-size for Mach-O universal files (aka fat files) to print “ (for architecture XYZ)” for fat files with more than one architecture to be like what the darwin tools do for fat files.
0b5745a Use lib/LTO directly in the gold plugin.
d2f9358 Add a new subtarget hook for whether or not we'd like to enable the atomic load linked expander pass to run for a particular subtarget. This requires a check of the subtarget and so save the TargetMachine rather than only TargetLoweringInfo and update all callers.
e0d89ff Include Threading.h instead of forward declaring a function.
4110a7a Add StringMap::insert(pair) consistent with the standard associative container concept.
594f05c Since we're using DW_AT_string rather than DW_AT_strp for debug_info for assembly files we can't depend on the offset within the section after a string since it could be different between producers etc. Relax these tests accordingly.
edd372a Fix up a few formatting issues.
d308c35 Remove an incorrect fixme.
d06976a Fix typos
f21de94 Support: Add llvm::sys::fs::copy_file
581d5d5 Remove bogus configure check
30db0c2 Add option to keep flavor out of the install directory
5b45c5d Turn of -Werror by default
74fc19e Fix this test a little harder - use llc_dwarf to make sure we don't try to execute it on windows.
580a14f Remove unused includes following r211294
01ccb9c Use the c++ APIs.
cadf0f6 Relax this test a bit, we don't need the full contents of the frame section to match, just the version for this test.
f25c201 Remove use of removed function, llvm_stop_multithreading
9022b9a Remove circular header reference in Threading.h/Mutex.h
ab19aae Fix build on non-Windows platforms.
a4d0ff9 Remove support for LLVM runtime multi-threading.
6072096 DebugInfo: Fission: Ensure the address pool entries for location lists are emitted.
36a3211 MCNullStreamer: assign file IDs to resolve crashes and errors
e4d0a5e [ValueTracking] Extend range metadata to call/invoke
b7509c6 Tests for r211273
761f331 Kill the LLVM global lock.
591f9ee Emit DWARF info for all code section in an assembly file
bb804ee Emit DWARF3 call frame information when DWARF3+ debug info is requested
7e40983 [mips] Implementation of dli.
2710772 [mips] Small update to the logic behind the expansion of assembly pseudo instructions.
dc9bdcc Updated comments as suggested by Rafael. Thanks.
85386a3 Added instruction combine to transform few more negative values addition to subtraction (Part 1) This patch enables transforms for following patterns.   (x + (~(y & c) + 1)   -->   x - (y & c)   (x + (~((y >> z) & c) + 1)   -->   x - ((y>>z) & c)
cfdf805 [X86] Teach how to combine horizontal binop even in the presence of undefs.
8317509 Refactored and updated SimplifyUsingDistributiveLaws() to  * Find factorization opportunities using identity values.  * Find factorization opportunities by treating shl(X, C) as mul (X, shl(C))  * Keep NSW flag while simplifying instruction using factorization.
c28beb2 CommandLine: bail out when options get multiply registered
ba928e2 Remove OwningPtr.h and associated tests
6c2e887 InstCombine: Stop two transforms dueling
179bb4e Move -dwarf-version to an MC level command line option so it's used by all of the MC level tools and codegen. Fix up all uses in the compiler to use this and set it on the context accordingly.
054bd5d Remove unnecessary include.
e793899 80-column fixups.
bd01df2 Convert some assert(0) to llvm_unreachable or fold an 'if' condition into the assert.
64429ce R600: Add a few tests I forgot to add.
fe3a219 Move optimization of some cases of (A & C1)|(B & C2) from instcombine to instsimplify. Patch by Rahul Jain, plus some last minute changes by me -- you can blame me for any bugs.
650b6ea Make instsimplify's analysis of icmp eq/ne use computeKnownBits to determine whether the icmp is always true or false. Patch by Suyog Sarda!
bdb4aca Remove redundant code in InstCombineShift, no functionality change because instsimplify already does this and instcombine calls instsimplify a few lines above. Patch by Suyog Sarda!
f9ec8fe MS asm: Properly handle quoted symbol names
d9b3543 R600/SI: Add intrinsics for various math instructions.
dd8406a Fix breakage from r211244 by using LLVM_EXPLICIT to avoid using explicit operators under MSVC where they're not supported.
1260b84 PR10140 - StringPool's PooledStringPtr has non-const operator== causing bad OR-result.
887a5c7 Move ARMJITInfo off of the TargetMachine and down onto the subtarget. This required untangling a mess of headers that included around.
2ea6d93 Use stdint macros for specifying size of constants
fb2b9fb Teach llvm-size to know about Mach-O universal files (aka fat files) and fat files containing archives.
ce09bda R600: Handle fnearbyint
f286d63 R600/SI: add gather4 and getlod intrinsics (v3)
311ea12 Use LL suffix for literal that should be 64-bits.
6c59006 Add a symbols() range and use a range loop.
d8fc64e Simplify code.
8890694 MC: do not add comment string to the AsmToken in AsmLexer::LexLineComment
791ff5a MCAsmParser: full support for gas' '.if{cond} expression' directives
1f502bd Replace Execution Engine's mutex with std::recursive_mutex.
b279154 Revert a C API difference that I incorrectly introduced.
fff95d5 Make getBaseObject static.
d681e31 Change IRObjectFile to parse the bitcode lazily.
cc21bbd Remove BitcodeReader::setBufferOwned.
ec2d823 Simply test for available locations in optimization remarks.
ffbd906 [PowerPC] Remove unnecessary load of r12 in indirect call
75b56dc Update to the latest registered ELF e_machine names and values.
8dfacbc Run clang-format in a small chunk of code I am about to change.
8252de6 ProfileData: Fix copy-paste type in RawInstrProfReader
de04c48 [ARM] [MC] Refactor the constant pool classes
7ec69f6 ADT: correct typo in comment
52b6c2d R600: Expand vector fceil
0c57bab [PowerPC] Simplify and improve loading into TOC register
4380c61 Work around ridiculous warning.
496e7ea [PowerPC] Add back test case for absolute calls (removed in r211174)
5d5ddf9 Add a triple so that right syntax is choosen on mac osx systems
2b6e6fc R600/SI: Add intrinsics for brev instructions
795ae86 R600/SI: Prettier operand printing for 64-bit ops.
95f1fa7 [mips] SYNC $stype instruction was added in Mips32 but SYNC with an implied operand ($stype = 0) is valid since Mips2.
a841620 Fix a memory leak in the error path.
debd831 R600: Implement f64 ftrunc, ffloor and fceil.
a5395c0 R600: Custom lower f64 frint for pre-CI
f7aa5f9 R600/SI: Temporary fix for f64 fneg
3de1bed R600/SI: Comparisons set vcc.
f1b790f [X86] AVX512: Add non-temporal stores
7fc6959 [X86] AVX512: Specify compressed displacement for vmovntdqa
336da8c [PowerPC] Do not use BLA with the 64-bit SVR4 ABI
aa6a13a Do not XFAIL test/tools/llvm-cov tests on powerpc64le
b7074b8c [PowerPC] Fix emitting instruction pairs on LE
3fbbe94 Support LE in RelocVisitor::visitELF_PPC64_*
c39b18b [mips] Fix expansion of memory operation if destination register is not a GPR.
cacc062 [mips] Report correct location when "erroring" about the use of $at when it's not available.
f3a4a4b [mips][mips64r6] Add BLTC and BLTUC instructions Differential Revision: http://reviews.llvm.org/D3923
7047ad9 [mips] Access $at only if necessary.
c52345c Add pattern for unsigned v4i32->v4f64 convert on AVX512.
20887ff [mips] Update MipsAsmParser so that it's possible to handle immediates that start with the binary operator NOT (~).
86f9d29 [mips] Implement alias for 'and' and 'or' instructions for all ISAs.
dd9e510 [mips] Remove the last usage of parseRegister from MipsAsmParser.
c32d52d R600: Implement 64bit SRA
2d06e73 R600: Implement 64bit SRL
a64058f R600: Implement 64bit SHL
fc72762 [msan] Handle X86 *.psad.* and *.pmadd.* intrinsics.
5393254 DAG: move sret demotion into most basic LowerCallTo implementation.
ef592db [llvm-readobj] Fix member functions name style.
4f05d1d [llvm-readobj] Fix compile error.
42469f6 [llvm-readobj][ELF] New `-mips-plt-got` command line option to output MIPS GOT section.
02b4e6e Revert "Random Number Generator (llvm)"
1d04a23 Random Number Generator (llvm)
74287ec [AArch64] Fix a pattern match failure caused by creating improper CONCAT_VECTOR.
10d664f Replace some assert(0)'s with llvm_unreachable.
868e579 Add the coverage cflags to the link step as well to make sure that we link in the support libraries.
41b3329 Allow X86FastIsel to cope with 64 bit absolute relocations
e8cb2ee [FastISel][X86] Optimize predicates and fold CMP instructions.
97a66e6 Remove more occurrences of the unused-mutex-parameter pattern.
540fe7f R600/SI: Make sure target flags are set on pseudo VOP3 instructions
4a5916a lit: simplify population of the actual_inputs array
476fd7c Merge lib/Support/WindowsError.cpp into ib/Support/ErrorHandling.cpp.
acc5e81 Add "-format darwin" to llvm-size to be like darwin's size(1) -m output, and and the -l option for the long format.  Also when the object is a Mach-O file and the format is berkeley produce output like darwin’s default size(1) summary berkeley derived output.
3f1f259 R600/SI: Match cttz_zero_undef
62e378b R600/SI: Match ctlz_zero_undef
b5a9102 mark the old jit tests as unsupported for powerpc64 (for cmake)
f56e767 R600: Use LDS and vectors for private memory
ff8dc48 R600/SI: Add a pattern for llvm.AMDGPU.barrier.global
bae98b1 SelectionDAG: Expand i64 = FP_TO_SINT i32
41bfd78 R600/SI: Re-initialize the m0 register after using it for indirect addressing
1d5ff6b [FastISel][X86] Fix previous refactoring commit (r211077)
199da60 Fixed jump threading going to infinite loop.
3b2a256 Move SetTheory from utils/TableGen into lib/TableGen so Clang can use it.
fc6e030 Fix memory leak of RegScavenger accidentally added in r211037.
c22960d AArch64: estimate inline asm length during branch relaxation
3a001aa [msan] Fix a comment.
9f27b05 ConvertUTF tests: remove uses of initializer lists to restore compatibility with MSVC
792a173 [msan] Fix handling of multiplication by a constant with a number of trailing zeroes.
feacf82 Support: Inject LLVM_VERSION_INFO into the Support library
d0dbed1 tools: Add a space between package version and LLVM_VERSION_INFO
8164e51 Convert a few loops to use ranges.
4e23baa Add an overload for SourceMgr::PrintMessage that takes an existing diagnostic.
ecb1c3a Modernize doc comments for SourceMgr.
dcc9291 [InstCombine] mark ADD with nuw if no unsigned overflow
4072aa3 Fix build breakage caused by change to ValueMapTest.
0dee675 SROA: Only split loads on byte boundaries
84fea77 Expose ValueMap's mutex type as a typedef instead of a sys::Mutex.
408691f [FastISel][X86] Refactor the code to get the X86 condition from a helper function. NFC.
4046db0 Teach LoopUnrollPass to respect loop unrolling hints in metadata.
5ea4669 Revert r211066, 211067, 211068, 211069, 211070.
298ff80 Cleanup more unreferenced MutexGuard parameters on functions.
4641b6b Programmer's Manual changes.
9020dc3 Kill the LLVM global lock.
497b7bb Remove some code churn.
aedb552 Remove some more code out into a separate CL.
9be5c8c Users of the llvm global mutex must now acquire it manually.
8b3a8d63 Add load/store functionality
44d2cdc AArch64: Add backend intrinsic for rbit.
5c1a1b2 ARM: intrinsic support for rbit.
212ec3a [PPC64] Fix PR19893 - improve code generation for local function addresses
e4f1220 Since the DataLayout is always found off of the subtarget go ahead and query the base target machine implementation for it.
4031acb Clean up some unnecessary mutex guards.
163eb09 Improve comments for r211040
baf9879 Revert "lit: warn when passed invalid pathname" (r210597)
73b142e ARM: implement correct atomic operations on v7M
a564159 Fix illegal relocations in X86FastISel
dc2dc39 LowerSwitch: track bounding range for the condition tree.
4085197 Refactor the disabling of Thumb-1 LDM/STM generation
7f2f94f Fix pr17056.
0659928 Convert the Archive API to use ErrorOr.
d492c19 [AArch64] Remove dead code.
5d57928 Hook up vector int_ctlz for AVX512.
dfcd461 [mips][mips64r6] ssnop is deprecated on MIPS32r6/MIPS64r6
77ae274 [mips][mips64r6] cl[oz], and dcl[oz] are re-encoded in MIPS32r6/MIPS64r6
af0d72a [mips][mips64r6] ll, sc, lld, and scd are re-encoded on MIPS32r6/MIPS64r6.
438c85b Support/ConvertUTF: restore compatibility with MSVC, which only implements C89
9becc6c Support/ConvertUTF: implement U+FFFD insertion according to the recommendation given in the Unicode spec
b3820b4 [AArch64] Fix a fencepost error in lowering for llvm.aarch64.neon.uqshl.
b0e4096 [mips] Merge most of the big/little endian checks in atomic.ll
5ee24f3 [mips][mips64r6] [ls][wd]c2 were re-encoded with 11-bit signed immediates rather than 16-bit in MIPS32r6/MIPS64r6
467e6ad ARMEB: Fix trunc store for vector types
f6eb7e3 Canonicalize addrspacecast ConstExpr between different pointer types
f9ef37a Fix copy paste error
3c11f69 R600: Add a rotr testcase I forgot to add
fa848cc R600: Remove a few more things from AMDILISelLowering
e2480a2 R600: Fix assert on vector sdiv
62f6ab7 R600: Move / cleanup more leftover AMDIL stuff.
57177e3 R600: Move division custom lowering out of AMDILISelLowering
47d34ab Temporarily revert r210953 in an attempt to bring the ARM buildbots back.
61bfbc4 R600: Report that integer division is expensive.
36b9c7c R600: Remove dead code
5379c69 PR20038: DebugInfo missing DIEs for some concrete variables.
cc3f31a Add specialization of FoldingSetTrait for std::pair.
40ed1d8 LegalizeDAG: make sure cast is unsigned before using FP_TO_UINT.
8bfc50e AArch64: improve handling & modelling of FP_TO_XINT nodes.
94fe5c1 AArch64: improve vector [su]itofp handling.
e12d893 Don't expect tests always crashing. Add "REQUIRES:asserts".
f6b4b10 Replacing the private implementations of SwapValue with calls to sys::swapByteOrder()
ab22d95 Using llvm::sys::swapByteOrder() for the common case of byte-swapping a value in place
25e659b Adding llvm::sys::swapByteOrder() for the common use-case of byte-swapping a value in place
9bb92cb Renaming SwapByteOrder() to getSwappedBytes()
7a3a020 R600: Add failing testcases.
212514f Fix typo
aac455a R600: Fix asserts related to constant initializers
15f474c R600: Use address space enum instead of value
38be65b Remove extra whitespace in function declaration. No functionality change.
d32eccc DebugInfo: Remove some extra handling of abstract variables and instead rely solely on the delayed handling introduced in r210946
53551e2 Remove InstrItineraryData off of the TargetMachine - it's already on the subtarget and just forward the accessor.
58c99da Move ARMJITInfo off of the TargetMachine and down onto the subtarget. This required untangling a mess of headers that included around.
087f56e Complete remove test/Transforms/GlobalMerge.
c5bc067 Move GlobalMerge from Transform to CodeGen.
7354a3f The hazard recognizer only needs a subtarget, not a target machine so make it take one. Fix up all users accordingly.
0cf109d Fix typo.
f154f3b DebugInfo: Reference abstract definitions from variables in concrete definitions that preceed their first inline definition.
869d3ef [DWARF parser] Use distinction between DW_AT_ranges_base and DW_AT_GNU_ranges_base instead of DWARF version
9907af9 DwarfDebug::getExistingAbstractVariable: constify an existing reference parameter that didn't need to be mutated.
0fcb9cb DebugInfo: Following up to r209677, refactor local variable emission to delay the choice between emitting the definition attributes or using DW_AT_abstract_definition
c4268a6 DebugInfo: Refactor some tests to allow DW_AT_name to not be the first attribute in a local variable.
0c2029a test/DebugInfo/X86/dbg-value-isel.s: correct lexical block descriptor to match schema
89e90b2 Make the error-handling functions thread-safe.
6140939 Remove top-level Clang -fsanitize= flags for optional ASan features.
eee7a7a X86: lower ATOMIC_CMP_SWAP_WITH_SUCCESS directly
f317d86 R600: Cleanup some old AMDIL stuff.
d8b2310 Finishing touch for the std::error_code transition.
33fe993 Atomics: make use of the "cmpxchg weak" instruction.
6b3ed2b Atomics: switch direction of cmpxchg comparison
61bc72e R600: Remove AMDIL instruction and register definitions
df46288 opt: Initialize asm printers
cc0d35a Remove unused and odd code.
520ae5c Remove broken include.
087c5bc Fix KillTheDoctor after r210725.
e1a9d50 SCCP: update for cmpxchg returning { iN, i1 } now.
636ae2b [mips][mips64r6] Relocation R_MIPS_PC18_S3 Differential Revision: http://reviews.llvm.org/D3890
6eaf840 Docs: remove extra {} around result types.
ab47c15 Docs: fix grammar error in description
8f2a85e IR: add "cmpxchg weak" variant to support permitted failure.
1d5e379 Fix bad copy-and-paste from r210652. AVX512 masked leading zero intrinsics.
7cfd0ff [mips] Add cache and pref instructions
ef8e567 [mips][mips64r6] bc1any[24] are not available on MIPS32r6/MIPS64r6
21ed78f [mips][mips64r6] b(ge|lt)zal are not available on MIPS32r6/MIPS64r6 and bal is a normal instruction
21c016f [mips][mips64r6] daddi is not available on MIPS64r6
94afbc6 [Win32] Let utils/not aware of abort(), aka llvm_unreachable(), in msvcrt.
c5865cb llvm/test/CodeGen/X86/fast-isel-args-fail2.ll: Don't expect to fail with -Asserts. It might or might not crash.
a411d0e Add HasCDI predicate to AVX512 VPBROADCASTM*.
d5d864b CPP backend: set volatile property on atomic instructions.
a19c2d4 ARM: Fix fastcc calling convention for Thumb1
efa4805 R600: Don't call setOperationAction with things that aren't opcodes.
d344c6b R600/SI: Fix selection error on i64 rotl / rotr.
2503051 Remove the last uses of 'using std::error_code'
1ad4502 Remove 'using std::error_code' from tools.
7532b40 Fix build on windows.
4e2b922 Remove 'using std::errro_code' from lib.
e431884 [FastISel][X86] Add support for cvttss2si/cvttsd2si intrinsics.
6b0a08b R600: Move AMDGPUInstrInfo from AMDGPUTargetMachine into AMDGPUSubtarget
ee0f389 R600: Drop use of cached TargetMachine in R600InstrInfo.cpp
a20bcb9 Remove all uses of 'using std::error_code' from headers.
aa48b83 R600: Drop use of cached TargetMachine in AMDGPUInstrInfo.cpp
7f8d138 [FastISel][X86] - Add branch weights
f7a2d5e Move ARMSelectionDAGInfo from the TargetMachine to the subtarget.
1ee2461 Move to a private function to initialize subtarget dependencies so we can use initializer lists for the ARMSubtarget and then use this to initialize a moved DataLayout on the subtarget from the TargetMachine.
740a759 [DWARF parser] Fix broken address ranges construction.
9a81e28 Have ARMSelectionDAGInfo take a DataLayout as it's argument as the DAG has access to the subtarget and TargetSelectionDAGInfo only needs a DataLayout.
4eddf94 [FastISel][X86] Add MachineMemOperand to load/store instructions.
cccc317 Move the PPCSelectionDAGInfo off the TargetMachine and onto the subtarget.
8c5dc52 Make PPCSelectionDAGInfo take a DataLayout instead of a TargetMachine since that's all it needs.
a715914 Move PPCTargetLowering off of the TargetMachine and onto the subtarget.
cb7dc25 Remove an extraneous this-> to access the subtarget.
f6b9efa Rename PPCSubTarget to Subtarget in PPCTargetLowering for consistency. Also remove an extra local subtarget in the initialization functions.
796f114 Fix the scheduler's MaxObservedStall computation.
4ecff11 Move PPCJITInfo off of the TargetMachine and onto the subtarget. Needed to migrate a few functions around to avoid circular header dependencies.
ad80737 Remove the use of TargetMachine from PPCJITInfo and replace with the subtarget. Also remove unnecessary argument to the constructor at the same time, we already have access via the subtarget.
01d3cb8 Fix the build of KillTheDoctor.
f8f75df [modules] The LLVM C API does not require C++!
e3466d3 Move PPCInstrInfo off of the target machine and onto the subtarget.
647ab7f Try to fix the windows build.
f7ab98c Remove TargetMachine from PPCInstrInfo and all dependencies and replace with the current subtarget.
5c792fa Don't use 'using std::error_code' in include/llvm.
7418e1f Move test for r210734 to Feature/aliases.ll.
231097b Delete trailing whitespace.
cc738f8 Update test case to use "not" instead of "XFAIL".
3fdfffb GVN: Enable value forwarding for calloc
00c3986 R600: Mostly remove remaining AMDIL intrinsics.
159a755 Move DataLayout from the PPCTargetMachine to the subtarget.
054a744 Move PPCFrameLowering into PPCSubtarget from PPCTargetMachine. Use the initializeSubtargetDependencies code to obtain an initialized subtarget and migrate a couple of subtarget using functions to the .cpp file to avoid circular includes.
4cea002 LangRef: clarify that global declarations can have section and alignment info.
c7147a3 [FastISel][X86] Argument lowering test case
3f2b28d [FastIsel][X86] Add support for lowering the first 8 floating-point arguments.
3455c40 CodeGen: enable mov.w/mov.t pairs with minsize for WoA
a15b05e Revert "[FastIsel][X86] Add support for lowering the first 8 floating-point arguments."
4dfa681 [llvm-symbolizer] Fix parsing DW_AT_ranges in Fission skeleton compile unit DIEs.
7c3436d Add missing "InitializerConstant" to global variable syntax in LangRef.
2627806 Revert r210721 as it causes breakage in internal builds (and possibly GDB).
a984b30 X86: stifle GCC warning
daf73d6 Trying to fix the windows build.
d5132f9 Remove system_error.h.
f58ab6b adding re-include guards into lib/Support/reg*.h
070d532 Remove pimpl class from PassRegistry.
82a51de Revert "SelectionDAG: Enable (and (setcc x), (setcc y)) -> (setcc (and x, y)) for vectors"
5eba90a Disable the load/store optimization pass for Thumb-1.
1f4c755 [mips][mips64r6] bc1[tf] are not available on MIPS32r6/MIPS64r6
159b95c [mips][mips64r6] bc2[ft] are not available on MIPS32r6/MIPS64r6
28002c2 [mips][mips64r6] [sl][duw]xc1 are not available on MIPS32r6/MIPS64r6
15aa07b Replace llvm::error_code with std::error_code.
7edfaf7 This removes TODO added in http://reviews.llvm.org/D3658
7554a4a [mips][mips64r6] prefx is not available on MIPS32r6/MIPS64r6
c673d0b [mips][mips64r6] 80 col corrections that should have been in r210777.
8007133 [mips][mips64r6] c.cond.fmt, mov[fntz], and mov[fntz].[ds] are not available on MIPS32r6/MIPS64r6
7a2514f [mips][mips64r6] jalx is not available on MIPS32r6/MIPS64r6
10ce787 [mips][mips64r6] Add R_MIPS_PC19_S2 Differential Revision: http://reviews.llvm.org/D3866
9ac3cc8 Don't import make_error_code into the llvm namespace.
14e97c4 [mips] Use MTHC1 when it is available (MIPS32r2 and later) for both FP32 and FP64
24ba4fa [mips][mips64r6] Add bgec and bgeuc instructions Differential Revision: http://reviews.llvm.org/D4017
371446a [X86] Teach how to dump the name of target node RDTSCP_DAG.
79d08ab CMake: don't install the internal config.h header
a61aa38 [mips][mips64r6] madd.[ds], msub.[ds], nmadd.[ds], and nmsub.[ds] are not available on MIPS32r6/MIPS64r6
d94bc70 [mips][mips64r6] madd/maddu/msub/msubu are not available on MIPS32r6/MIPS64r6
bf4e625 [X86] Teach how to combine AVX and AVX2 horizontal binop on packed 256-bit vectors.
38b2a0b [mips][mips64r6] Replace m[tf]hi, m[tf]lo, mult, multu, dmult, dmultu, div, ddiv, divu, ddivu for MIPS32r6/MIPS64.
e0bf9d2 [mips] Move CHECK lines to the same line as the instruction it's testing for consistency with the other tests.
0b87955 R600/SI: Use a register set to -1 for data0 on ds_inc*/ds_dec*
3299dee Avoid in-class initializer from r210747
5303292 Avoid anonymous namespace in header from r210747
09d875f Avoid redundant allocations in the linker optimisation hint
729fc8f [FastISel][x86] Add testcase for r210719.
f66c14f [x86] Improve frameaddress test from r210709.
2c9a12f [FastISel] Add support for the stackmap intrinsic.
7411b43 Prefix generic_category with std::.
81f207b Don't put generic_category in the llvm namespace.
2347556 Fix verifier for GlobalAliases to avoid recursing into global initializers.
9ee3431 Don't import error_category into the llvm namespace.
173d7ff Don't import error_condition into the llvm namespace.
5ac7ab3 Used mapWindowsError. I missed these in the initial transition.
e964d1d Remove some low hanging fruit from system_error.h
9387d05 Try to fix the mingw build.
a4dc93e Do not register and de-register PassRegistrationListeners during construction and destruction.
87fcb53 Teach LoopUnrollPass to respect loop unrolling hints in metadata.
0250340 [FastISel][X86] Add support for the sqrt intrinsic.
54f1326 [FastIsel][X86] Add support for lowering the first 8 floating-point arguments.
a876305 Don't acquire the mutex during the destructor of PassRegistry.
07aac43 Implement get_magic with generic tools and inline it.
c6d63a3 Remove unused has_magic.
a2d36a2 [FastISel][X86] Add support for the frameaddress intrinsic.
2e4cd27 [AArch64] Basic Sched Model for Cortex-A57. Patch by Dave Estes<cestes@codeaurora.org> Differential Revision: http://reviews.llvm.org/D4008
beef5c5 R600: Set correct InstrItinClass for instructions using *Helper classes
7ae77a1 R600: BCNT_INT is a vector only instruction
a542ff2 ARM: honor hex immediate formatting for ldr/str i12 offsets.
7ca0567 llvm-mc: Add option for prefering hex format disassembly.
7fa80b4 R600/SI: Fix bitcast between v2i32 and f64
7acd886 Use std::error_code instead of llvm::error_code.
9ce94d7 [Reassociate] FileCheckize and cleanup a few testcases. No functional change intended.
add80b4 Fix assert comments in Instruction.cpp.
4600175 R600/SI: Update place using old subtarget predicate
c9dbd0d R600/SI: Add common 64-bit LDS atomics
481a071 R600/SI: Add instruction definitions for 64-bit LDS atomics
6b19a3a R600/SI: Add 32-bit LDS atomic cmpxchg
a396a70 R600/SI: Use LDS atomic inc / dec
2da1a85 R600/SI: Add other LDS atomic operations
507d8ca R600/SI: Add instruction definitions for more LDS ops
4a19dd4 R600/SI: Fix backwards names for local atomic instructions.
b97095b R600/SI: Refactor local atomics.
8a9df8f R600/SI: Use v_cvt_f32_ubyte* instructions
e23e227 SmallVectorTest: Make the deleted member functions private to help MSVC users.
a2dca4c R600/SI: Fix selection failure on scalar_to_vector
55c8ec6 X86: add stringy name for X86ISD::LCMPXCHG16_DAG
cb2c98e Revert r210613 to conform to coding standards. Thanks Duncan for noticing.
0ee5398 [mips][mips64r6] Improve tests affected by the changes to multiplies and divides
6b3f392 [mips] Implement jr.hb and jalr.hb (Jump Register and Jump and Link Register with Hazard Barrier).
998d8f5 Add AVX512 masked leadz instrinsic support.
0e1f75b Improve the test for inlining of __no_debug__ functions.
a069e64 [X86] Refactor the logic to select horizontal adds/subs to a helper function.
e65c403 Create macro INITIALIZE_TM_PASS.
f847ccb Global merge for global symbols.
4c3b0b7 Rename global-merge to enable-global-merge.
27be15c Convert StringMapEntry::Create to use StringRef instead of start/end pointers. Simpliies all in tree call sites. No functional change.
e12b0bb Try to fix the msvc build.
cd56acb Uses generic_category instead of system_category.
9c7ddf7 MC: add enumeration of WinEH data encoding
8731d7a MC: clang-format MCAsmInfo
e5e77d1 Remove windows_error.
7456ad1 There is no posix_category in std, use generic_category.
3692045 Use cast instead of assert + dyn_cast
e0162b9 R600: Add helper functions.
e869d88 Use an enum class.
095271b CodeGen: refactor DwarfException
c3c6d5f Use an enum class.
f681298 Remove duplicate copy of InstrItineraryData from the TargetMachine, it's already on the subtarget.
e290e4a Move to a private function to initialize the subtarget dependencies so that we can use initializer lists for the AArch64 Subtarget.
0166af8 Move to a private function to initialize the subtarget dependencies so that we can use initializer lists for the X86Subtarget.
75408c8 Sort includes.
0adbcf3 [FastISel][X86] Extend support for {s|u}{add|sub|mul}.with.overflow intrinsics.
9c84db6 Use unique_ptr for X86Subtarget pointer members.
fe80185 Move AArch64TargetLowering to AArch64Subtarget. This currently necessitates a TargetMachine for the TargetLowering constructor and TLOF.
63ce00b Revert "Remove support for runtime multi-threading."
529e9d3 Remove support for runtime multi-threading.
159e408 Move AArch64InstrInfo to AArch64Subtarget.
468a0ce Remove a method that was just replacing direct access to a member.
a327ac3 lit: warn when passed invalid pathname
c6e5ff4 Remove the use of TargetMachine from X86InstrInfo.
c72fe20 Move X86RegisterInfo away from using the TargetMachine and only using the subtarget.
fbb5f70 Mark a few functions noexcept.
f85ae2a Use the TargetMachine on the DAG or the MachineFunction instead of using the cached TargetMachine.
cd0b8d6 R600/SI: Emit an error when attempting to spill VGPRs v4
48d11b0 R600/SI: Fix a crash when spilling SGPRs
40b0a14 Add a LLVM_NOEXCEPT to Compiler.h.
387fe1e We already have a reference to the TargetMachine, use that.
ad3aa5e Have isInTailCallPosition take the DAG so that we can use the version of TargetLowering/Machine from there on the way to avoiding TargetMachine in TargetLowering.
4d9df32 Reorder includes to be sorted.
733073d Rearrange the CHECK lines in this test to make failure more obvious.
e21498e Revert "Patch by Ray Donnelly to print register names instead of numbers."
258e822 Fix error in tablegen when either operand of !if is an empty list.
1916157 Fix typos.
1f47723 R600: Use BCNT_INT for evergreen
69891c0 R600/SI: Implement i64 ctpop
ee9772d R600/SI: Use bcnt instruction for ctpop
81ff9cd Use an enum class now that they are available.
bfd00e2 R600: Handle fcopysign
0ba78a9 R600/SI: Handle sign_extend and zero_extend to i64 with patterns.
a1c71aa Add a FIXME.
30ad4cb Move AArch64SelectionDAGInfo down to the subtarget.
7d1e002 [FastISel] Collect statistics about failing intrinsic calls.
75b5547 Remove the cached little endian variable. We can get it easily off of the DataLayout.
b8dca33a Have AArch64SelectionDAGInfo take a DataLayout parameter rather than a TargetMachine.
e3a06bc Remove caching of the subtarget for AArch64SelectionDAGInfo.
fc0f6e8 Move DataLayout onto the AArch64 subtarget.
9a7d793 Test commit, wraps some lines to fit in 80 columns.
c4f9370 Move AArch64FrameLowering into the subtarget.
8128a79 Remove the uses of AArch64TargetMachine and AArch64Subtarget from AArch64FrameLowering.
805c9e4 Do Materialize Floating Point in Mips Fast-Isel
c0edcf7 [X86] Improved target combine rules for selecting horizontal add/sub.
7dd65e6 Hexagon: Expand i1 SELECT_CC
8dea1c4 [X86] AVX512: Add vmovntdqa
2d89932 Fix a bug in the Thumb1 ARM Load/Store optimizer
102d0f3 SelectionDAG: Don't use MVT::Other to determine legality of ISD::SELECT_CC
c23f0e1 SelectionDAG: Enable (and (setcc x), (setcc y)) -> (setcc (and x, y)) for vectors
f586a26 SelectionDAG: Expand SELECT_CC to SELECT + SETCC
b02d95c [PPC64LE] Recognize shufflevector patterns for little endian
0db9526 [AArch64] Emit .ident compiler version attribute. Patch by Ana Pazos<apazos@codeaurora.org>!
22471f5 Add detection of OS X relocatable SDK to compiler-rt as a lit.util function
45a3149 Condition codes AL and NV are invalid in the aliases that use inverted condition codes (CINC, CINV, CNEG, CSET, and CSETM).
8316a97 Refactoring in AsmWriterEmitter::EmitPrintAliasInstruction()
2093e88 Anonymous definitions in foreach blocks triggered a 'def already exists'
e1db6ac AArch64: disallow x30 & x29 as the destination for indirect tail calls
efbf7d1 Revert "X86: elide comparisons after cmpxchg instructions."
984ee65 X86: elide comparisons after cmpxchg instructions.
46b3076 AArch64: teach FastISel how to handle offset FrameIndices
292c7c6 AArch64: make FastISel memcpy emission more robust.
48a7c15 Delete X86JITInfo in the subtarget destructor.
efcef81 [llvm-readobj][ELF] Factor out the code retrieve ELF symbol information (section name, section index, full name) into the separate functions.
6e02efd SmallVectorTest.cpp: Use LLVM_DELETED_FUNCTION.
8b9e31c [ConstantHoisting][X86] Improve the cost model for small constants with large types (i64 and above).
9de6eef Reorder Value and User fields to save 8 bytes of padding on 64-bit
f31ecd3 Removing an "if (!this)" check from two print methods.  The condition will never be true in a well-defined context.  The checking for null pointers has been moved into the caller logic so it does not rely on undefined behavior.
8aeca44 Reduce verbiage of lit.local.cfg files
78b4fd3 SmallVector: support resize(N) with move-only types
8e38e86 [PPC64LE] Generate correct code for unaligned little-endian vector loads
f4a702c Generate better location ranges for some register-described variables.
ed7d283 Update langref for unnamed_addr being allowed in aliases.
c90ddb1 ARM: add VLA extension for WoA Itanium ABI
8a0c2d1 Look through addrspacecasts when turning ptr comparisons into index comparisons.
77b0b85 Added functions cross-reference test. Originally this similar was initiated by Björn Steinbrink here: http://reviews.llvm.org/D3437
5396370 Remove old fenv.h workaround for a historic clang driver bug
f4cf404 Fold FEnv.h into the implementation
7ffad46 [OCaml] Add more Llvm_target tests
08e7095 [OCaml] Unbreak Llvm_target.TargetMachine.set_verbose_asm
fdea941 Move all of the x86 subtarget initialized variables down into the x86 subtarget from the x86 target machine. Should be no functional change.
405ed28 R600/SI: Rename VOP3 helper class to be more general
9b6992d [X86] Add target combine rules for horizontal add/sub.
1968da3 R600/SI: Keep 64-bit not on SALU
cf7a113 R600: Fix selection failure for vector bswap
4cef3fb [PPC64LE] Generate correct little-endian code for v16i8 multiply

git-subtree-dir: llvm
git-subtree-split: 4232f4e605bf709042f9b295eb9169097d1d8a45
Merge commit '5731d1b37e9500079ab3b77beaaa690060f202c4' into overhaul
Squashed 'llvm/tools/clang/' changes from 690ad31..4dfce5a

4dfce5a Remove CleanupHackLevel from CGException.
fc7c40b [Driver][Mips] MIPS ABI names "32" and "64" used as arguments of the "-mabi" command line option only. Internally we convert them to the "o32" and "n64" respectively. So we do not need to refer them anywhere after that conversion.
e2c0595 Enable test/CodeGen/indirect-goto.c in 64b for local arrays
8709ca9 Temporarily disable the indirect-goto.c test.
834726e PR15677 - Crash in template diffing. Check that expression is evaluatable before evaluating it.
73e75f0 clang-interpreter: use LLVM interpreter if JIT is unavailable
9a5685c driver: add link dependency on CodeGen
41b937c clang-interpreter: interpret instead of JITing
71f885d Do not define __STRICT_ANSI__ in clang-cl
eafa635 [UBSan] Don't link UBSan runtime into shared libraries.
f4f9e50 Consider module depedencies when checking a preamble in libclang
273bb34 Use the newly added FindInEnvPath helper in clang
626ad91 [x86] Add Clang support for intrinsic __rdpmc.
bc11149 Removed unused typedef for recursive_directory_iterator
626829e clang-format: Support member function reference qualifiers.
b1a7280 clang-format: Improve expression heuristics.
529abc1 Fixing a few typos in the documentation.
96ff76b clang-format: [JS] support free-standing functions again.
92b1476 [OPENMP] Added table with allowed nesting info for OpenMP regions (per request from Samuel F Antao).
08ca908 Second part of fix in CodeGen/captured-statements-nested.c
b9aab95 Test fix
3418c55 Fixed incompatibility in CodeGen/captured-statements-nested.c with MSVC
ee4bfb2 Fixed CodeGen/captured-statements-nested.c test
2b1dc4a [Driver][Mips] Fix test cases - make ABI name and target triple consistent.
fcd5059 [Driver][Mips] Check rejecting of invalid MIPS ABI names in the test.
f8b114f Disable CodeGen/captured-statements-nested.c
2723610 Fixed CodeGen/captured-statements-nested.c test
35ab22a Disable CodeGen/captured-statements-nested.c
2b070d7 Temp XFAIL CodeGen/captured-statements-nested.c to fix the test
8b7ce32 Using of variable length arrays in captured statements and OpenMP constructs. Differential Revision: http://reviews.llvm.org/D4067
10d5873 test: move test from CodeGen to Sema
b990fbc Remove some incorrect test suppressions
19ef24a CodeGenAction::ExecuteAction(): check for invalid LLVM source locations
9ec95c8 Extract an isReservedName() function
637eb77 Basic: correct the va_list type on Windows on ARM
a59329e Fix a stray semi-colon. (Found by a pedantic warning)
8e2ed64 Add a matcher for SubstNonTypeTemplateParmExpr.
91d23a6 [Mips] Fix MIPS ABI name in the test. The name "64" is accepted by both gcc and Clang drivers but internally LLVM/Clang use the name "n64".
5905a57 Revert r211866, r211895 and r211995, "Driver: use GNU::Link for the Generic_GCC toolchain". It broke users of Generic_GCC, cygwin and mingw32.
5179499 LibclangTest.cpp: s/uint/unsigned/. I think 'uint' is not a standard type.
4d0bc7d clang/test/CodeGenCXX/windows-itanium-exceptions.cpp: Add REQUIRES:asserts for now.
61177a4 Driver: add a cygwin linker tool
b123d1d test: add a test for windows itanium exceptions
4fd1047 Basic: fix handling for Windows Itanium environment
a2457c4 Basic: whitespace cleanup
00fb596 Extend -Wtautological-undefined-compare and -Wundefined-bool-conversion to trigger on taking the address of a reference that is returned from a function call.
8a90554 Import MutableArrayRef into clang namespace.
489b66f Remove llvm:: from uses of ArrayRef.
051861f [Driver][Mips] Fix else-after-return.
0423666 [Driver][Mips] Remove redundant brackets.
d7cf0fa [Driver][Mips] Remove redundant abstract/override function.
d7a0908 Get arm_acle tests from r211962 working
1626c06 Extend -Wdynamic-class-memaccess to records containing dynamic classes
2b874e5 Introduce arm_acle.h supporting existing LLVM builtin intrinsics
c77e69d Remove 'const' from MemoryBuffers used through the SourceManager
54d7831 Add reparse test for libclang
ba02d7e clang-cl: Map /EHs- to -fno-exceptions
a7effd2 CodeGen: Fix a typo in getThreadLocalWrapperLinkage
0cebf92 Fix a bug in my previous patch by restoring the behavior that the fatal error handler is only registered once.
7896f83 This fixes libclang to cope with the now compile-time multithreaded selection re-enabled in r211900 in LLVM.
dc111a9 [ARM] Fix AAPCS non-compliance caused by very large structs
69f87ed Replace GetProgramPath("ld") with GetLinkerPath().
f19ae32 [ARM-BE] Generate correct NEON intrinsics for big endian systems.
e1a4af7 Don't check clang binary name, as it can be different in some test setups.
3b54d86 [OPENMP] Parsing and sema analysis for 'copyprivate' clause.
11a33ce const_cast the memory MemoryBuffer following LLVM r211883
db5f8b2 Driver: Pass -ivfsoverlay to module crashdumps
602e633 Add a FIXME for an unfortunate issue in ConvertBackendLocation()
3f48d22 Driver: use GNU::Link for the Generic_GCC toolchain
f85d10e CodeGenAction: don't duplicate entire .ll/.bc files into memory
52d6ea4 [OPENMP] Added several test cases in nesting of OpenMP regions test after review from Samuel F Antao.
819fcd9 Account for differences in grep implementations
0f771a8 Restore test from r211844 skipping '.file' directives
75ac885 Partially disable test from r211844
71a62fb Add test coverage for .bc input in the frontend
685fae4 Remove .bc from test config.suffixes
d979fd8 clang/test/Driver/fuse-ld.c: Really fix to match dos path.
a3911af Do not inline methods of C++ containers (coming from headers).
20eceba Allow different path separator for windows build.
b7b179e1 Avoid extra back reference key lookup in msmangler
1b9b13d Objective-C ARC. Provide diagnostic and fix-it when casting a retainable object to a objc_bridge_related CF type with the suggestion of applying the method specified in the bridging attribute to the object. // rdar://15932435
b408a52 Driver: Fix a misleading comment and test for what it actually did
cac8885 Driver: Remove trailing whitespace
29bbc57 clang-cl: Don't store the cl compiler Tool on the stack (PR20131)
c8d94b6 ARM: Correctly identify cortex-m4 as v7em.
a9bcfc1 Add a Visualizer for VarDecl.
c5f23a8 Propset the executables for GetProgramPath().
bab68c9 Implement the -fuse-ld= option.
daf050d Add ppc64/power8 as a target
f0a57f4 [OPENMP] Initial parsing and sema analysis for 'single' directive.
0eca5e9 [OPENMP] Initial parsing and sema analysis for 'section' directive.
a7e2b09 Sema: Allow dllimport entities in template args for mingw
bbd68e1 Convert some function arguments to use ArrayRef.
ba3d751 Convert StringLiteralParser constructor to use ArrayRef instead of a pointer and count.
3e833a8 Make test from r211758 portable
c912e4c CodeGen: Improve warnings about uninstrumented files when profiling
5b3552f Reformat RAVs to sync up following recent updates
2a38ab6 RAV: visit copy expressions of captured variables in blocks (ObjC++11)
5937825 Forward -u to the linker on gnutools toolchains
0dfafa5 Make -Wincomplete-umbrella go through the VFS
740214c Make PR20038.cpp test case portable to non-Itanium ABIs
772c670 Remove REQUIRES lines from portable tests
7a08bd7 Don't allow dllimport variables in constant initializers
85fb905 fixed typos in comment
6f641cc Add vfs::recursive_directory_iterator
e5fdb78 MS ABI: Propagate class-level DLL attributes to class template specialization bases (PR11170)
ccaf37e PR20038: DebugInfo: Call sites without DebugLocs for temporary dtors after a conditional
525f68c Fix treatment of types defined in function prototype
ee276c1 Headers: be a bit more careful about inline asm
713c1ea Rename loop unrolling and loop vectorizer metadata to have a common prefix.
3d34ffa Fixing the RST markup for the #pragma loop attribute documentation.
0d9014e Fixing the position of the supported syntax marker when generating attribute documentation.
00a9f1b Escaping a literal character to fix an RST warning.
96a2ac5 Align with new GCC options for x86 Android 32-bit: +ssse3 64-bit: +sse4.2 +popcnt
92222fa CHECK-LABEL'ify this test.
c22c9c9 [AArch32] Fix a stupid error in an architectural guard
71f61a8 [OPENMP] Initial support for 'sections' directive.
ab6dc44 AST: Initialization with dllimport functions in C
9f074fb Added a test to ensure -Wimplicit-fallthrough works with -fblocks correctly.
3f3078b [OPENMP] OMPSimdDirective and OMPForDirective: added initialization for CollapsedNum member.
e74fa2a Don't go through the TypeSourceInfo when getting the SourceRange.
7925371b [Driver] Follow-up to r211598, r211663. Do not build a dynamic linker path using sub-strings concatenation. Return the whole string explicitly.
d706ede Tools.cpp: Update getLinuxDynamicLinker() to return Twine instead of StringRef, since r211598 has introduced manipulation of return string.
207443b VirtualFileSystemTest.cpp: Get rid of initializer list on std::vector, to appease msc17.
fd7d466 Reformat.
14984f0 [OPENMP] Improved code and replaced struct by lambda.
41c9813 Implement predefined stdint macros
e15c5bb Fix parsing nested __if_exists blocks
450955d Add a missing test for the __if_exists extension
5bd096a Split tests for __if_exists out into their own file
d03ed82 MS ABI: Ignore dll attributes on partial template specializations
2c183aa Merge handleDLLImportAttr and handleDLLExportAttr into one function.
3e11835 Provide a better diagnostic when braces are put before the identifier.
93d4222 Fix test issues from r211623 and remove test-only API
c16ee52 Forgot to add file in r211631
240288d Add R600 builtin codegen.
0785120 Fix missing C++ mode comment
8ebce3b Correctly Load Mixed FP-GP Variadic Arguments for x86-64.
2f672ba Disable the bits of r211623 that broke the bots
966b78f Use appropriate default PIE settings for OpenBSD.
cd6ef19 Add directory_iterator for (non-recursive) iteration of VFS directories
3f4ca1f Simplify optimization-remark.c test following r211610
fc449c6 [Driver][Mips] Support mips64-linux-gnuabi64 / mips64el-linux-gnuabi64 target triples.
78659a1 Fix test added in r211610 so it doesn't race on output file creation.
a36053b Objective-C. When we use @selector(save:), etc. there may be more than one method with mismatched type of same selector name. clang issues a warning to point this out since it may cause undefined behavior. There are cases though that some APIs don't care about user methods and such warnings are perceived as noise. This patch allows users to add paren delimiters around selector name to turn off such warnings. So, @selector((save:)) will turn off the warning. It also provides 'fixit' so user knows what to do. // rdar://16458579
e8e3980 Add new debug kind LocTrackingOnly.
709135b Allow static_assert inside an anonymous union; fixes PR20021 as well as implements C++ Issue 1940.
d3694b6 Use lowercase windows.h for mingw cross compilation.
dc372a9 Fix "warning: fallthrough annotation does not directly precede switch label" in lambdas.
8d4db1f [mips] Correct linux dynamic linker for -mnan=2008
cb12cf7 Revert r211121 (and r211285), "Change libclang initialization to use std::call_once instead of"
9f4aa8c [OPENMP] Additional checking for 'collapse' clause.
b6cd3572 ARM: remove dead CodeGen functions.
b3120c1 clang-format: Understand that breaking before lambdas is fine.
9b31a30 Driver: Restore proper naming of crashdump files
3e93571 AST: Address of dllimport functions isn't constant
99ea974 AST: Address of dllimport variables isn't constant
b5db1b7 [OPENMP] Added initial checking of nesting of OpenMP regions.
ee28b09 Propagate isAddressOfMember into typo correction so that we don't correct &qualified-id into &unqualified-id. Also make sure to set the naming class when we find the qualified-id in a different class than the nested name specifier specified so far. Fixes PR19681!
4298846 Fix spelling. s/overloaed/overloaded/
9e12438 CodeGen: Remove a stray tab character (NFC)
a91f0e5 Driver: correct behaviour of -fmsc-version=MAJOR
9784b81 MS ABI: Add an additional test for typeid
c45bb9c Stop sharing the FileManager in ASTUnit::Parse
57963ed [OPENMP] Reformatting and code improvement.
3e7aa0d clang-format: [proto] Add required space before absolute references.
300efe8 clang-format: Fix corner case in pointer/reference detection.
52e90d5 Parse: Simplify construction of the clobber list
c1c5660 StaticAnalyzer: Switch a loop to a range-based for
76c866c AST: Add ranges for AsmStmt's inputs and outputs
6ca5d03 cindex.py: remove obsolete workaround and FIXME
ad7245b DiagnosticIDs: use diagnostic severities to simplify extension handling
675a893 Fix the category name for hash-warnings and hash-errors
749a435 Driver: Skip the -ivfsoverlay argument in driver crash diags
6e1019e Revert "Revert r211402 (and r211408,r211410), "CodeGen: Refactor dynamic_cast and typeid" It crashes msvc codegen in clang/test/SemaCXX/undefined-internal.cpp."
6d344ec [cxx_status] Minor wording tweaks.
71685ce [cxx_status] Be a bit more precise.
83cc69b Fix dead link.
7760db9 Revert r211402 (and r211408,r211410), "CodeGen: Refactor dynamic_cast and typeid" It crashes msvc codegen in clang/test/SemaCXX/undefined-internal.cpp.
e9a4914 Remove unused diagnostic and diagnostic group.
864037c TextDiagnosticPrinter: use the mapped level for remark flag computation
2c57a61 Enable WindowsToolChain on all native Windows builds
4ce3ced WindowsToolChain: decouple build environment from the toolchain
78b978a Make WindowsToolChain portable
2597d9f [analyzer] Check for NULL passed to CFAutorelease.
5482ee7 Make MS i128 suffix test from r211446 more robust
47f7695 DiagnosticRenderer: emit basic notes as real diagnostics
339f283 TextDiagnostic: print remark level diagnostics in bold too
3475d0c The i128 suffix isn't always available.
52ce795 Lex: Use the correct types for MS integer suffixes
e26b379 [test] Add '-target' option to fix bot failure.
06fd586 [PCH] Remove the BackingIvarReferencedInAccessor field from DECL_OBJC_IVAR abbreviation record.
f533fd4 Revert "Lex: Use the correct types for MS integer suffixes"
d31bc8b Lex: Use the correct types for MS integer suffixes
af8926d Driver: In crashdumps with -fmodule, dump the module dependencies
b8ba60b Driver: enhance MSC version compatibility
a7c5ec1 Driver: Record that we're in crashdump and push flags to ConstructJob
51d7c9b CodeGen: Fix test to work with assertions as well
05849769 CodeGen: typeid/dynamic_cast tests don't need asserts
e76e010 Driver: Remove some superfluous calls to Arg->claim()
5d22978 CodeGen: Refactor dynamic_cast and typeid
76981cc C++ status page: restore the convention of saying "SVN" until we reach a release.
2bc793c Be less bold.
20ea7e9 [C++1z] Add C++1z to the C++ status page.
db7b042 Fix typo in r211394.
ca77fdf [C++1z] Implement N3928: message in static_assert is optional.
0b795c5 [C++1z] Implement N3981: Disable trigraphs by default in C++1z mode.
d282252 Don't crash when emitting a glvalue conditional where one arm is a throw-expression. Based on a patch by Marius Wachtler!
426974c Fix crash caused by unnamed union or struct when doing ast-print
d18fdd9 [PowerPC] Fix small argument stack slot offset for LE
926578d Disable Modules/dependency-dump-dependent-module.m on win32 for now.
8d4b65e The ability to use vector initializer lists is a GNU vector extension and is unrelated to the NEON intrinsics in arm_neon.h. On little endian machines it works fine, however on big endian machines it exhibits surprising behaviour:
8767055 Add file missed in r211360 commit
fed94e6 [PowerPC] Fix ELF interpreter name for powerpc64le-linux
0616bd1 [PowerPC] Add MultiarchIncludeDirs for powerpc64le
47277ff Fix PR20081: Parsing templates in the presence of -x cuda -std=c++11
693a26d Add module flags metadata to record the settings for enum and wchar width
da3504c [OPENMP] Initial support for 'nowait' clause.
c3c8bb3 OMPScheduleClause::OMPScheduleClause(): Fix possible typos, s/\brief/\param/g. [-Wdocumentation]
98a11d0 [OPENMP] Initial support for 'ordered' clause.
912088d Fix/Improve SourceRange of explicitly defaulted members
ad5b635 [OPENMP] Initial support for 'schedule' clause.
3f05ce1 Frontend: Disentangle removePathTraversal from concatenating paths
ff6e3ae Avoid invalidating successfully loaded module files
02a13f7 diagtool: refactor TreeView to resemble C++
75f2413 Objective-C qoi. When Objective-C pointer mismatches with a qualified-id type because pointer is object of a forward class declaration, include this info in a diagnostic note. // rdar://10751015
d8a6309 diagtool: simplify TreeView diagnostic classification
cd6b54b test: Just check the VFS when testing module-dependency-dump
461dc35 Frontend: Fix a typo
329c41f Frontend: Add a CC1 flag to dump module dependencies to a directory
b6fcb1e Fixed formatting.
427d5c9 Fix PR20069: bad loop pragma arguments crash FE
47d5275 Document unroll and unroll_count directives.
d408daf Don't call llvm_start_multithreaded() during init.  As of LLVM revision r211277, this function is essentially a no-op.
ece99d6 Improve robustness of tests for module flags metadata
fe7694f Fix assertion hit or bogus compiler error in cases when instantiating ObjC property accesses used with overloaded binary operators.
7e2ddf3 [c++1z] Implement N3994: a range-based for loop can declare a variable with super-terse notation
4adb982 [OPENMP] Improved diagnostic messages for vars with the predetermined data sharing attributes and reformatting
bc44c09 DiagnoseUnknownTypename always emits a diagnostic and returns true
88a39ad Objective-C ARC. Allow conversion of (void*) pointers to retainable ObjC pointers without requiring a bridge-cast in the context of pointer comparison as this is in effect a +0 context. // rdar://16627903
2e01479 Sema: Static redeclaration after extern declarations is a Microsoft Extension
e15ff8e Objective-C. Revert my patch in r211234.
8e5db87 Objective-C ARC. Allow conversion of (void*) pointers to retainable ObjC pointers without requiring a bridge-cast by recognizing this as a +0 context. // rdar://16627903
ba54490 tests: relax ms-intrinsics test
882d010 Relax the cl-inputs.c test a little bit in case link.exe is on PATH
1bd78cc [MS-ABI] Implement typeid This patch enables clang to generate calls to __RTtypeid when lowering typeid on win32 targets.  Test cases are included.
daff6b0 CodeGen: improve ms instrincics support
82a8be9 Objective-C. Check for integer overflow in Objective-C's boxed expression. // rdar://16417427
0674b81 [analyzer] Don't create new PostStmt nodes if we don't have to.
4872762 Objective-C. Try to fix the test in buildbot in my last patch.
ed628cc Objective-C. Attributes on class declarations carry over to forward class declarations for diagnosis. // rdar://16681279
4cf1dbe Make clang-cl accept .lib inputs (PR20065)
8981b6e Driver: correct the backend option spelling
34b52c0 Inherit dll attributes to static locals
aaa3cb9 AArch64: re-enable tests that were looking for a non-existent backend.
51b9d7b [OPENMP] Reformatting and code improvement.
ebcdb1e Replace some assert(0)'s with llvm_unreachable.
02eb456 Convert an llvm_unreachable in an 'else' block to a removal of the 'if' and an assertion of its condition. Suggestion from David Blaikie.
b23263a [OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with MSVC).
6356f56 Replace some assert(0)'s with llvm_unreachable.
ce9d90b Convert assert(0) to llvm_unreachable to silence a warning about Addend being uninitialized in default case.
ceddfe3 Fix bug in code for avoiding dynamic initialization of dllimport globals
a5bb497 Documentation for #pragma clang loop directive and options vectorize and interleave.
f259aac Fix the caller of checkCorrectionVisibility too.
1a6a5c4 Remove an unused argument from checkCorrectionVisibility.
96c7d01 Objective-C ARC. Do not warn about properties with both IBOutlet and weak attributes when accessed being unpredictably set to nil because usage of such properties are always single threaded and its ivar cannot be set to nil asynchronously. // rdar://15885642
9bef461 Retry building modules that were compiled by other instances and are out-of-date
59fdf17 Remove dead code.
e15a4d0 Change libclang initialization to use std::call_once instead of hand rolled once-initialization, and rename the mutex to be more descriptive of its actual purpose.
7d2009b Revert "[OPENMP] Initial support for '#pragma omp for'."
0753443 Fix the comment which was backwards.
ac41a1b Rewrite ARM NEON intrinsic emission completely.
b511fe9 clang-format: Introduce style with spaces on both sides of */&.
46c5afb [OPENMP] Initial support for '#pragma omp for'.
5bb28629 [OPENMP] Renamed 'DataRecursiveASTVisitor' to just 'RecursiveASTVisitor' for 'reduction' clause and small reformatting after Alp Toker's review.
a626464 Add documentation for PGO with instrumentation to clang's User's Manual.
a3bb0d8 Add support for the /Fi argument to clang-cl (PR20036)
9e250d5 MS static locals mangling: don't double-increment mangling number for switches
fbacebe MS static locals mangling: don't count enum scopes
9afae46 Use the integrated assembler by default on OpenBSD/powerpc.
53f7a34 AArch64: Fix silly think-o in tests.
2400f60 AArch64: Support for __builtin_arm_rbit() and __builtin_arm_rbit64().
16c0c02 ARM: Support for __builtin_arm_rbit() intrinsic.
0421d5e actually, just check if it is a file (including directory or symlink)
4a2040b Check that the directory does not exist. Otherwise, it could allows local users to obtain sensitive information or overwrite arbitrary files via a symlink attack on temporary directories with predictable names.
e4d7f02 [modules] When we merge redecl chains or mark a decl used with an update record, mark all subsequent decls as 'used' too, to maintain the AST invariant that getPreviousDecl()->Used implies this->Used.
7fe5bef MS ABI: Implement x86_64 RTTI
51ccb71 Objective-C. Diagnose when property access is using declared property accessor methods which have become deprecated or available. // rdar://15951801
7b1170da [C++1z] Implement N4051: 'typename' is permitted instead of 'class' when declaring a template template parameter.
fa842c7 Add -std=c++1z flag for C++17 features.
d450c7c Fix typos
0860a90 Use the ShowInSystemHeader bit consistently for all diagnostics
336ab2f clang/AST/OpenMPClause.h: Update \param VL. [-Wdocumentation]
a40d587 [OPENMP] Initial support of 'reduction' clause
7225802 Hide the concept of diagnostic levels from lex, parse and sema
af3883a test: add missed file in previous commit
6a69884 Preprocessor: improve ACLE 6.4.1, 6.4.2 support
27557e7 One of our buildbot for FreeBSD does not support std::to_string. Use stringstream instead to convert int to string
e6f5c37 List the function/method name in the index page of scan-build
b78303a With the option '-analyzer-config stable-report-filename=true', instead of report-XXXXXX.html, scan-build/clang analyzer generate report-<filename>-<function, method name>-<function position>-<id>.html. (id = i++ for several issues found in the same function/method)
71cb4aa Fix a crash in Retain Count checker error reporting
31c3b80 Document Darwin-specific defaults.
461cfc5 A non-trivial array-fill expression isn't necessarily a CXXConstructExpr. It could be an InitListExpr that runs constructors in C++11 onwards. Fixes a recent regression (introduced in r210091).
748531c Make these two words equally bold.
7ccdd18 Copy the documentation of -fstandalone-debug from the man page to the user manual.
a20f46c Add support for the /EP argument to clang-cl
0ced6d2 Fix test for release builds.
9478a68 Atomics: emit "cmpxchg weak" where possible
43ada3d [PPC64LE] Run some existing Altivec tests on powerpc64le as well
fe84cfe Adds a Pragma spelling for attributes to tablegen and makes use of it for loop hint attributes. Includes tests for pragma printing and for attribute order which is incorrectly reversed by ParsedAttributes.
ee5a39f Remove top-level Clang -fsanitize= flags for optional ASan features.
1b302fa Update for llvm api change.
b61bfeb First commit. Modified FIXME comment.
5b50a4b IR-change: cmpxchg operations now return { iN, i1 }.
907d65e Tests: use CHECK-LABEL to help debugging failures
bf7607a Do not store duplicate parents when memoization data is available.
71bd6fc clang-format: [JS] Understand named function literals.
22b4e77 MS ABI: Fix inheritance model calculation in CRTP
af74764 Missed a space at the end of the line.
4805148 Use dwarf-2 by default on OpenBSD and FreeBSD.
92a107f Extend AST dump to include 'used' and 'referenced' flags, and put 'invalid' flag in the right place.
98f39b5 Recover from missing 'typename' in sizeof(T::InnerType)
44abf78 Remove stale part of comment.
fe52a67 Check the access of operator delete from the destructor context
135624a The Clang C API does not require C++. Thanks to Jordan Rose for pointing out this error!
428a37a s/pr2007/20007/ in a test
6b309ab Prefix another use of error_code.
c69953c Tweak documentation.
98be881 Objective-C ARC. Blocks that strongly capture themselves to call themselves will get the warning: "Capturing <itself> strongly in this block is likely to lead to a retain cycle". Cut down on the amount of noise by noticing that user at some point sets the captured variable to null in order to release it (and break the cycle). // rdar://16944538
5471ad0 Refer to error_code with the std prefix.
85f2aa9 MS ABI: Fix forming pointers to members of a base class
cb4e543 Permit -Wswitch coverage for enumerations.
d2f657f Basic: fix warnings from GCC
e616fa6 Include system_error directly.
b116a7f More tests for // rdar://17259812
18ce5b3 Objective-C. Use isObjCRetainableType in my last patch. NFC.
2fa12a2 Explicitly initialize all fields to avoid -Wmissing-field-initializers warning.
9986295 Replace llvm::error_code with std::error_code.
43a42fb Allow lowercase messages in this test again.
3d9d8de Fix msvc unittest build.
144ea43 DiagnosticsEngine: update severity setters to new terminology
18a9b66 Complete the switch from mappings to declarative diagnostic severities
1408b33 Use StringRef to simplify code. No functional change.
a063bbd Use ArrayRef in some function parameters instead of a pointer and count. No functional change.
a6eda76 Add a std:: prefix in cases where ADL would have failed on windows.
cecf7fc Fix typo.
7096fc1 Give clang-format its own error category.
f7c47be Driver: use more range-based for loops
ee15377 Use generic_category from the std namespace.
308f966 Errno should use generic_category.
c263ed7 [modules] Add first-draft module maps for Clang. These don't cover everything yet, but they're enough for a clean bootstrap (with a few local patches that are yet to be committed).
d27916e PR19966: don't crash/assert when __underlying_type is applied to an incomplete enumeration type. I've also filed a LWG issue pointing out that this should be ill-formed.
518ff65 Accomodate for message differences on windows.
8a8f76f Don't inherit dllimport to inline move assignment operators
7e8fd6b Don't slice SemaDiagnosticBuilder
137f71e Fix the VS2012 build.
e9b1c2f Objective-C. Accept '__attribute__((__ns_returns_retained__))' for function/methods returning block in MRR mode as well. // rdar://17259812
64df499 Remove dev/null redirect and x86 backend requirement from new test.
4714034 Add missing "non-constant" diagnostic for a member call on a temporary of non-literal class type.
3c85153 clang-cl: accept the /C option with /P (PR19978)
2bef1f9 Run new test with -fsyntax-only.
93e0cc4 The automated server-side process isn't quite right yet, so this is a newly-generated attribute reference. Tanya is looking into the server process when she gets the chance.
1e56828 Objective-C. More tests for both bridging attributes and a fix to make it work when CFStructs have no definition. // rdar://17238954.
534f692 Use std::error_code instead of llvm::error_code.
d765b5b Add some comments to TypoCorrectionConsumer.
d8e1128 Sink SpecifierInfo into the only class that uses it.
08929cb Make a couple of helper classes private to TypoCorrectionConsumer.
8078af6 Clean up the TypoCorrectionConsumer's interface a bit.
9f66ee0 Move TypoCorrection filtering into the TypoCorrectionConsumer and make it incremental.
b205d26 Move a few classes to be before TypoCorrectionConsumer.
14625ea Add loop unroll pragma support
ceaaaef Objective-C. Patch to handle bridge attribute warnings correctly when both NSAttributedString and NSMutableAttributedString are specified on the same CFStruct via different typedefs. // rdar://17238954
a04f51f [PPC64LE] Fix vec_sld and vec_vsldoi for little endian
c9ec1c2 clang-format: Fix pointer/reference detection after decltype.
6e4e003 MS ABI: Only class templates get complex nullptr pointer-to-member-functions
c3b3331 MS ABI: Mangle null pointer-to-member-functions compatibly
f64ce12 CodeGen: Correct linkage of thread_local for OS X
1441ef5 [AArch64] Add default features for CPUs on AArch64 target.
ba63908 Ensure test/Misc/win32-macho.c doesn't try to write to the source tree
2f4e52e PR19993: don't assert/crash if a static data member is initialized by '= delete;'.
8f33902 PR19996: don't crash if -Wuninitialized sees a c++1y lambda init-capture.
fc142cb Allow lookup into dependent bases in more places under -fms-compatibility
ae83eca Teach __alignof__ to look through arrays before performing the preferred-alignment transformations. Corrects alignof(T[]) to return alignof(T) in all cases, as required by relevant standards.
703ae55 Related to PR19992: when the GNU alignof-expression extension is applied to an expression of array-of-unknown-bound type, don't try to complete the array bound, and return the alignment of the element type rather than 1.
4ed0870 Recover from missing typenames on template args for MSVC compatibility
a438edc Revert "Clang changes to support LLVM removal of runtime multithreading"
4dca83c Clang changes to support LLVM removal of runtime multithreading support (llvm revision r210600).
809ba1c *Really* fix DOS newlines introduced in r210330
e5e5fbf Try to fix clang-hexagon-elf failure by requiring x86 support for this test.
7d538dc PR19992: alignof is permitted on an array of unknown bound.
3819339 Fix crash with x86_64-pc-win32-macho target. <rdar://problem/17235840>
fcb877c Remove a redundant conditional when caching typo failures.
054c619 Do not predefine __EXCEPTIONS in clang-cl (PR19977)
1c94b59 Fix mangling of __uuidof after two levels of template instantiation
46b0fc6 Objective-C. Don't ignore availability attribute when doing Objective-C subscript access. // rdar://16842487 PR19682.
da2b70b Don't inherit dll attributes to deleted methods (PR19988)
74532f2 Objective-C IRGen. Patch to generate a weak symbol reference when 'super' dispatches a class method in category for OBJC_METACLASS. This is when class is a weak_import class. // rdar://16529125
bdb17e3 clang-format: [JS] Treat dict literals similar to objc method exprs.
df6257d Add detection of OS X relocatable SDK to compiler-rt as a lit.util function
3724caf clang-format: Increase penalty for wrapping array subscript expressions
ff8776e clang-format: Fix enum formatting with specific comment.
e451a7e Improve diagnostic mapping terminology
5328ab0 Don't suppress backend diagnostics in system headers
a84adb5 clang-format: Support variadic lambda captures.
c5e47d7 clang-format: Handle multiline strings inside ternary expressions.
340c806 Show -Wdate-time in system headers
51debf8 Implement -Wdate-time preprocessor warning
be84c3f Improve specificity in the diag-mapping2.c test
28125b7 Improve checking for dynamic initializers of dllimport fields in template instantiation
5ecb610 Make '-Werror=frame-larger-than=' and associated diagnostic pragmas GCC-compatible
fbd6f31 Reduce indentation in ActOnIdExpression, NFC
8a84096 Removing an "if (this == nullptr)" check from two print methods.  The condition will never be true in a well-defined context.  The checking for null pointers has been moved into the caller logic so it does not rely on undefined behavior.
38d0c47 Objective-C. Consider block pointer as NSObject as well as conforming to 'NSCopying' protocol when diagnosing block to ObjC pointer conversion. // rdar://16739120
8c3e414 Disallow multiple inclusion of clang/Config/config.h
505bbb2 Allow definition of dllimport static fields in partial specializations (PR19956)

git-subtree-dir: llvm/tools/clang
git-subtree-split: 4dfce5abc5ae571dacfb1174d873061ccae171a5
Merge with Clang.
Squashed 'llvm/tools/lldb/' changes from 252d918..587afb8

587afb8 Fix Windows build after llgs upstream.
fec26f5 Fixup Windows build breaks for the llgs upstream.
58b78f3 Add lldb-gdbserver support for Linux x86_64.
bc1eb8e Factored out Linux proc file reading into separate class.
0d78967 Pull ProcessInfo and ProcessLaunchInfo out of Target/Process.
f8953a0 Don't truncate the target triple when initializing clang.
17b21a0 Implemented gdb-remote protocol tests for vCont;s and vCont;s:{thread}
b3c1567 Updated ObjectFileELF tests to include more varaints.
50220fa Fix ObjectFileELF to determine architectures independent of host.
a95b7db Revert the debugserver part of r211868.  While formally a fine change, debugserver doesn't depend on llvm (it really doesn't even depend on anything in lldb) and this nicety isn't worth adding that dependence.
4b6dc43 [cmake] When Python is disabled for LLDB, don't try to install the python bindings.
5f37c6a lldb: remove adhoc implementation of array_sizeof
5497a8a Fix a few typos.
7fe29f2 Test commit: wether -> whether.
75329ab Fix an incomplete null structure spec in Python readline suppression module.
7fec77a Fix silly compilation error.
e4e40ed Fix a bug in the IRMemoryMap which generated bogus allocations.
9c2102e Replace GCC-specific intrinsic with portable alternative.
34524c3 Added an option to turn OFF the "detach on error" behavior that was added to debugserver when launching processes.
f19f025 Remove extra newline from log Printf
a900ab6 Patch from Keno Fischer to enable JITLoaderGDB with mach-o file support.
21538d8 Rework fix in r201744.  You really DO need to waitpid twice to get the process fully reaped.  The race & bad behavior was because we were letting the reaping thread in LLDB to also set the Process exit status, so debugserver would sometimes be shut down before it got a chance to report the exit status, and then we got confused.
38b769f Fix up Windows build for the SBUnixSignals addition.
f640e63 Restore r211547: Add newline on last line of a few files.
fdaaa00 Restore fixes reverted by r211607:
988728f Remove unused files, causing CMake build error.
79abd86 Added support for new MI commands and bug fixes. More details in MIReadme.txt.
0298263 Fix error handling for the AppleGetQueues and AppleGetPendingItems ClangFunctions if the clang function compilation fails for any reason. <rdar://problem/16793965>
1f61f46 Add newline on last line of a few files.
4e8b15e Temporarily roll back the parts of r211241 where I fixed a mistake in the lock acquistion in HistoryUnwind and HistoryThread. We've got a deadlock with one use case of HistoryUnwind; I need to figure out what lock ordering is causing this and fix it for real. <rdar://problem/17411904>
4b37be7 Don't set the ABI to apcs-gnu for non-ARM iOS targets (i.e., the simulator).
36f90a5 Part 2 of SBUnitSignals check-in.
f0b027a Add SBUnixSignals.i
41b5425 Add API control of the signal disposition.
e4b3fb3 lldb: deal with non-portable PTRACE-related constants
b8197bcb Remove useless declaration
c1c9750 Remove useless call
f8f6f9f Simplify the code (variable bValid is not really interesting)
ed5bd66 Remove useless declaration
691557d Fix a gdbremote bug in _M/_m stub support detection.
e2d1791 Fixed the "log enable gdb-remote packets" to support dumping the binary memory read packet ('x') by printing out the binary data correctly using only printable characters and removing the 0x7d escapes so the memory is readable in the packet output.
fea838a Added gdb-remote tests for Q{Save,Restore}RegisterState.
e189fca Command files that switch input handlers didn't work, now they do.
07d8169 Test commit: Correct type in two comments.
2ab8a3a Switch over to using object_getClass to get the class of an object.  Previously we were directly accessing the isa pointer of a class object to get its meta-class, but the isa pointers are not simple pointers on arm64, so this would cause the stepping to fail. object_getClass does whatever magic needs doing in this case.
b5b01c5 Fixed up gdb-remote auxv regex issues with binary data. Fixes two causes for https://github.com/tfiala/lldb/issues/7.
08416b4 Actually make a real scoped locker rather than constructing one that gets immediately thrown away...
cb4b333 Add a lock in the UnwindTable class so two Targets won't try to modify the same UnwindTable object simultaneously.  Fix HistoryThread and HistoryUnwind's mutex lock acqusition to retain the lock for the duration of the operation instead of releasing the temporary immediately. <rdar://problem/17055023>
0e7ff17 Don't allow multiple line entries with the same address to exist sequentially.
d5a6600 Add an option for debugserver to propagate its environment to programs it launches using the --forward-env or -F:
1370520 Add locking around the m_owners collection in the breakpoint site.  If we are in the middle of "BreakpointLocation::ShouldStop" we don't want other commands (like "break disable") to mutate the owners of this breakpoint out from under us.
ae5112a Added gdb-remote auxv test for chunked reads.
1667421 Those were not the right defines for memory errors, and the right defines aren't available.  So going back to a generic error instead.
d3bc027 Fix up lldb cmake linker flags for MacOSX.
0da55cf Added gdb-remote auxv tests.
18fb1df Avoid crashing on invalid or unreadable ELF core
7ad23bc Don't hardcode path to codesign_allocate.
566aa0b Correctly classify code sections as code sections by using the S_ATTR_PURE_INSTRUCTIONS and S_ATTR_SOME_INSTRUCTIONS section flags.
86a9bde Don't allow two threads to create/use the section list before it has been fully populated.
aac8e5d [cmake] Switch python install to use an 'install(DIRECTORY...)' cmake command instead of a script.
65228e8 Move x86-specific struct user code for Linux ProcessMonitor behind #define guards.
ffcd6d3 Minor gdb-remote test QListThreadsInStopReply changes from llgs branch.
79f85b3 Added several gdb-remote tests around QListThreadsInStopReply.
e35bed0 Properly terminated POSIX register sets with LLDB_INVALID_REGNUM.
2a96bb6 Added gdb-remote expedited register dupe check.
0ca8612 Sync accumulated minor diffs in llgs branch gdb-remote tests.
60459df Add documentation about the jThreadExtendedInfo packet.
4a5c849 Add a check that we found an ABI plugin before calling a method on it.
4637dea Don't dereference target if it is NULL.
f146b97 Added gdb-remote stop packet expedited register tests.
8dd65ff Interpreter: kill some dead code
ff8ea3b Interpreter: explicitly initialize base class
9e70475 Core: address comparison of signed and unsigned types
32ef134 Remove unused variables
a92c4a5 whitespace cleanup
3e005cb Initial merge of some of the iOS 8 / Mac OS X Yosemite specific lldb support.  I'll be doing more testing & cleanup but I wanted to get the initial checkin done.
f41ed1e Added the ability to save core files:
775875c Fix up extra whitespace from previous commit.
cd39571 Added gdb-remote P/p thread suffix test.
6932001 Track clang changes from r210764
9c984dd Multi-line expressions in Xcode now have a space between the line number and the expression text.
a19f375 Restore select limitations comment for non-Apple platforms
d8d7a40 Add gdb-remote P register write test.
3df3d5b Fixed gdb-remote M test length parameter, added overwrite to test.
0c1f29a Added gdb-remote test to verify M memory write.
03922a1 Remove duplicated code
c2c0410 Added gdb-remote tests around $qSupported.
6e2e7e0 Added gdb-remote test for s packet, single stepping.

git-subtree-dir: llvm/tools/lldb
git-subtree-split: 587afb8b94c4479dee405b10a8bef13b4ee9ff1d
Merge with LLDB.
Finish merge with Clang.