Squashed 'llvm/' changes from 36fd930..dcaab3b

dcaab3b CodeGen: Stop treating vectors as aggregates
182a02a Tweak the spelling of the asserts requirement a bit more. This makes it match the (reasonably prevelant) usage in Clang's test suite and so seems more "canonical".
10afb02 Fix PR18572 - llc crash during GenericScheduler::initPolicy().
ce5f07f Forgot to add testcase for r198590
da34460 Fix pointer info on PPC byval stores
a747cf1 Adding new LTO APIs to parse metadata nodes and extract linker options and dependent libraries from a bitcode module.
92e658b Don't clobber CMAKE_REQUIRED_FLAGS, it ends up being used in C compilations as well and these flags don't make any sense there.
b422abd Fix VS2012 ID/version check.
94ad5a1 Rename these methods to match the style guide.
f862a4a [mips][sched] Split IILoad into II_L[BHWD], II_L[BHW]U, II_L[WD][LR], and II_RESTORE
2b9c11c [mips][sched] Split IIFmoveC1 into II_M[FT]C1, II_M[FT]HC1, II_DM[FT]C1
49671f1 [mips][sched] Split IIFStore into II_S[WD]C1, and II_S[WDU]XC1
c93ed17 [NVPTX] Add missing patterns for div.approx with immediate denominator
dc57347 [mips][sched] Split IIFLoad into II_L[WD]C1, and II_L[WDU]XC1
cbfe7fd [mips][sched] Removed IIFrecipFsqrtStep. No instructions use it.
faacfec [mips][sched] Renamed II_FsqrtSingle and II_FsqrtDouble to II_SQRT_S and II_SQRT_D respectively
fa458d8 [mips][sched] Renamed II_FdivSingle and II_FdivDouble to II_DIV_S and II_DIV_D respectively
be0843e [mips][sched] Split IIFmulDouble into II_MUL_D, II_MADD_D, II_MSUB_D, II_NMADD_D, and II_NMSUB_S
c55cf21 [mips][sched] Split IIFmulSingle into II_MUL_S, II_MADD_S, II_MSUB_S, II_NMADD_S, and II_NMSUB_S
b029a0e [mips][sched] Split IIFadd into II_ADD_[DS], II_SUB_[DS]
65d38c3 [mips][sched] Split IIFcmp into II_C_CC_[SD]
0e65e8c [mips][sched] Split IIFmove into II_C[FT]C1, II_MOV[FNTZ]_[SD], II_MOV_[SD]
c2e835f [mips][sched] Split IIFcvt into II_(ROUND|TRUNC|CEIL|FLOOR|CVT), II_ABS, II_NEG
a3e8e06 [mips][sched] Split IIslt into II_SLT_SLTU, II_SLTI_SLTIU
ff68143 MIPS: mark intrinsics IntrNoMem so all patterns using them are consistent.
6817639 Checked return warning from coverity
2c2019b Fix libstdc++4.7 test on Android.
8f74ea3 Use ArrayRef to simplify some code.
bb70b57 tools: use 64-bit print specifier
d28c094 tools: support decoding ARM EHABI opcodes in readobj
e502a6a ARM IAS: add support for .unwind_raw directive
2727643 ARM IAS: support .personalityindex
9fe8c2b [AArch64 NEON] Fix a bug caused by undef lane when generating VEXT.
665b923 Add operator!= for FoldingSetNodeID and FoldingSetNodeIDRef. Implementation in the header forwards to operator== which is not in the header.
527d783 Tweak the MCExternalSymbolizer to not use the SymbolLookUp() call back to not guess at a symbol name in some cases.
bf2712a To allow the X86 verbose assembly to print its informative comments when used with symbolic disassembly, add a check that the operand is an immediate and has not been symbolicated to MCExpr operand.
07b072b Update StackProtector when coloring merges stack slots
825b93b [X86] Teach how to combine a vselect into a movss/movsd
16d00e4 Debug info: On ARM ensure that all __TEXT sections come before the optional DWARF sections, so compiling with -g does not result in different code being generated for PC-relative loads.
6e08a41 Revert "Debug info: On ARM ensure that the data sections come before the" Cut back on the cargo cult. The order of __DATA sections doesn't affect generated code.
daa4c91 Allow SMUL_LOHI and UMUL_LOHI to be narrow to MUL on targets where MUL is Custom rather than Legal.  Even if the target is doing some kind of expansion for MUL, it's pretty much guaranteed to be more efficent than whatever it does for SMUL_LOHI or UMUL_LOHI!
61a7bb0 Remove the useless pseudo instructions VDUPfdf and VDUPfqf, replacing them with patterns to match VDUPLN.
95dd2f4 [CMake] LLVMProcessSources.cmake: Add include(CMakeParseArguments).
04a6261 Whitespace.
54c251c Fix misched-aa-colored.ll to require asserts (trying again)
42691ad Fix misched-aa-colored.ll to require asserts.
48f7a23 Update IR when merging slots in stack coloring
5e908e3 Track multiple stores per object when using AA in ScheduleDAGInstrs
9334b07 [x86] Fix disassembly of MOV16ao16 et al.
a3fb0f9 [x86] Fix 16-bit disassembly of JCXZ/JECXZ
fc19ac9 [x86] Rename MOVSD/STOSD/LODSD/OUTSD to MOVSL/STOSL/LODSL/OUTSL
d1c3f66 [x86] Fix disassembly of callw instruction
7360e8c [x86] Fix 16-bit handling of OpSize bit
e6f5bb9 [x86] Infer disassembler mode from SubtargetInfo feature bits
70ece0a [x86] Support i386-*-*-code16 triple for emitting 16-bit code
1d9ab25 [PM] Wire up the Verifier for the new pass manager and connect it to the various opt verifier commandline options.
843fa74 ARM: add tlsldo relocation
b924b8b [CMake] llvm_process_sources: Introduce a parameter, ADDITIONAL_HEADERS.
3767c74 [ARM] Do not generate Tag_DIV_use=AllowDIVExt when hardware div is non-optional: it should have the default value of AllowDIVIfExists
7066282 Revert my commit in r199620 that added sections about namespaces to the coding standards, and instead fix the existing section.
ce30a81 Revert r199628: "[AArch64 NEON] Fix a bug caused by undef lane when generating VEXT."
d157171 Fix a DenseMap iterator invalidation bug causing lots of crashes when type units were enabled. The crux of the issue is that the addDwarfTypeUnitType routine can end up being indirectly recursive. In this case, the reference into the dense map (TU) became invalid by the time we popped all the way back and used it to add the DIE type signature.
1e1446b Fix all the remaining lost-fast-math-flags bugs I've been able to find.  The most important of these are cases in the generic logic for combining BinaryOperators. This logic hadn't been updated to handle FastMathFlags, and it took me a while to detect it because it doesn't show up in a simple search for CreateFAdd.
f55ec9a [AArch64 NEON] Fix a bug caused by undef lane when generating VEXT.
773e8d0 MC: whitespace
3bbede5 [PM] Fix a contradiction in the comments noticed by Anders.
7582d8d [AArch64 NEON] Accept both #0.0 and #0 for comparing with floating point zero in asm parser.
5d696a9 Add some wording to the coding standards to say how to indent namespaces (and to mention namespace ending comments). This is based on a quick discussion on the developer mailing list where there was essentially no objections to a simple and consistent rule. This should avoid future debates about whether or not a namespace is "big enough" to indent. It also matches clang-format's current behavior with LLVM source code which hasn't really seen any opposition in code reviews that I spot checked.
ee804f4 Move the retrieval of VT after all of the early exits from PerformOrCombine that do not use VT. NFC.
7320de5 [APInt] Fix nearestLogBase2 to return correct answers for very large APInt and APInt with a bitwidth of 1.
e741397 [APInt] Fixed bug where APInt(UINT32_MAX, 0) would blow up when being constructed.
b45edea InstCombine: Modernize a bunch of cast combines.
2b03d00 InstCombine: Hoist 3 copies of AddOne/SubOne into a header.
c7645e8 InstCombine: Replace a hand-rolled version of isKnownToBeAPowerOfTwo with the real thing.
0487faa InstCombine: Teach most integer add/sub/mul/div combines how to deal with vectors.
3f6a9d7 InstCombine: Refactor fmul/fdiv combines to handle vectors.
6a9e4a8 [CMake] Introduce new scheme of LLVM_TOOLS_BINARY_DIR and LLVM_LIBRARY_DIR
f594ef9 [CMake] Add comments in llvm/CMakeLists.txt.
a0375d5 [CMake] Deprecate LLVM_TOOLS_BINARY_DIR.
d172504 [CMake] Prune deprecate usage of CMAKE_RUNTIME_OUTPUT_DIRECTORY.
e1a5243 Fix a really nasty SROA bug with how we handled out-of-bounds memcpy intrinsics.
d0fb7e4 ARM ELF: ensure that the tag types are corrected
70c092f ARM: update build attributes for ABI r2.09
467aa25 Move ARM build attributes into Support
bf329b3 ARM IAS: remove unnecessary special case
2becaaf LoopVectorizer: A reduction that has multiple uses of the reduction value is not a reduction.
e608d69 [PM] Make the verifier work independently of any pass manager.
60e425e Add a const lookup routine to get a BlockAddress constant if there is one, but not create one. This is useful in the verifier when we want to query the constant if it exists but not create one. To be used in an upcoming commit.
e952af7 Support AddrSpaceCast in ConstantExpr::getAsInstruction.
6d2bd95 Don't refuse to transform constexpr(call(arg, ...)) to call(constexpr(arg), ...)) just because the function has multiple return values even if their return types are the same. Patch by Eduard Burtescu!
c975958 ARM: Let the assembler reject v5 instructions in v4 mode.
ee76094 [CMake] Add llvm-tblgen to dependencies of check-llvm.
8e937c3 InstCombine: Make the (fmul X, -1.0) -> (fsub -0.0, X) transform handle vectors too.
bedf842 Upgrade ConstantFP's negative zero and infinity getters to handle vector types.
4bd80f0 typo
f9af5bd Debug info (LTO): Move the creation of accessibility flags to getOrCreateSubprogramDIE to avoid attributes being added twice when DIEs are merged.
774cec5 Fix more instances of dropped fast math flags when optimizing FADD instructions.  All found by inspection (aka grep).
3cbfa16 Add an inalloca flag to allocas
01d9f59 MC: Add some missing include guards
dbee8c1 Update LangRef to emphasize the difference between "coldcc" and "preserve_mostcc".
6438260 80-column.
9106d36 llvm-objdump/COFF: Print ordinal base number.
ceaf829 Add two new calling conventions for runtime calls
41e1c04 [mips][msa] Correct pattern for LSA
61a2eb1 [mips] Split IIIdiv int II_DIV, II_DIVU, II_DDIV, and II_DDIVU
235a81c [mips][sched] Split IIImul and IIImult into subclasses.
8821f3c [mips][sched] Split IIHiLo into II_MFHI_MFLO and II_MTHI_MTLO
3e23463 Add MLA alias for ARMv4 support.
825488c [PM] [cleanup] Rename some of the Verifier's members, re-arrange them, and tweak comments prior to more invasive surgery. Also clean up some other non-doxygen comments, and run clang-format over the parts that are going to change dramatically in subsequent commits so that those don't get cluttered with formatting changes.
bd2c711 [asan] extend asan-coverage (still experimental).  - add a mode for collecting per-block coverage (-asan-coverage=2).    So far the implementation is naive (all blocks are instrumented),    the performance overhead on top of asan could be as high as 30%.  - Make sure the one-time calls to __sanitizer_cov are moved to function buttom,    which in turn required to copy the original debug info into the call insn.
0c25726 [PM] Remove the preverifier and directly compute the DominatorTree for the verifier after ensuring the CFG is at least usefully formed.
b9536ac [AArch64 NEON] Expand vector for UDIV/SDIV/UREM/SREM/FREM as neon doesn't support these operations.
b267125 Add the test for libstdc++ versions newer than 4.6 so we don't accidentally pick that up while using Clang and run into subtle bugs down the road related to C++11 features not fully implemented in that version of the standard library.
3039306 Switch a few instructions to use RI instead I so they don't require REX_W to be explicitly specified.
5f69be6 Add OpSize16 flags to 32-bit CRC32 instructions so they can be encoded correctly in 16-bit mode.
50a2b16 Teach x86 asm parser to handle 'opaque ptr' in Intel syntax.
9d0b786 Teach X86 asm parser to understand 'ZMMWORD PTR' in Intel syntax.
5d59bb4 Fix intel syntax for 64-bit version of FXSAVE/FXRSTOR to use '64' suffix instead of 'q'
4b42f26 VEX_PREFIX_66 doesn't need to set the hasOpSize flag since VEX instructions don't use the size fields it controls.
ad6662f Replace duplicated code with a existing helper function.
84887ce [AArch64]Fix the problem can't select f16_to_f32 and f32_to_f16. Also add copy support for FPR16. Also add a missing test case file belongs to commit r197361.
1651120 [AArch64 NEON] Custom lower conversion between vector integer and vector floating point if element bit-width doesn't match.
555f57f [AArch64]Fix the problem can't select concat_vectors of two v1i32 types. Also fix the problem can't select scalar_to_vector from f32 to v2f32/v4f32.
008425f Fix bad variable syntax in r199413
e82dec5 Use LLVM_EXPLICIT instead of a function pointer as bool.
ad60d3c Change inalloca rules to make it only apply to the last parameter
9b24eee [opt][PassInfo] Allow opt to run passes that need target machine.
7c41150 LTO: document LTO_API_VERSION for each API
5ee5e0c Fix two cases where we could lose fast math flags when optimizing FADD expressions.
5d9450f Fix an instance where we would drop fast math flags when performing an fdiv to reciprocal multiply transformation.
da5e148 Fix a bug in InstCombine where we failed to preserve fast math flags when optimizing an FMUL expression.
4b81ee4 Fix style issues.
6010e5d llvm-objdump/COFF: Print DLL name in the export table header.
a2a8bbb Teach InstCombine that (fmul X, -1.0) can be simplified to (fneg X), which LLVM expresses as (fsub -0.0, X).
a560d15 Use static instead of anonymous namespace.
6846082 Reduce nesting.
671a9e2 Use the current local variable naming style.
40c7e40 Pass the --enable-libcpp configure option for cross builds, too.
ea32ab9 Tweak the MCExternalSymbolizer to print references to C string literals with raw_ostream's write_escaped() method.
22939fa llvm-symbolizer: make mangled name heuristic apply to all symbols
fbe67da [mips][sched] Removed IIXfer. No instructions use it.
89d1caa [mips][sched] Put AND, OR, XOR, MOVT_I, and MOVF_I in the same itinerary class as their non-microMIPS counterparts.
640f8f6 Add an emitRawComment function and use it to simplify some uses of EmitRawText.
1a6226f [mips][sched] Split IIseb into II_SEB and II_SEH
ba8f9dd [mips][sched] Split IILogic into II_AND, II_OR, II_XOR, II_ANDI, II_ORI, II_XORI
fc17ce6 Move the xscale build attribute test to the proper place and remove the old one.
7bc4a7c [mips][sched] Split IIArith in preparation for the first scheduler targeting a specific MIPS CPU.
3150536 [mips] Correct itin class for MULT_MM and MULTu_MM to IIImult.
5655b11 [mips] IIImult should have an InstrItinData in the generic scheduler. Used the same one as for IIImul.
f390c22 ReMat: fix overly cavalier attitude to sub-register indices
6d49eaf [asan] Remove -fsanitize-address-zero-base-shadow command line flag from clang, and disable zero-base shadow support on all platforms where it is not the default behavior.
43a785b For ARM, fix assertuib failures for some ld/st 3/4 instruction with wirteback.
165f7ac AVX-512: fixed a compare pattern
c3ab5de Copy segment register when optimizing to MOV8ao8/MOV16ao16/MOV32ao32.
85026d9 Allow x86 mov instructions to/from memory with absolute address to be encoded and disassembled with a segment override prefix. Fixes PR16962.
4500ebd Use a slightly smaller hack.
6b925d4 Revert r199361: Now, the sanitizer got the change
75d95de [LTO] Modify lto.exports to force the sanitizer to rebuilt LTO.exports
f847b5b Fix typo: : not ;
fb432ac llmv-objdump/COFF: Print export table contents.
9dcfdf6 CommentColumn is always 40. Simplify.
23262fb [cmake] Attempt to fix sanitizer buildbot. The generation of the native_export_file end up in several different makefiles. All those makefiles write the same file, but can be executed concurrently... and bad things happen!
2cc9ba0 Convert test to FileCheck.
a950ad4 Reapply r194218 with fix:
fab01c1 Remove use of OpSize for populating VEX_PP field. A prefix encoding is now used instead. Simplify some other code. No functional changes intended.
da47fb5 Attempt to fix the MSVC build.
8963071 BasicAA: We need to check both access sizes when comparing a gep and an underlying object of unknown size.
59c2fe1 Prevent calls to __jit_debug_register_code from being optimized out.
6a8151d Don't use DataRefImpl to implement ImportDirectoryEntryRef.
2666b15 Report a warning when dropping outdated debug info metadata.
897473a Adjust offsets for max load instruction offsets. This is more pessimistic than it needs to be by 1 bit but I need to finish some other things so that all the boundary cases will work in that situation. constpool.c in test-suite will fail to assemble under our new internal test-suite sync without this change.
d12cef8 llvm-objdump: Don't print "Import table:" header if there's no import table.
a034c96 Fix parsing of .symver directive on ARM
4c831d9 [LTO] Add a hook to map LLVM diagnostics into the clients of LTO.
7fa843c Remove support for armv7f slice. <rdar://problem/12478440>
070764e Use a heavier hammer when --enable-libcpp is passed to bypass the tests which catch buggy versions of libstdc++. While libc++ would pass them, we don't actually update the state in the configure script to use libc++ when we pass --enable-libcpp, the logic for that is in the Makefiles. So just completely skip the library test when that configure flag is passed.
36280bd Update test/CodeGen/X86/vbinop-simplify-bug.ll.
3cab648 [DAGCombiner] Fix a wrong check in method SimplifyVBinOp.
1fca78a Return an ErrorOr<Binary *> from createBinary.
0893113 Sink the autoconf check for sufficiently modern host toolchain below the enable flag that selects the C++ standard library to use with the host toolchain. Otherwise we end up testing the wrong config.
96f3b25 Update the X86 assembler for .intel_syntax to accept the | and & bitwise operators.
03f1cb7 Make sure we create a new archive by deleting any stale ones first.
814c891 LL and SC decoder method fix.
f5c2d38 Added support for LWU microMIPS instruction.
9ac0e23 Fix a bug in r199313 where I failed to restore CXXFLAGS. Doh! Not *quite* ready to just slam C++11 on by default.
9c62b5e Add a check to configure that the libstdc++ selected by Clang isn't libstdc++v4.6. This is quite hard to test directly, so we test for it by checking a known missing feature in that version that was added in v4.7.
f62176f WinCOFF: Transform IR expressions featuring __ImageBase into image relative relocations
f433bee Revert 199262 - MCJIT remote still failing on ARM
fdd4da1 Re-disable MCJIT remote tests on ARM
7871309 Whitespace.
3846ce9 replace LeakSanitizerIsTurnedOffForTheCurrentProcess with __lsan_is_turned_off, but this time hide it under __has_feature(address_sanitizer); also include <sanitizer/lsan_interface.h>
a1bcd56 Fixed identation.
d5a74a7 Fix PR18449: SCEV needs more precise max BECount for multi-exit loop.
33ce2bd Add OpSize16 to the two byte forms of INC/DEC that we only use in 64-bit mode and a 64-bit only LEA. Even though we'll not be in 16-bit mode when we use them it makes their tables consistent with their 32-bit counterparts.
b6db372 For AArch64, lowering sext_inreg and generate optimized code by using SXTL.
38e6f73 Simplify x86 disassembler table handling of when to use TYPE_Rv/TYPE_R16/TYPE_R32 now that HasOpSizePrefix only means 16-bit instructions.
89fa06b Switch-to-lookup tables: set threshold to 3 cases
27a41c1 Check the error code and save a call to sys::fs::exists.
e96fec2 LoopVectorize: Only strip casts from integer types when replacing symbolic strides
574df95 Fix uninitialized variable.
f6cb056 Only mark functions as micromips.
268226b LangRef.rst: fix LangRef data layout text about m specifier, take 2
37a9853 LangRef: attempt to fix line breaks
2a0c417 PR 18466: Fix ARM Pseudo Expansion
0be7e6f Make parseBitcodeFile return an ErrorOr<Module *>.
cd94a76 Make sure we emit a relocation to the debug_ranges section in the presence of CU ranges.
1dc6608 Return an error_code from materializeAllPermanently.
06a3bdd Use error_code in Module::materializeAll.
70aa055 Fix Remote MCJIT on Windows
8a1418a Add testcase for r199263 forgotten in commit.
196c8e5 ARM: correctly determine final tBX_LR in Thumb1 functions
4e1247b AArch64: don't try to handle [SU]MUL_LOHI nodes
808054f Add the lld root to llvm-lit, so llvm-lit can be used to run lld tests individually.
6389abd Enable use of ranges for translation units in the presence of -ffunction-sections and update comments and TODOs about other places that we should enable this.
b59bdad Re-enable remote MCJIT tests on ARMv7
83ece7a Sanitize MCJIT remote execution
0445dc2 Do pointer cast simplifications on addrspacecast
e16fa98 Remove a check for an illegal condition.
5f33cbc Add FPExt option to CCValAssign::LocInfo. When generating calling-convention promotion code, Tablegen will now select FPExt for floating point promotions (previously it had returned AExt, which is not valid for floating point types).
abcf5f9 Revert "[AArch64] Added vselect patterns with float and double types"
60ecc44 Make nocapture analysis work with addrspacecast
1c3e47c Fix a low hanging use of hasRawTextSupport.
3e4542b Reapply "LTO: add API to set strategy for -internalize"
cba390a [AArch64] Added vselect patterns with float and double types
0972d27 Handle UIDs and GIDs that don't fit in 6 decimal places.
bb34ce8 Test case micromips-load-effective-address.s renamed to micromips-load-effective-address.ll and moved to test/CodeGen/Mips.
1491ef7 Handle dllexport for global aliases
38f68c5 Decouple dllexport/dllimport from linkage
d05a658 AVX-512: optimized scalar compare patterns removed AVX512SI format, since it is similar to AVX512BI.
fc40386 Fix valgrind warning for gcc builds.
527fa8c [X86] Fix assertion failure caused by a wrong folding of vector shifts by immediate count.
6849f10 ARM: add constraint that RdLo != Rn != RdHi for v5 MLA insts.
6e533d7 ARM: remove unused UMAALv5 node
55463f4 Revert "Decouple dllexport/dllimport from linkage"
62b8114 Revert "Handle dllexport for global aliases"
f32b968 Handle dllexport for global aliases
bce07a0 Decouple dllexport/dllimport from linkage
1b1321f Fix fastcall mangling of dllimported symbols
d13b9da Revert r199191, "LTO: add API to set strategy for -internalize"
8e31bc3 Remove stray comma in enum to satisfy -Wpedantic.
525ae45 Separate the concept of 16-bit/32-bit operand size controlled by 0x66 prefix and the current mode from the concept of SSE instructions using 0x66 prefix as part of their encoding without being affected by the mode.
67af045 LTO: add API to set strategy for -internalize
5b8e04c Always let value types influence register classes.
aaf6cbd Switch the NEON register class from QPR to DPair.
87a390a [PM] Fix stale header blocker, found by Duncan Smith in code review!
64aabee Remove the last weird subproject, 'privbracket'.
7ba06ed Add checks to configure for sufficiently modern host compilers. This requires Clang 3.1 or GCC 4.7. If the compiler isn't Clang or GCC, we don't try to do any sanity checking, but this give us at least a reasonable baseline of modern compilers.
3c733ea Replace .mips_hack_stocg with ".set micromips" and ".set nomicromips".
dfa550a Fix llc to not reuse spill slots in functions that invoke setjmp()
3f7ae00 Ok, really, for the last time, llvm-gcc is dead Jim.
5b45789 llvm-gcc is dead. REALLY. IT'S DEAD JIM.
e99ebe7 Make getTargetStreamer return a possibly null pointer.
f619e90 Remove extra } in documentation comment
9ad2161 Clean up RUN command for Assembler/getInt.ll.
55e6c61 Factor the option and checking of compiler version better. Put the option with the others in the top level CMakeLists, and put the check in HandleLLVMOptions. This will also let it be used from the standalone Clang builds.
d00ec5e Raise the minimum CMake version to 2.8.8 -- we have a report that the compiler version checking doesn't work on 2.8.7. This feature was documented in 2.8.10, but existed for an unknown amount of time before that.
486fdf2 Fix uninitialized warning in llvm/lib/IR/DataLayout.cpp.
df7e862 [DAG] Refactor ReassociateOps - no functional change intended.
bf2609e Add a check that the host compiler is modern to CMake, take 1. This is likely to be reverted and re-applied a few times. The minimum versions we're aiming at:
298d1a6 [DAG] Teach DAG to also reassociate vector operations
de0847d Hide the pre-RA-sched= option.
436f297 Fix PR 18369: [Thumbv8] asserts due to inconsistent CPSR liveness of IT blocks
99c7fec Update getLazyBitcodeModule to use ErrorOr for error handling.
36713c2 [AArch64] Fix assertion failure caused by an invalid comparison between APInt values.
286cc13 Fix indentation.
91e35c7 [SystemZ] Flesh out stackrestore test (frame-11.ll)
dcbd7ca [SystemZ] Add "volatile" to a dead store in variable-loc.ll
be110d9 [SystemZ] Improve risbg-01.ll test
80a3301 [SystemZ] Optimize (sext (ashr (shl ...), ...))
1023a94 fix a -Wdocumentation warning.
dc40857 ARM: add test for r199108. Oops.
08a8edb ARM: constrain Thumb LDRLIT pseudo-instructions to r0-r7.
f712548 [x86] Fix retq/retl handling in 64-bit mode
7f2eff7 [PM] Split DominatorTree into a concrete analysis result object which can be used by both the new pass manager and the old.
bb4954d [PM][cleanup] Clean up comments and use modern doxygen in this file. This is a precursor to breaking the pass that computes the DominatorTree apart from the concrete DominatorTree.
1f044d4 AVX-512: Embedded Rounding Control - encoding and printing Changed intrinsics for vrcp14/vrcp28 vrsqrt14/vrsqrt28 - aligned with GCC.
ed0b9ad [PM] Fix the const-correctness of the generic DominatorTreeBase to support notionally const queries even though they may trigger DFS numbering updates.
2073b0a [PM] Pull the generic graph algorithms and data structures for dominator trees into the Support library.
eaefef4 Revert "ReMat: fix overly cavalier attitude to sub-register indices"
a917400 Docs: fix sign of division and increase equivocation on code generated.
54d3aa1 ReMat: fix overly cavalier attitude to sub-register indices
4addc6d [cleanup] Re-sort the examples #include lines with my sort_includes script.
098dd80 [cleanup] Fix the includes in the examples for r199082.
37446cb [cleanup] Switch comments to use '\brief' style instead of '@brief' style, and remove some unnecessary comments (the code is perfectly self-documenting here). Also clang-format the function declarations as they wrap cleanly now.
56e1394 [cleanup] Move the Dominators.h and Verifier.h headers into the IR directory. These passes are already defined in the IR library, and it doesn't make any sense to have the headers in Analysis.
213fb8f [cleanup] Add a missing include exposed by resorting other includes. Should fix the build.
9f20a4c Re-sort #include lines again, prior to moving headers around.
e2dc71d [PM] Wire up support for writing bitcode with new PM.
5868b12 llvm/test/ExecutionEngine/MCJIT/load-object-a.ll: Put together rm(1) and mkdir(1) at the top.
a5761de [CMake] Move BUG_REPORT_URL from clang to llvm.
085c07f [PM] Wire up support for printing assembly output from the opt command. This lets us round-trip IR in the expected manner with the opt tool.
4a76032 [PM] Add an enum for describing the desired output strategy, and run that through the interface rather than a simple bool. This should allow starting to wire up real output to round-trip IR through opt with the new pass manager.
63735e7 [AArch64 NEON] Add missing patterns for bitcast from or to v1f64
5c8b8e6 [AArch64 NEON] Add more scenarios to use perm instructions when lowering shuffle_vector
b6e0946 correct target directive handling error handling
2d81106 Handle bundled terminators in isBlockOnlyReachableByFallthrough.
02a054c [CMake] Add a comment to tablegen's copy_if_different. Ninja reports every action by default.
25ca9f9 raw_fd_ostream: Don't change STDERR to O_BINARY, or w*printf() (in assert()) would barf wide chars after llvm::errs().
f9f10e3 Make test independent of scheduling
486fdaa raw_stream formatter: [Win32] Use std::signbit() if available, instead of _fpclass().
6d289b8 llvm/test/CodeGen/X86/shl_undef.ll: Tweak to satisfy r199050.
3c1dc3c Fix non-deterministic SDNodeOrder-dependent codegen
a595257 [PM] Add module and function printing passes for the new pass manager.
895ada0 [PM] Revert an accidental commit of total BS code. This was halfway through being editted, and I forgot to delete it before committing. What's more awesome is that it compiles cleanly!
313e399 [PM] Simplify the IR printing passes significantly now that a narrower API is exposed.
b6458b6 [PM] Update one user of the printing pass API that I missed.
a5ced5e [PM] Simplify the interface exposed for IR printing passes.
2ad3b87 [PM] Run clang-format and remove redundant or obvious comments before the heavy factoring needed to share logic between the new pass manager and the old.
8a5351f [PM] Rename the IR printing pass header to a more generic and correct name to match the source file which I got earlier. Update the include sites. Also modernize the comments in the header to use the more recommended doxygen style.
dbd37e9 [PM] Un-indent this file-level namespace. It's far more common to not indent the outer-most llvm namespace in header files.
83bdd1d [PM] Fix a bunch of bugs I spotted by inspection when working on this code. Copious tests added to cover these cases.
e768765 [PM] Add support for parsing function passes and function pass manager nests to the opt commandline support. This also showcases the implicit-initial-manager support which will be most useful for testing. There are several bugs that I spotted by inspection here that I'll fix with test cases in subsequent commits.
3d83eb4 ARM IAS: fix diagnostics of improper qualification
fcb6800 [Sparc] Add support for parsing floating point instructions.
a2fce11 ARM: change implicit immediate forms of {ld,st}r{,b}t to psuedo-instructions
188fbac [Sparc] Replace (unsigned)-1 with ~OU as suggested by Reid Kleckner.
1655be2 The SPARCv9 ABI returns a float in %f0.
8680262 Typo
32cf306 Add missing mul aliases for armv4 support. Add checks that armv4 can assemble the various mul instructions.
19236d5 Switch-to-lookup tables: Don't require a result for the default case when the lookup table doesn't have any holes.
50e6d23 [Sparc] Add missing processor types: v7 and niagara
8009754 ARM IAS: support emitting constant values in target expressions
ccdb9c9 Fix broken CHECK lines.
73c9559 LoopVectorizer: Enable strided memory accesses versioning per default
8104690 [Sparc] Bundle instruction with delay slow and its filler. Now, we can use -verify-machineinstrs with SPARC backend.
ca179f4 lit: Provide source locations in cfg files with older Python versions
1a1ec67 Fix 'ned' typo in doc comment
4c28d20 lit: execfile() isn't present in Python 3.3
08be87b [PM] Actually nest pass managers correctly when parsing the pass pipeline string. Add tests that cover this now that we have execution dumping in the pass managers.
b56749c [PM] Add names to passes under the new pass manager, and a debug output mode that can be used to debug the execution of everything.
d55b5fe [PM] Somehow I missed the header guards on this file. Yikes!
55da404 LoopVectorize.cpp: Appease MSC16.
e62f38b llvm/test/Transforms/SampleProfile/syntax.ll: Eliminate locale-sensitive message check.
47eafaa llvm/test/CodeGen/X86/anyregcc.ll: Add explicit -mtriple=x86_64-unknown-unknown.
4e728be [PM] Add (very skeletal) support to opt for running the new pass manager. I cannot emphasize enough that this is a WIP. =] I expect it to change a great deal as things stabilize, but I think its really important to get *some* functionality here so that the infrastructure can be tested more traditionally from the commandline.
4ab3e6c [anyregcc] Fix callee-save mask for anyregcc
babad8b Revert r198979 - accidental commit.
fae2ba0 Reformat.
708166f Update function name and add some helpful comments.
050d29c Fix odd whitespace.
4b2b2da Extend and simplify the sample profile input file.
0de8cec Propagation of profile samples through the CFG.
6905157 Space formatting fix for r198966.
af43b47 Constant propagate MachineInstrClassName.
48324ba Fixing build break: should be in the if statement, not outside.
b2c6a6c Restore the library dependency of LLVMgold on LTO; this was removed recently but is needed for LLVMgold to load in ld.
28cd4b9 Add a note about the old asm printer being removed.
dd86e54 All backends use MC now.
2dc1d66 Use the simpler version of sys::fs::remove when possible.
217c714 Remove remove_all. A compiler has no need for recursively deleting a directory.
d91c160 LTO: whitespace changes
ee3f7de LoopVectorizer: Handle strided memory accesses by versioning
db81071 SCEVRewriter: Optionally interpret constants in value map as SCEVConstant
3dbf247 Amending test/MC/ARM/thumb2-mclass.s to match its apparent original purpose (to test the ARMv6M/ARMv7M commonality), and creating a new test case for the differences between ARMv6M and ARMv7M
6099123 Must not produce Tag_CPU_arch_profile for pre-ARMv7 cores (e.g. cortex-m0)
793e2aa ARM: fix regression caused by r198914
a9608f7 Silence unused variable warning for non-asserting builds that was introduced in r198937.
a9ad60c Use 'w' instead of 'c' to represent the win32 mangling.
ac843ff Make sure -use-init-array has intended effect on all AArch64 ELF targets, not just linux.
095f4c4 Whitespace.
f1a1e4a Sink add_llvm_library(gtest_main) to UnitTestMain/CMakeLists.txt.
53b22f1 llvm/test/ExecutionEngine/MCJIT/load-object-a.ll: Remove "REQUIRES:shell". This doesn't depend on shell's behavior.
4b13e3c llvm/test/ExecutionEngine/MCJIT/lit.local.cfg: Add "AMD64" in the host_arch list.
744f816 lli: Tweak CacheName not to contain DOS driveletter.
32712c7 lli: LLIObjectCache: Use llvm::sys::path to get dirname.
9f456a9 Whitespace.
929ae46 llvm/test/ExecutionEngine/MCJIT/load-object-a.ll: Fix not to use %t.cachedir/%p.
ab39685 reapply r198858: Disable LeakSanitizer in TableGen binaries, see PR18325; this time LeakSanitizerIsTurnedOffForTheCurrentProcess is used instead of __lsan_is_turned_off
7ff0502 ARM IAS: support #:{lower,upper}16: for GNU compatibility
003132d ARM IAS: support GNU extension for ldrd, strd
4eeee88 ARM IAS: support implicit immediate 0s for {LD,ST}R{B,}T
d0a796e [Sparc] Emit retl/ret instead of jmp instruction. It improves the readability of the assembly generated.
8ce28c8 [Sparc] Add support for parsing jmpl instruction and make indirect call and jmp instructions as aliases to jmpl.
0f09c9f Revert "Revert r198851, "Prototype of skeleton type units for fission""
d961567 Fix a bug with the ARM thumb2 CBNZ and CBNZ instructions that branch to the next instruction.  This can not be encoded but can be turned into a NOP.
36c48ca Update the developer policy to more clearly spell out the steps for contributors to submit patches to the LLVM project. Thanks to Danny, Chris, Alp, and others for reviewing.
1c5033a Bitcode: Fix a typo in an assert
3102565 [Sparc] Multiclass for loads/stores. No functionality change intended.
cb8c9ce Clean up an inconsistency in v7s feature default.
e279c77 Add a unit test for the copy constructor.
d92ff21 Revert "Disable LeakSanitizer in TableGen binaries, see PR18325"
4804692 Re-remove dead code. This reverts r198854.
80f3b5a Update example to be more idiomatic.
adff827 Revert r198851, "Prototype of skeleton type units for fission"
3539d6d Fixed old typo in ScalarEvolution, that caused wrong SCEVs zext operation. Detailed description is here: http://llvm.org/bugs/show_bug.cgi?id=18000#c16
db5c1f3 [SystemZ] Fix RNSBG bug introduced by r197802
acb31a2 Handle masked rotate amounts
2984497 Match the InstCombine form of rotates by X+C
c50299b Disable LeakSanitizer in TableGen binaries, see PR18325
7b651ce Revert r198819 - "Remove dead code."
0ee9bc7 Fix accidental use of the exotic "std::string::back()" method. Turns out it's new in C++11.
4442b6e Add an "-object-cache-dir=<string>" option to LLI. This option specifies the root path to which object files managed by the LLIObjectCache instance should be written. This option defaults to "", in which case objects are cached in the same directory as the bitcode they are derived from.
5f09295 Prototype of skeleton type units for fission
a34ec4a llvm-dwarfdump: type unit dwo support
3ca4db2 llvm-readobj: address review comments for ARM EHABI printing
fe097bf llvm-readobj: fix endianness
6fc76f3 DwarfDebug: Refactor out common skeleton construction code to be reused for type unit skeletons.
c95a251 Extend llvm::AlignedCharArrayUnion to support up to 10 arguments, as required by Clang's APValue.
d5a4058 Reformatting for r198842
2af945d DwarfUnit: Rename "Node" to "CUNode" and propagate it through DwarfTypeUnit as well.
75a032d Revert "DwarfUnit: Move the DICompileUnit Node to the DwarfCompileUnit only"
41d9e92 [PM] Rename this source file to something a bit more generic before I add support for the new pass manager to it.
560e395 Put the functionality for printing a value to a raw_ostream as an operand into the Value interface just like the core print method is. That gives a more conistent organization to the IR printing interfaces -- they are all attached to the IR objects themselves. Also, update all the users.
58691be DwarfUnit: Move the DICompileUnit Node to the DwarfCompileUnit only
b4857de Remove the test for endianness in configure.ac and regenerate.
fd4f17f Replace fstream use with raw_fd_ostream.
0b56759 Remove dead code.
217a293 Use the existing typedef to avoid forming a reference to a reference.
b3ea6d7 llvm.experimental.stackmap: fix encoding of large constants.
07ef4fd Simplify/collapse/denest a conditions/blocks.
4130da8 llvm-dwarfdump: reorder dwo sections to immediately proceed their non-dwo equivalents
19e5156 Fix the C++03 build.
dee18bb Use getError and remove the error_code operator.
6b71233 Remove vestigal bits of MC from the mangler. It no longer uses this, and having the include could cause weird layering problems between the IR and MC libraries.
5bbbb37 Conservatively handle multiple MMOs in MIsNeedChainEdge
b9271b0 Move declaration of variables down to first use.
54c69e1 Add missing definitions of key_type and value_type to DenseSet.
d13e173 Add get and getError methods to ErrorOr.
cb1f0dd [AArch64][NEON] Added UXTL and UXTL2 instruction aliases
edc4b60 Force emit a relocation for @gnu_indirect_function symbols so that the indirect resolution works.
adc537e [x86] Remove OpSize16 flag from MOV32r0
638e97f Teach the DAGCombiner how to fold 'vselect' dag nodes according to the following two rules:   1) fold (vselect (build_vector AllOnes), A, B) -> A   2) fold (vselect (build_vector AllZeros), A, B) -> B
2b5313d Add missing rename from the previous commit.
dc682bc Rename get to getStorage and getError to getErrorStorage.
268ab86 Add missing test case for r198737.
1139063 Remove mention of old deleted test scripts from testing guide
e333ed2 [DAGCombiner] Factor duplicated rotate code into a separate function
5988879 lit: Provide file location in cfg error messages
38b3626 [x86] Support R_386_PC8, R_386_PC16 and R_X86_64_PC8
51a6450 [x86] Add JMP_2 and other 16-bit PC-relative branch instructions
2634d1f [x86] Do not relax PUSHi16 to PUSHi32 (PR18414)
ab5b948 [x86] Make AsmParser validate registers for memory operands a bit better
aab5987 [x86] Fix MOV8ao8 et al for 16-bit mode, fix up disassembler to understand
4f32ce2 [x86] Use 16-bit addressing where possible in 16-bit mode
975fe2c [x86] Fix JCXZ,JECXZ_32 for 16-bit mode
d7ae82f [x86] Disambiguate RET[QL] and fix aliases for 16-bit mode
1c75f15 [x86] Disambiguate [LS][IG]DT{32,64}m and add 16-bit versions, fix aliases
ce8d7be [x86] Add JMP16[rm],CALL16[rm] instructions, and fix up aliases
1a19e26 [x86] Add PUSHA16,POPA16 instructions, and fix aliases for 16-bit mode
a493812 [x86] Add OpSize16 to instructions that need it
5de64fc Use -std=gnu99 in tools/llvm-c-test/CMakeLists.txt
b1adf08 CMake: Provide LLVM_PLUGIN_EXT definition
958cc01 AVX-512: Added more intrinsics for pmin/pmax, pabs, blend, pmuldq.
9c0a05c [patch] Adjust behavior of FDE cross-section relocs for targets that don't support abs-differences.
4712264 [AArch64 NEON] Fix generating incorrect value type of NEON_VDUPLANE when lower build_vector if result value type mismatch with operand value type.
8f51249 [SparcV9] Rename operands in some sparc64 instructions so that TableGen can encode them correctly.
f0e4bf2 [Sparc] Correct the mask for fixup_sparc_br19.
7ceaa86 [Sparc] Add support for parsing branch instructions and conditional moves.
42fdb1f Re-apply r196639: Add support for archives and object file caching under MCJIT.
0fe78d5 tests: disable ARM unwinding tests if ARM is unavailable
cb914a3 ARM IAS: properly handle expression operands
bc41190 llvm-readobj: add support for ARM EHABI unwind info
9e0fd27 Fix a bug about generating undef operand when optimising shuffle vector and insert element in instruction combine.
476136e [x86] Kill gratuitous X86_{32,64}TargetMachine subclasses, use X86TargetMachine
b56c57b Move the llvm mangler to lib/IR.
7e889af In the ELFWriter when writing aliased (.set) symbols dont blindly take type from the new symbol but merge them so that the type is never "downgraded".
67cc1dc Fix uninitialized variable warning in DataLayout.
e3b54e2 Don't assert with private type info variables.
5f9cb7b Emit arange padding with a single directive.
6f9a004 Add ARM fconsts/fconstd aliases for vmov.f32/vmov.f64
1485d51 [arm] Fix an incorrect comment in ARMUnwindOpAsm.h.
1446dc9 Try to fix the windows build. The comments in other files don't seem to be quite accurate. =]
bc65a8d Move the LLVM IR asm writer header files into the IR directory, as they are part of the core IR library in order to support dumping and other basic functionality.
974a445 Re-sort all of the includes with ./utils/sort_includes.py so that subsequent changes are easier to review. About to fix some layering issues, and wanted to separate out the necessary churn.
1a080ce [AArch64]Add support to spill/fill D tuples such as DPair/DTriple/DQuad. There is no test cases for D tuple as the original test cases are too large. As the spill/fill of the D tuple is similar to the Q tuple, the correctness can be guaranteed.
bba676f [CMake] Introduce llvm_update_compile_flags(target_name) to update compile flags in target properties.
9cca551 [AArch64]Add support to copy D tuples such as DPair/DTriple/DQuad and Q tuples such as QPair/QTriple/QQuad. There is no test case for D tuple as the original test cases are too large. As the copy of the D tuple is similar to the Q tuple, the correctness can be guaranteed.
dff3861 [Sparc] Add support for parsing sparc asm modifiers such as %hi, %lo etc., Also, correct the offsets for FixupsKindInfo.
9c15f4c Fix for PR18396: Assertion: MO->isDead "Cannot fold physreg def".
b4e0c9b Reapply r198654 "indvars: sink truncates outside the loop."
a4d123f [AArch64 NEON] Fixed incorrect immediate used in BIC instruction.
6a4207d ARM IAS: allow more depth in contextual diagnostics
a83f45b ARM IAS: refactor unwind context
9d76f40 ARM Streamer: print out tag names
8e12985 ARM IAS: improve .eabi_attribute handling
307f17b MCParser: introduce Note and use it for ARM AsmParser
a7f2323 Fix comment of findGCD.
2352abb Revert "indvars: sink truncates outside the loop."
a16f1ce [Sparc] Add support for parsing memory operands in sparc AsmParser.
ced88c5 indvars: sink truncates outside the loop.
f86063e 80 col. comment.
063564c [Mips] TargetStreamer Support for .abicalls and .set pic0.
284c8bc For the 'C' disassembler API, add a new ReferenceType for the SymbolLookUp() call back to return a demangled C++ name to be used as a comment.
1776483 Improve documentation of the 'a' specifier and the '<abi>:<pref>' align pair.
7397426 Fix c++ mode comments
a55aaf7 Reapply r198478 "Fix PR18361: Invalidate LoopDispositions after LoopSimplify hoists things."
1abc3c0 Introduce a cmake LLVM_ENABLE_LIBCXX build parameter to compile using libc++ instead of the system default
34fa311 Remove dead code.
0aba46f ARM MachO: sort out isTargetDarwin/isTargetIOS/... checks.
f1c1a7c XCore Target: correct callee save register spilling when callsUnwindInit is true.
3a905cb XCore target: Lower EH_RETURN
af74cbf XCore target: Lower FRAME_TO_ARGS_OFFSET
12ad7cd XCore target: Lower RETURNADDR
c2508e5 XCore target: Optimise entsp / retsp selection
7d2dd96 XCore target: Refactor LR handling
e2d3dc8 XCore target: Refactor the loading of constants into a register
e452d6e XCore target: fix handling of unsized global arrays in large code model
8e27a6b ARM: keep special non-AEABIness of "-darwin-eabi" triples for now
a56ae89 AVX-512: added intrinsic vcvtpd2ps (with rounding mode and without)
49e36be [Sparc] Explicitly cast -1 to unsigned to fix buildbot errors.
9429f47 [Sparc] Add initial implementation of disassembler for sparc
ba75483 MC: Fatally error if subtraction operand is bad
c8fd2c5 The rest of r198588. Remove SegOvrBits from X86 TSFlags since they weren't being used.
0fee6d9 Remove SegOvrBits from X86 TSFlags since they weren't being used.
4683221 Remove argument to fix build bot failure.
30be10a Add OpSize16 bit, for instructions which need 0x66 prefix in 16-bit mode
b87d142 Remove unnecessary #includes.
93c9401 [x86] Add basic support for .code16
3b83083 Support: add reference for ARM EHABI
f14f22c [AArch64 NEON] Fix invalid constant used in vselect condition.
8cba603 [Sparc] Add ELF Object Writer for Sparc.
4644d79 Refactor function that checks that __builtin_returnaddress's argument is constant.
7f10681 Remove a failing test to get the buildbots back to green.
91768a2 Try to fix s390x build bot.
733d01e ARM: move ARMUnwindOp.h into Support
0dc0e22 SPARC: Make helper function static.
074b501 Fix ModR/M byte output for 16-bit addressing modes (PR18220)
793b605 ELF relocation types for sparc.
d9ff6f1 Remove opcode from MOV32r0 that I accidentally left when I converted it to Pseudo. Remove FIXME as well.
632c1e5 ARM: style changes to LDRD, STRD definition
4974175 AVX-512: changed property name from "neverHasSideEffects=1" to "hasSideEffects=0", added this property to VMOVSS/VMOVSD; Optimized a truncate pattern.
9de1c5f [Mips] Add support for DT_MIPS_RLD_MAP and DT_MIPS_PLTGOT dynamic section tags to the llvm-readobj.
89573af [Mips] Rename the test case input file. No functional changes.
3a880de AVX-512: Added more intrinsics for convert and min/max. Removed vzeroupper from AVX-512 mode - our optimization gude does not recommend to insert vzeroupper at all.
5c1c0bd [PM] Add a definition for the static PassID in the CallGraphAnalysis. Missed this when adding the skeleton analysis. Caught by a build break in the next patch I'm working on when trying to use the analysis.
a2a2851 Add in a unittest for the one-use pattern matcher.
9005d2a Add the other form of movq xmm,xmm for the disassembler.
adb7d3b Use patterns to remove some duplicate instructions.
6a69266 Fix encoding for PUSH64i16. Add In64BitMode Predicate. Remove disassembler hack.
09104ff Remove no longer needed x86 disassembler hack.
01cb7fa Mark x86 _alt instructions as AsmParserOnly so they will be omitted from disassembler without string matches.
2b5dc93 Use new ForceDisassemble flag on the 2-byte forms of INC/DEC for 32-bit mode and remove disassmbler table emitter hack.
527f132 Add a new x86 specific instruction flag to force some isCodeGenOnly instructions to go through to the disassembler tables without resorting to string matches. Apply flag to all _REV instructions.
2726908 Add support to the pattern match library for matching NSW and NUW instructions. I needed this for a quick experiment I was making, and while I've no idea if that will ever get committed, I didn't want to throw away the pattern match code and for anyone else to have to write it again. I've added unittests to make sure this works correctly.
b54a0ac Fix a bug in IRBuilder that's been there for who knows how long. It failed to correctly propagate the NUW and NSW flags to the constant folder for two instructions. I've added a unittest to cover flag propagation for the rest of the instructions and constant expressions.
62107b6 Attempt to fix buildbots by XFAILing some architectures.
db3031f Add lit.local.cfg for MC/Sparc
3f62424 Use a shorter name for the IRBuilder member. This will help the tests I'm adding next be a lot more readable.
5d02c84 [Sparc] Add initial implementation of MC Code emitter for sparc.
478ea5d Simplify the PatternMatch unittest by giving it a module, function, and basic block to hold instructions, and managing all of their lifetimes in a fixture. This makes it easy to sink the expectations into the test cases themselves which also makes things a bit more explicit and clearer IMO.
4a81647 Emit an error message if the value passed to __builtin_returnaddress isn't a constant
e43a0f8 Mark the 64-bit x86 push/pop instructions as In64BitMode. Mark the corresponding 32-bit versions with the same encodings Not64BitMode. Remove hack from tablegen disassembler table emitter. Fix bad test.
62fe07a Don't use PrintFatalError(which calls exit) for 'Primary decode conflict'. Just skip emitting the table. This way the main function will delete the output file instead of it remaining empty and confusing dependency checks if build is invoked a second time.
00e9cfe Add a FIXME.
395f7c2 Add missed cleanup from r198456
29d56f6 Tag x86 move to/from debug/control registers with Not64BitMode/In64BitMode. Remove disassembler hack.
ccd36c4 Revert "Fix PR18361: Invalidate LoopDispositions after LoopSimplify hoists things."
72d2b05 [Sparc] Add the initial implementation of an asm parser for sparc/sparcv9.
6e202a9 [SparcV9]: Implement RETURNADDR and FRAMEADDR lowering in SPARC64.
c846d65 Fix PR18361: Invalidate LoopDispositions after LoopSimplify hoists things.
6a603a6 whitespace
030cead Remove JMP64pcrel32 (jmpq ). There are no tests for it. I'm pretty sure it won't be emitted correctly since it was set to NoImm. And I can't prove that gas accepts 'jmpq' with an immediate either. Remove the special case for it from the disassembler table generator.
15b3169 Fix MSVC warning about missing return in DataLayout
c3d3f0c Add a LLVM_DUMP_METHOD macro.
8ff2864 [Mips]Work around MIPS linker issues exposed by commit r198087 until bug 18360 is resolved
609ad7e FileCheck: Print a nice error message for missing closing ']' in regex vars.
077b7b1 Revert "For disassembly when adding a symbolic operand that is a C++ symbol name, also put the human readable name in a comment."
4432a61 Fix typo.
6cedb06 For disassembly when adding a symbolic operand that is a C++ symbol name, also put the human readable name in a comment.
8e0f67d Make the llvm mangler depend only on DataLayout.
5124fef [AArch64][NEON] Added SXTL and SXTL2 instruction aliases
d329ef5 Revert "Revert "Debug Info: Type Units: Simplify type hashing using IR-provided unique names.""
dace98d Fix loop rerolling pass failure with non-consant loop lower bound
8bd582a MSVC 2010 build fix
3036182 BasicAA: Use reachabilty instead of dominance for checking value equality in phi cycles
74a990b Enable LLVM_FINAL, LLVM_OVERRIDE and LLVM_HAS_VARIADIC_TEMPLATES with more gcc and MSVC versions
e611ea7 Revert "Debug Info: Type Units: Simplify type hashing using IR-provided unique names."
5df1dd4 Debug Info: Type Units: Simplify type hashing using IR-provided unique names.
32abfef 80-column.
38d3757 Remove TextSectionSym as it is unused.
306c04c Revert "Reverting r193835 due to weirdness with Go..."
58b2814 Reverting r193835 due to weirdness with Go...
3034218 Fix break introduced in r198377 due to using a local type as a template parameter.
4c9b681 Test coverage for non-default-constructible elements in a StringMap
a11df46 Remove StringMapEntryInitializer support.
fb57392 [RegAlloc] Make tryInstructionSplit less aggressive.
79d8722 [PPC] Fix comment to match function name
01a5024 Remove comments on CU skeleton construction, they're probably obvious.
d151389 [PPC] Fix the scheduling of CR logicals on the P7
628dca1 Elaborate on comment for skeleton CU construction.
99ba843 Revert seemingly unnecessary section sym for the data section.
73a5fdd [PPC] Use the correct immediate operands on 64-bit instructions
ac8ba0c Disable compare sinking in CodeGenPrepare when multiple condition registers are available
5f8e79e indvars: cleanup the IV visitor. It does more than gather sext/zext info.
daf7c14 Fix all the verifier tests I added for address spaces.
e151788 Fix up a couple of review comments:
932aa0d Simplify conditional.
ee60d39 Allow addrspacecast in global aliases
0a3368c [TableGen] Correctly generate implicit anonymous prototype defs in multiclasses
6fa9961 [TableGen] Handle ValueType in CodeGenDAGPatterns GetNumNodeResults
e13db10 Delete unread globals through addrspacecast
1085cc1 Fix addrspacecast with metadata globals
ecc59f2 [CMake] Add missing set_output_directory after Takumi's change in r198205.
f79b35a Remove redundant fold call introduced in r195944. Thanks very much to Juergen for pointing this out.
2370e55 [TableGen] Use the same anonymous name as the prefix on all multiclass defs
fcbe3d9 indvars: insert truncate at loop boundary to avoid redundant IVs.
d573aba Mark REX64_PREFIX as In64BitMode, remove hack from X86RecognizableInstr.
2cb57f9 CMake separate projects: use correct name for LIBRARY_OUTPUT_DIRECTORY_${suffix}.
c265f06 Make llvm::Regex non-copyable but movable.
f828e82 Revert "Debug info: Add enumerators to the __apple_names accelerator table."
163868f Remove unused HasFROperands field from disassembler.
028b816 Use LLVM_STATIC_ASSERT rather than a hand-rolled implementation.
a7133ee Mark PUSHFS64/PUSHGS64/POPFS64/POPGS64 as In64BitMode and remove the hack from the disassembler table builder.
d4e0bc4 Remove unnecessary stirng comparison from disassembler.
e625100 Mark all x86 Int_ and _Int patterns as isCodeGenOnly so the disassembler table builder doesn't need to string match them to exclude them.
54ed186 Remove CMake-Xcode hack that symlinked llvm-config into a common place.
3117304 [arm] Add softvfp to supported FPU names.
a21a8a8 Make the ARM ABI selectable via SubtargetFeature.
e7d30fb Support LLVM_STATIC_ASSERT() in clang pre-C++11 mode
e61c70a Remove unused function argument.
1bdb320 BasicAA: Fix value equality and phi cycles
f873554 Rename 'assert' to something less loaded in CompileAssertHasType
33cc3f8 Remove the 's' DataLayout specification
447c348 [Sparc] Handle atomic loads/stores in sparc backend.
5cfd40c Remove modifierType/Base from X86 disassembler tables as they are no longer used. Removes ~11.5K from static tables.
924ac6d [SparcV9]: Custom lower UMULO/SMULO so that the arguments are send to __multi3() in correct order.
ca0ef6f [SparcV9]: Use SRL instead of SLL to clear top 32-bits in ctpop:i32. SLL does not clear top 32 bit, only SRL does.
550848e X86Disassembler.cpp: Prune stray @return on translateFPRegister(). [-Wdocumentation]
95a3ccd Remove need for MODIFIER_OPCODE in the disassembler tables. AddRegFrms are really more like OrRegFrm so we don't need a difference since we can just mask bits.
3062a31 AVX-512: Added intrinsics for vcvt, vcvtt, vrndscale, vcmp Printing rounding control. Enncoding for EVEX_RC (rounding control).
979b2cd Second attempt at Removing special form of AddRegFrm used by FP instructions. These instructions can be handled by MRMXr instead.
0cc6c9b Update the copyright credits -- Happy new year 2014!
a18007d Silence g++ 4.9 build issue in unit tests
8dff260 Add two fp test cases I missed in my previous commit.
45e6393 Add more X86 FP stack disassembler test cases.
99cebad Fold vector selects with undef elements in the condition. Fixes PR18319. Patch by Ilia Filippov!
5cbbd7e Revert r198238 and add FP disassembler tests. It didn't work and I didn't realized we had no FP disassembler test cases.
31b2705 Remove old comment referring to an argument that no longer exists.
56b7f73 Fix misaligned indentation in "if" block in MipsMCCodeEmitter.cpp
c46a29c Add missing MRM_XX forms to the old JIT emitter for consistency.
64f275b Remove MRMInitReg form now that it's last use is gone.
e27bded Silence g++ 4.9 build issue
ec62c1a Handle MOV32r0 in expandPostRAPseudo instead of MCInst lowering. No functional change intended.
ad5e4b9 Merge case statements to remove redundant code.
e6d2dce Remove special form of AddRegFrm used by FP instructions. These instructions can be handled by MRMXr instead.
4ba4132 ARM IAS: account for predicated pre-UAL mnemonics
98b356b Refactor and reduce code duplication for non-split dwarf strings.
d710984 Remove EscapeFilter. It's funcionality can be covered by correctly using ExtendedFilter and ExactFilter. No functional change.
5be7776 Revert r198208 and reapply:
d2f3071 Simplify filter accepts function to just return 'condition' instead of branching to return true/false. No functional change.
b2299f0 Revert r198199 (and r198202). It broke 3 DebugInfo tests for targeting i686-cygming.
e18e76e [CMake] Generate ${BUILD_MODE}/llvm-lit for each ${CMAKE_CONFIGURATION_TYPES}.
74ae528 [CMake][VS][XCode] Restruct the output directory layout more comfortable, ${BINARY_DIR}/${BUILD_MODE}/(bin|lib)
6db0e39  Visual C++ does not support -ffunction-sections -fdata-sections.
782b70f Fix aranges and split dwarf by ensuring that the symbol and relocation back to the compile unit from the aranges section is to the skeleton unit and not the one in the dwo.
8e58e03 Keep comment with 'Subtarget' ivar.
bba2331 Reapply r198196 with a fix to zero initialize the skeleton pointer.
94d1e67 Port r198087 and r198089 (strip dead code by default) from make to cmake.
0661cbe Temporarily revert "Use a pointer to keep track of the skeleton unit for each normal unit" as it seems to be causing problems in the asan tests.
1dd211d Use a pointer to keep track of the skeleton unit for each normal unit and construct it up front. Add address ranges at the end and a helper routine so that we're not needlessly using an indirction in the case of split dwarf.
90128be For AArch64 Neon, simplify scalar dup by lane0 for fp.
afcdbf7 [AArch64]Add code to spill/fill Q register tuples such as QPair/QTriple/QQuad.
43ffcc5 [AArch64]Can't select shift left 0 of type v1i64
3f8f3c9 Fix a bug in DAGcombiner about zero-extend after setcc.
3796015 [AArch64]Fix the problem that can't select mul of v1i64/v2i64 types. E.g. Can't select such IR:      %tmp = mul <2 x i64> %a, %b
14eb675 Un-XFAILify some tests which are now passing.
15deec7 Set LLVM_EXPORTED_SYMBOL_FILE in CMakeLists whose corresponding Makefiles do so.
098bcf7 [cmake] In add_llvm_loadable_module, don't clobber existing LINK_FLAGS on OS X.
ee6d3cd ARM IAS: fix after r198172
dd28367 ARM: provide VFP aliases for pre-V6 mnemonics
a4f62f8 ARM: fix a few typos in comments
cb15d52 ARM: fix typo in VFP instruction definition
9339519 Fix mis-merging in AddLLVM.cmake, take #2. LINK.EXE's options had been broken. Sorry again.
e44676d Fix mis-merging in AddLLVM.cmake. Sorry.
ee8b3c3 [CMake] Fix add_llvm_loadble_module.
a1d32cc [CMake] add_llvm_symbol_exports: Use unique name for each target.
d9c7484 [CMake] add_llvm_symbol_exports: Use ${native_export_file} instead of equivalent constant "symbol.*', since it is defined.
0809dc5 Fix indentation alignment of a declaration in MipsMCCodeEmitter.cpp
c956500 Store the global variable that's created so that it's reclaimed afterwards.
827176c Yet another attempt at getting cmake-clang-i686-mingw32 green.
748618b Make LLVM_MSC_PREREQ() compatible with all MSVC versions
a71d72a [SparcV9] Use separate instruction patterns for 64 bit arithmetic instructions instead of reusing 32 bit instruction patterns.  This is done to avoid spilling the result of the 64-bit instructions to a 4-byte slot.
bfefc8d Windows build fixes, hopefully last part.
9c7316f Python compatibility fix for r198150
d51aa99 Fix parens fail in r198142
531c479 Another windows build fix attempt.
aa29cf4 Prospective Python 3 fix for r198150
343bda6 More windows build fix attempts.
9ad6e33 lit: Incremental test scheduling
0c67825 [SparcV9] For codegen generated library calls that return float, set inreg flag manually in LowerCall().  This makes the sparc backend to generate Sparc64 ABI compliant code.
006e786 The same we do every commit, Pinky: Try to fix the windows build (after r198136).
9761b5a Make more of the x86 lowering helper functions static.
5b99189 [SparcV9]: Implement lowering of long double (fp128) arguments in Sparc64 ABI. Also, pass fp128 arguments to varargs through integer registers if necessary.
036c045 Switch from EVT to MVT in more of the x86 instruction lowering code.
3b6e25e Another windows build fix attempt after r198136.
6f93d65 Enable deleted functions and explicit conversions in MSVC 2013
ee44e95 Define LLVM_MSC_PREREQ() macro to simplify _MSC_VER checks
a2ecd26 Try to fix windows build more after r198136.
6d731f0 Use `${CMAKE_COMMAND}` instead of `cmake`.
3ab1aa8 Try to fix windows build after r198136.
7f5deb1 Try to fix linux build after r198136.
b6fe25c EXPORTED_SYMBOL_FILE support for cmake
621bd8d Remove windows newlines.
69c6fc4 CodeGen: silence a C++11 feature warning
b7d621a ARM IAS: handle errors more appropriately
7d1a69d Uninitialized variable (in never taken path) after factoring.
6c9712f New machine model for cortex-a9. Schedule for resources and latency.
d3f8d6e Added debugging options: -misched-only-func/block
9eac3a7 The Cortex-A9 machine model is incomplete. Mark it as such.
9e76e1d Add a PostMachineScheduler pass with generic implementation.
8e62b29 Move the PostRA scheduler's fixupKills function for reuse.
c5443a9 Stub out a PostMachineScheduler pass.
a38b0de Factor MI-Sched in preparation for post-ra scheduling support.
4fb3d63 Revert part of r198115 to see if it fixes a buildbot failure.
63c4368 Use getSimpleValueType in a few spots where the type should be simple.
93bc4bb Minor indentation fix to match other switch statements. Change llvm_unreachable text to match similar places.
89aeb02 Mark some Type and EVT methods as LLVM_READONLY.
d8e67fe llvm/test/CodeGen/X86/vselect.ll: Unbreak Windows x64 targets to add -mtriple=x86_64-unknown-unknown.
6ec3395 [X86] Teach the backend how to fold target specific dag node for packed vector shift by immedate count (VSHLI/VSRLI/VSRAI) into a build_vector when the vector in input to the shift is a build_vector of all constants or UNDEFs.
14b42a1 AsmParser: cleanup diagnostics for .rep/.rept
b5191e9 IAS: support .rep as an alias for .rept
b28743f ARMAsmParser: fix typo in comment
92ffb67 Disable transforms that introduce calls to exp10*() on Linux due to widespread glibc bugs.
3955d28 Remove AsmPrinter::needsRelocationsForDwarfStringPool() since it's just calling into MAI and is only abstracting for a single interface that we actually need to check in multiple places.
ba6102b Attempt to fix JIT unit tests after r198087.
5e7c782 Strip dead code when linking by default with BFD ld (linux, ...) and ld64 (os x).
b2f47c6 Teach DAGCombiner how to fold a SIGN_EXTEND_INREG of a BUILD_VECTOR of ConstantSDNodes (or UNDEFs) into a simple BUILD_VECTOR.
bd75475 DebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D)
1739b6c Use two variables here rather than reusing (and abusing) one. This is much more clear to me. I meant to make this change before committing the original patch, but forgot to merge it in. Sorry.
5ff21b4 Introduce a simple line-by-line iterator type into the Support library.
52b1623 TLI: Make exp10* avaiable on Linux/Mac/iOS and unavailable elsewhere
4a5c4e1 Fix a typo.
c01b596 Recognize armv7a and friends as aliases for armv7-a etc. for the purpose of architecture naming.
6841860 ARM IAS: support .even directive
76a1dca [Sparc] Lower and MachineInstr to MC and print assembly using MCInstPrinter.
f3aeebf [Sparc] Add target specific MCExpr class to handle sparc specific modifiers like %hi, %lo, etc.,
dec96ea [Sparc] Add MCInstPrinter implementation for SPARC.
ca523f4 [ASan] Fix the tests broken by r198018 to check for private linkage of ASan-generated globals.
f84792a [Mips] Does not take in account 'use-soft-float' attribute's value when consider to generate stubs for mips16 hard-float mode.
b09f505 [ASan] Fix the test for __asan_gen_ globals and actually fix http://llvm.org/bugs/show_bug.cgi?id=17976 by setting the correct linkage (as stated in the bug).
c58d987 [ASan] Make sure none of the __asan_gen_ global strings end up in the symbol table, add a test.
09a6371 AVX-512: decoder for AVX-512, made by Alexey Bader.
97d9733 unittests/Support/ProcessTest.cpp: Don't use "windows.h". Use <windows.h> instead.
7dc1936 Support for microMIPS load effective address.
ae3597c Support for microMIPS FPU instructions 2.
fab5704 AVX-512: Result type of scalar SETCC is MVT::i1 for AVX-512.
0f6ebf1 [AArch64]Fix a problem that the register order of fmls/fmla by element is incorrect. E.g. the codegen result is      fmls v1.2s, v0.2s, v2.s[3] which is expected to be      fmls v0.2s, v1.2s, v2.s[3]
64cd49e gold-plugin.cpp: Use form of <plugin-api.h>, since it is external header.
77a3598 llvm-config: Fix typo in help message introduced with r197664.
eeabc57 Add missing pattern matches to support ACLE intrinsics of AArch64 NEON.
76b80d1 Fix the MSVC 2010 build
8d54670 Remove link to unexisting llvm-prof docs
42c9ecb llvm-symbolizer: add --obj flag to specify a single object file that should be symbolized.
7f7c068 Fix typo.
4c925c6 [SystemZ] Use interlocked-access 1 instructions for CodeGen
f7e2432 [SystemZ] Add MC support for interlocked-access 1 instructions
097935c AVX-512: fixed some patterns for MVT::i1
dfe4fd9 [AArch64]Add patterns to match normal shift nodes: shl, sra and srl.
4905226 [AArch64 NEON] Fix a bug when lowering BUILD_VECTOR.
0e8c1f5 [AArch64 NEON] Fix a pattern match failure with NEON_VDUP.
e97b132 LangRef documentation for the stackmap and patchpoint intrinsics.
25f4d51 [AArch64] Check fmul node single use in fused multiply patterns
f5bfe97 [AArch64 NEON] Fixed fused multiply negate add/sub patterns
b8a316b Debug info: Add enumerators to the __apple_names accelerator table. rdar://problem/11516681.
c7b0b7d Add support to indvars for optimizing sadd.with.overflow.
7ed2b70 Debug info: On ARM ensure that the data sections come before the (optional) DWARF sections, so compiling with -g does not result in different code being generated.
8f57233 ARM: bkpt has an implicit immediate constant 0
166acc9 Fix Scalarizer insertion point when replacing PHIs with insertelements
b09beed Fix Scalarizer handling of vector GEPs with multiple index operands
26f1d1c [asan] don't unpoison redzones on function exit in use-after-return mode.
1fe014e [asan] produce fewer stores when poisoning stack shadow
0fe0405 [AArch64]The compare to zero intrinsics should be implemented by 'icmp/fcmp' and 'sext' not 'zext'. Modify the test cases.
7c29d748 Define LLVM_HAS_STRONG_ENUMS
4ef09de The count() function for STL datatypes returns unsigned, even where it's only bool-like 1/0 result like std::set.count().
1a7ebaa Use r2 when encoding tls on ppc32. Fixes PR18305.
d1469e0 Dwarf: Fix a copy-paste bug.
cd70023 AVX512: SETCC returns i1 for AVX-512 and i8 for all others
e6a866c Add some comments.
61a8a35 Ensure bitcode encoding of calling conventions stays stable. Patch by Boaz Ouriel.
4b5724b FileCheckize r197869
6854589 Relax tab check into a whitespace check to fix the test in r197869
cee93e9 TableGen: Generate valid identifiers for anonymous records
efe6aa1 Fix typo in assert message: s/load/store
5f2ddd6 BlockFrequencyInfo: Readded getEntryFreq.
559e456 ARM AnalyzeBranch should ignore DEBUG_VALUES while analyzing terminators.
93c53f4 clang-format a couple of mis-formatted functions
55b1086 Add the .secidx test I've forgotten to svn add in 197826
8aa3ff0 [COFF] Add support for the .secidx directive
fc90ff9 Resinstate the command line taking priority over CMakeLists in setting CMAKE_INSTALL_RPATH
ed46788 Implement initial-exec TLS for PPC32.
9413345 Fix yet another typo
7c0eb96 llvm-config: Show OBJROOT rather than OBJROOT/BUILD_MODE in MakefileStyle.
247ea10 llvm-config: Use build_mode instead of LLVM_BUILDMODE. It should be equivalent in MakefileStyle.
1ef2ca6 Support for microMIPS FPU instructions 1.
2c6e51f Make this array const.
23c9710 [SystemZ] Optimize comparisons with truncated extended loads
1fd4e55 [SystemZ] Extend RISBG optimization
78a6137 Fix a typo in the docs
66732ae Add support for krait cpu in llvm::sys::getHostCPUName()
bcb726d Transforms: Don't create bad weights when eliminating dead cases
35c913b test: Make a branchweight test more specific
a232382 test: Prefer CHECK-LABEL to CHECK in branchweight tests
6692ce1 ARM IAS: add support for the .pool directive
69475dd Install three utils, "FileCheck", "count", and "not", for now to appease llvmlab dragonegg builder.
37ee312 R600: Allow ftrunc
658537c Remove extra check line that's failing on windows and not necessary at the moment.
c86696a This test requires object emission.
d1946f7 Ranges in the .debug_range section need to have begin and end labels, assert that this is so.
e9e7e2c Makefile.unittest: cleanup may fail. Add '-' in the action.
ff37ddf Add support for a CU to output a set of ranges for the CU. This is useful when you want to have the full list of addresses for a particular CU or when you have multiple modules linked together and can't depend upon the ordering of a single CU for begin/end ranges.
e899f25 Remove the AnyPointerSize and AnyEndianness enumerators, which were left from LLVM's early days.  Today LLVM IR is always target-specific.
8d6a09d When parsing data layout string looking for endianness, use the correct default
ea5893e Correctly apply the default pointer size
75a8b23 [x86] Rename In32BitMode predicate to Not64BitMode
40bcde8 move test back into the parent directory and add a REQUIRES: obj emission.
da031f7 Makefile.ocaml: Tweak to use --system-libs.
baf8c08 Fix documentation typos
54317ec Update the ML test to expect the new string format of getStringRepresentation.
3121da3 Un-revert: the buildbot failure in LLVM on lld-x86_64-win7 had me with this commit as the only one on the Blamelist so I quickly reverted this. However it was actually Nick's change who has since fixed that issue.
b4fcab4 Use $ORIGIN when setting rpath.
b9df9e6 Change getStringRepresentation to skip defaults.
a25701b Ensure deterministic when printing ARM assembler constant pools
ddc2347 Revert my change to the X86 assembler for intel syntax to work with directional labels.  Because it doesn't work for windows :)
86f49d5 Changed the X86 assembler for intel syntax to work with directional labels.
1191926 Update the links to the SPARC information.
837d6ed Make sys::ThreadLocal<> zero-initialized on non-thread builds (PR18205)
75c8413 Stay classy (and legal) LLVM. Remove links to 3rd party SMT solver whose links may not be permanent.
f847657 [X86][fast-isel] Fix select lowering. The condition in selects is supposed to be i1. Make sure we are just reading the less significant bit of the 8 bits width value to match this constraint.
3793977 Implement the .ltorg directive for ARM assembly
927ad4a Unbreak ARM buildbots after r197653 by forcing the target triple on this test.
0fa193b Implement the ldr-pseudo opcode for ARM assembly
6075fa1 Add a finishParse() callback to the targer asm parser
79b3783 Improved fix for PR17827 (instcombine of shift/and/compare).
23b7879 Revert r197682, "[CMake] Introduce LIT in add_lit_target."
36db80c Move testcase to the appropriate X86 subdirectory.
b6601f1 Small simplification, p0 is the same as p.
bd2926b Support for microMIPS control instructions.
f779a6c Long doubles are required to be aligned to 128 bits and svr4 32 bits.
1427abb Add a disassembler to the PowerPC backend
4267b16 Support for microMIPS LL and SC instructions.
d715c3e Add support for positionally-encoded operands to FixedLenDecoderEmitter
afe1c6b Add a triple so that this passes on OS X.
44dc232 Support for microMIPS TLS relocations.
d4cf97b llvm-config: Don't show build tree with --obj-root for installed llvm-config. Show $(prefix) instead.
af224d7 llvm-config: Show build root instead of parent path in build tree with --obj-root for CMake multiconfig.
974dbe1 [CMake] Introduce LIT in add_lit_target.
e14ad85 Add support for PointerLikeRegClass to FixedLenDecoderEmitter
de011a5 [dfsan] Simplify code after r197677.
a7eb2b8 Add an explicit insert point argument to SplitBlockAndInsertIfThen.
e493a99 Teach the llvm-readobj COFF dumper to dump debug line tables from object files
7ec73b1 Remove the COFF files with Z7 debug info from the repo
a2e3b51 Add REQUIRES:asserts to 3 tests in llvm/test/CodeGen/R600 added in r192212.
cbce286 llvm-config: Introduce --system-libs to print SYSTEM_LIBS, and deprecate SYSTEM_LIBS in --ldflags.
722f58c GCOV.cpp: Fix format strings, %lf. Don't use %lf to double.
115654f Introduce clean-ups in llvm/unittests/Makefile.unittest, to sweep stray *Tests.
e2c28ad R600/SI: Make private pointers be 32-bit.
251b921 Fix missing C++ mode comment
304512c ARM IAS: support .inst directive
2ad4cf5 No point in having a "#if 0"ed unittest.
5b6af71 [stackprotector] Use analysis from the StackProtector pass for stack layout in PEI a nd LocalStackSlot passes.
629f3b2 Fix a buffer overrun detected by AddressSanitizer.
33f01f9 Add stack alignment information for Sparc.
4b70bfc Begin adding docs and IR-level support for the inalloca attribute
1d4866c add source in comment
960ede2 Synchronize the NaCl DataLayout strings with the ones in clang.
d18d97a Make cosmetic changes as part of Mips internal post commit review of patch r196331.
90a24a5 ArchiveFileDescriptorTests: Fix CMake build. Each unit test is expected to have suffix "*Tests" for lit gtest runner to seek one.
2fcb0c3 ArchiveFileDescriptorTests: Resurrect part of r197600, but make it invalidated, to appease buildbots.
d218959 llvm-cov: Added -f option for function summaries.
deb8e33 Fix a problem with mips16 stubs when calls are transformed during tail call optimization. Some more work may be needed for indirect calls but this patch fixes the current regression in Prolangc++/trees. S2 optimization as part of the general cleanup and optimization of prolog and epilog was not saving S2 in this case and needed to.
9e0f77e Revert "Add -mcpu=z10 to SystemZ tests."
4fdb649 [aarch32] fix bug 18268:  Incorrect condition of vsel
5112542 Debug info: Implement (rvalue) reference qualifiers for C++11 non-static member functions. Paired commit with CFE.
f5d3392 Pull in a couple of new constants from the upcoming DWARF 5 standard.
3fbf1a6 formatting
17ab16a Correctly handle the degenerated triple "thumb".
8cb0f6e llvm-cov: Print coverage summary to STDOUT.
4fc1845 Revert r197600 while I sort out why it's failing on Windows.
04946d5 Add a unit test for loading an object file via a file descriptor.  Patch by Pete Cooper.
2ceb6ae llvm-cov: s/(.*)Executed/\1Exec/
f6358f3 llvm-cov: Added -c option for branch counts.
25acded [CMake] Don't put every project's tblgen executable in the LLVM bin directory.
0f040da [mips][msa] Update format of RUN lines for every MSA MC test.
462da4a [arm] Rename Tag_VFP_arch to Tag_FP_arch.
010a40c Revert r197380, "llvm-config: Print SYSTEM_LIBS with --libs, instead of --ldflags."
b7967ba [CMake] Prune LLVM_TOOLS_BINARY_DIR in LLVMConfig.cmake, since it always points build directory.
ebd63ff Fix f64 and f128 for ppc-darwin.
fc9b0e6 One ppc32-darwin, a i64 inside a structure can have 32 bit alignment.
c95108f ARM: update comment to match reality
d0ee4c5 [mips][msa] Remove unneeded triple directive in MSA MC tests.
c4fc004 DiagnosticInfo: Add missing namespace
645efd7 ARM: force soft-float ABI for tests depending on it.
e66345a ARM: set default float ABI based on triple.
0a9ff87 [AArch64 NEON]Implment loading vector constant form constant pool.
5a44539 AsmParser: add support for .end directive
2cb3295 DebugInfo: Introduce new DIValue, DIETypeSignature to encode references to type units via their signatures
f07d462 Fix N32 registers and stack alignment.
18b3d13 Eliminate PPC instruction decoding ambiguities
af73dfe Support little-endian encodings in the FixedLenDecoderEmitter
5103745 [DiagnosticPrinter] Use the appropriate method to print a Twine object in a raw_ostream.
65c4329 MC COFF: Emit the 'b' section flag for .bss sections in GNU assembly
a5dd89e On APCS, only try to align aggregates to 32 bits instead of 64.
3179bf2 Handle i64 first for clarity. No functionality change.
1655b73 Assert that the last operand is actually EFLAGS
ff7e4b1 Disabled subregister copy coalescing during MachineCSE.
de262fe Add warning capabilities in LLVM. This reapplies r197438 and fixes the link-time circular dependency between IR and Support. The fix consists in moving the diagnostic support into IR.
24c6367 [mips] Fix off by one issue when applying a fixup.
7c29644 Setting the CPU in the new vaargs test
c69e392 Revert "Revert "Mark vastart_save_xmm_regs as changing EFLAGS""
ce6d314 Fix the pointer size for the PS3 datalayout.
fcd2633 Add some simple COFF files with Z7 debug info
352168c Fix code sample in NVPTX examples: now it compiles to PTX and runs as expected.
5842a03 Fix for PR18045: http://llvm.org/bugs/show_bug.cgi?id=18045
efa95f8 There are no __register_frame and __deregister_frame functions when using structured exception handling (SEH) on Windows 64.
1f0a0e3 AVX-512: Added implementation of CONCAT_VECTORS for v8i1 vectors (by Alexey Bader). Added implementation of "truncate" from integer type (i64/i32/i16/i8) to i1.
3e8bc5b Revert "Mark vastart_save_xmm_regs as changing EFLAGS"
608e4a39 Mark vastart_save_xmm_regs as changing EFLAGS
16d0e12 llvm-config: Let directories aware of CMAKE_CFG_INTDIR.
5a1c0d6 Add -mcpu=z10 to SystemZ tests.
c4c5a1d Allow MachineCSE to coalesce trivial subregister copies the same way that it coalesces normal copies.
8b81765 whitespace
04ca269 Tweak lit/TestingConfig.py Py3-compatible. has_key is dead.
0f7c8fd Make comment more explicit.
14c3c52 Typo. s/reserved/preserved/
26b52a7 Add a machine code print in DEBUG() following instruction selection.
e0c25bd Revert r197438 and r197447 until we figure out how to avoid circular dependency at link time
83196a9 LoopVectorizer: Don't if-convert constant expressions that can trap
a6380c2 [LLVM Diagnostic Capabilities] Remove useless includes from DiagnosticPrinter.cpp. These was creating a link time dependencies of IR on CodeGen and Analysis.
83fdac1 Add missing trailing comma in llvm-lit.in
b20feb9 Add the lit site config for unittests to bin/llvm-lit
da84349 llvm-cov: Marked secondary print functions private.
b6c4a84 Add warning capabilities in LLVM.
4faf2ba Enable double to float shrinking optimizations for binary functions like 'fmin/fmax'. Fix radar:15283121
89452cf llvm-cov: Added -u option for unconditional branch info.
e774912 [Stackmap] Allow WebKit_JS calling convention to store 4 byte sized and aligned arguments.
62fd16a Add a reduced testcase from the recent bootstrap crash.
9bf2e09 Fix typo in instruction name.
2eead99 Revert "Allow MachineCSE to coalesce trivial subregister copies the same way that it coalesces normal copies."
028208d llvm-cov: Removed extra semicolon from ;;.
1d86f67 [Stackmap] The first integer argument is passed in register for the WebKit_JS calling convention.
b961a26 Allow MachineCSE to coalesce trivial subregister copies the same way that it coalesces normal copies.
86d2896 whitespace
c4bc055 One last cleanup of LLVM's DataLayout strings.
068fa85 Structure R600's computeDataLayout more like every other target.
7113922 Recognize EABIHF as environment and use it for RTAPI + VFP.
0762d6c [AArch64] Fix v1fx patterns for Floating-point Multiply Extend and Floating-point Compare to Zero.
9291a78 MemoryBuffer: Increase the alignment of small file buffers to 16
ea53c6a The preferred alignment defaults to the abi alignment. Omit if it is the same.
63da3bb Don't duplicate the DataLayout defaults for integer, floats and vectors.
7ef5520 On DataLayout, omit the default of p:64:64:64.
fe8eb63 [CMake] ${LLVM_MAIN_SRC_DIR}/include can be represented as ${LLVM_MAIN_INCLUDE_DIR}.
742c278 [CMake] Introduce LLVM_RUNTIME_OUTPUT_INTDIR and LLVM_LIBRARY_OUTPUT_INTDIR to reduce references to CMAKE_CFG_INTDIR.
49fe9da Set has_asmparser in PowerPC/LLVMBuild.txt
3e33675 [CMake] Introduce LLVM_INCLUDE_DIR.
e4b2195 fixed one more line
087499d Fixed the test - added -mcpu=penryn flag to avoid ambiguity in code generation.
376a81d AVX-512: Added legal type MVT::i1 and VK1 register for it. Added scalar compare VCMPSS, VCMPSD. Implemented LowerSELECT for scalar FP operations. I replaced FSETCCss, FSETCCsd with one node type FSETCCs. Node extract_vector_elt(v16i1/v8i1, idx) returns an element of type i1.
64f5838 llvm-config: Fixup r197380, tweak for cross compilation. SYSTEM_LIBS should be --host's in BuildTools/llvm-config.
56c390e llvm-config: Print SYSTEM_LIBS with --libs, instead of --ldflags.
6941863 Fix Android regression in r197332.
00a5490 [AArch64]Fix the pattern match failure for v1i8/v1i16/v1i32 types. Currently we have such types as legal vector types. The DAG combiner may generate some DAG nodes having such types but we don't have patterns to match them. E.g. a load i32 and a bitcast i32 to v1i32 will be combined into a load v1i32:      bitcast (load i32) to v1i32 -> load v1i32. So this patch fixes such problems for load/dup instructions. If v1i8/v1i16/v1i32 are not legal any more, the code in this patch can be deleted. So I also add some FIXME.
10f818b remove an uneeded statement (condition is covered by the statement that follows).
9969630 Fix some indentation.
f2f74bd Get rid of an superfluous tab in the .s file. This was originally part of a multi-line pseudo which worked around a linker bug for mips16.
3589b7b Last change for mips16 prolog/epilog cleanup and optimization. Some tiny cosmetic code changes to follow. Because of the wide ranging nature of the patch a full 24 test cycle was needed to check against regression. This was the smallest patch I could make to progress from the earlier ones in the series.
08e647a There is no exp10 on NetBSD.
3b47b24 Ensure bitcode encoding of global variable attributes stays stable. Patch by Boaz Ouriel.
ef94f7e Fix AsmWriter's handling of SPIR calling conventions. Patch by Boaz Ouriel.
7ad409a Replace string matching with a switch on Triple::getEnvironment.
bfee019 [Stackmap] Refactor operand parsing.
729e476 Don't manually calculate size in bytes
771005c [Powerpc darwin] AsmParser Base implementation.
da48260 Remove weak vtables. No functional change.
aaecc0f [Stackmap] Liveness Analysis Pass
cdeccb0 [Stackmap] Only the AnyReg calling convention should preserve all registers.
57c38e3 Convert register liveness tracking to work on a sub-register level instead of just register units.
f562e09 Refactor NVPTX's computeDataLayout.
1d9c819 Turn NVPTXSubtarget::getDataLayout into a static function.
ff0b475 Turn AMDGPUSubtarget::getDataLayout into a static function.
523823b [block-freq] Rename getEntryFrequency() -> getEntryFreq() to match getBlockFreq() in all *BlockFrequencyInfo*.
b68ca3e [block-freq] Teach branch probability how to return the edge weight in between a BasicBlock and one of its successors.
1b98ef1 [block-freq] Add a right shift to BlockFrequency that saturates at 1.
7cc5f79 [block-freq] Remove old BlockFrequency entry frequency and printing code.
f392e88 [block-freq] Refactor LiveInterals::getSpillWeight to use the new MachineBlockFrequencyInfo methods.
530c0b8 R600/SI: Minor improvements to test.
1e80bef Teach MemoryBuiltins about address spaces
1a938c2 [block-freq] Store MBFI as a field on SpillPlacement so we can access it to get the entry frequency while processing data.
c1b4dfd [block-freq] Update MachineBlockPlacement and RegAllocGreedy to use the new MachineBlockFrequencyInfo methods.
b8c5cfb [block-freq] Update BlockFrequencyInfo/MachineBlockFrequencyInfo to use the new print methods.
9bd42e3 Print the address space of a MachineMemOperand
a73959a [block-freq] Add the equivalent methods to MachineBlockFrequencyInfo and BlockFrequencyInfo that were added to BlockFrequencyImpl in r197285 and r197284.
d443867 [block-freq] Convert BlockFrequencyImpl to use the new printing functionality from r197285.
5efbda1 [block-freq] Add a print method on BlockFrequencyImpl for printing block frequencies and a convenience method for the common case of getting/printing a basic block.
ccf34d2 [block-freq] Begin move of BlockFrequency::EntryFreq -> BlockFrequencyImpl::EntryFreq.
5e7d241 Pointer sizes are stored in Bytes. Fix variables names to say so.
303a00e Fixed a bug in getARMFixupKindMachOInfo() where three ARM fixup kinds were falling into the cases for 24-bit branch kinds which are not 24-bit branches.  The routine is to return false for fixups are expected to always be resolvable at assembly time. Which these three fixups are as they have limited displacement and are for local references within a function.
e670304 comment typo.
cadf450 Remove APInt::extractBit since it is already implemented via operator[]. Change tests for extractBit to test operator[].
5c9e0e5 DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers
46f829e [block-freq] Add the method APInt::nearestLogBase2().
5bb504f [block-freq] Add the APInt method extractBit.
a23bd2e Revert "Convert liveness tracking to work on a sub-register level instead of just register units."
38c9ecd Revert "Liveness Analysis Pass"
f343bc9 Use a: and s: instead of a0: and s0: in the DataLayout strings.
cd8314d Grow the stackmap/patchpoint format to hold 64-bit IDs.
539e931 Liveness Analysis Pass
edf1070 Convert liveness tracking to work on a sub-register level instead of just register units.
513a00d [AArch64] Simplify the Neon Scalar3Same patterns for floating-point reciprocal step, floating-point reciprocal square root step, floating-point absolute difference, and integer/floating-point compare instructions.  Also, move the scalar general arithmetic operation patterns closer to similar code.  No functional change intended.
48c2927 Assume defaults to produce smaller datalayout strings.
7b3aa03 Fix pr18235.
584940e [SystemZ] Optimize X [!=]= Y in cases where X - Y or Y - X is also computed
5f65b24 [SystemZ] Make more use of TMHH
8adb31e test commit. Amend a comment.
193bf31 [SystemZ] Extend integer absolute selection
467a3f9 [SystemZ] Add a structure to represent a selected comparison
204537e [SystemZ] Make more use of LTGFR
fd2b2bd X86: When lowering shl_parts, don't emit shift amounts larger than the bit width.
aca2998 Enabling thumb2 mode used to force support for armv6t2. Replace this with a temporary assertion and adjust the various test cases.
b90ed64 [mips] Add checks for alignment and maximum displacements for most of the branch instructions for mips and micromips instruction sets thus avoiding the situation of generating branches to undesired locations if offsets cannot be encoded.
09b3900 Add ARM to release instructions
a7e2ef7 [inliner] Fix PR18206 by preventing inlining functions that call setjmp through an invoke instruction.
0bdc7cd [inliner] Completely change (and fix) how the inline cost analysis handles terminator instructions.
2d39ad8 Revert "DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers"
bc6b250 DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers
da44c36 Change stack probing code for MingW.
e93ec87 Object/COFF: ExportAddressTableEntry is a union of two RVAs.
8290d17 Revert "DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers"
a263979 llvm-cov: Added -b option for branch probabilities.
f4597a0 DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers
363c1ec Fix spelling in comment in test: "themselve" -> "themselves"
1e3d966 Fix a use-after-free error in GlobalOpt CleanupConstantGlobalUsers
8cd46c0 Initialize the barrier pass llvm::initializeIPO
0dbb28f Removed llvm-cov.test from Other folder.
1cf81e6 Simplify the datalayout string of ARM and AArch64.
d870fe2 Simplify the SystemZ datalayout string.
2053a06 Use "a" instead of "a0" in DataLayout.
35e1934 Fix Typo.
e60ffe3 Convert the other getHostByName implementations to StringRef.
11b11d7 Switch to the new MingW ABI.
410ca67 [AArch64] Removed unnecessary copy patterns with v1fx types.
9191be9 Return a StringRef from getHostCPUName.
8a513ab [cleanup] Remove trailing whitespace before I start changing this file.
8b28f53 PowerPC: add Linux triple to TLS tests
a29b054 Added new X86 patterns to select SSE scalar fp arithmetic instructions from a vector packed single/double fp operation followed by a vector insert.
b4605d4 Remove some dead code
e5f6931 typo in comment
60a21f2 [AArch64]Fix the problem that AArch64 backend fails to select scalar_to_vector of vector types having more than one element.
7f8ef1e Swap around EXPECT_EQ() arguments orders for more natural gtest Failure messages
22e0e0c Add missing escape characters to the new Regex::escape() function
dcdc573 Check for null pointer before dereferencing. A careless typo on my part. I don't know why this did not show up earlier. This code has been around for ages.
24802f3 Fix Incorrect CHECK message [0-31]+ in test case. In regular expression, [0-31]+ equals to [0-3]+, not the number from 0 to 31. So change it to [0-9]+.
41a3007 Resubmit r196544: Apply transformation on OS X 10.9+ and iOS 7.0+: pow(10, x) ―> __exp10(x)
7c2b072 Add TargetLibraryInfo in LTO passes builder
31d3e9f Remove unused multiclass from PPCInstrInfo.td
f0c1388 Improve instruction scheduling for the PPC POWER7
f15758b Add isBarrier to SDep
b0f8afd Fix an over-constrained assertion in MachineFunction::addLiveIn. The assertion was checking that the virtual register VReg used to represent the physical register PReg uses the same register class as the one passed to MachineFunction::addLiveIn. This is over-constraining because it is sufficient to check that the register class of VReg (VRegRC) is a subclass of the register class of PReg (PRegRC) and that VRegRC contains PReg. Indeed, if VReg gets constrained because of some operation constraints between two calls of MachineFunction::addLiveIn, the original assertion cannot match.
76eb77d Expose FileCheck's AddFixedStringToRegEx as Regex::escape
eb1bac0 [AArch64] Refactor NEON floating-point Max/Min/Maxnm/Minnm across vector AArch64 intrinsics to use f32 types, rather than their vector equivalents.
598ee5a Fix the PPC subsumes-predicate check
8bacb53 Add two additional hazard recognizer functions
b7cb5ea Merge all tls tests to two files. One for normal codegen (initial and local exec) and one for PIC codegen (local and general dynamic).
343da2e On ELF and COFF treat linker_private like private.
118de30 Revert "DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers"
ddbee4e Remove test thats testing the same thing as tls.ll.
3d2670c DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers
bd71b0a DwarfUnit: LLVM_OVERRIDE and constify some functions
87b627d [AArch64] Add NEON scalar floating-point compare LLVM AArch64 intrinsics that use f32/f64 types, rather than their vector equivalents.
73f4682 [AArch64] Refactor the NEON scalar floating-point reciprocal step and floating-point reciprocal square root step LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents.
c3e5d72 [AArch64] Refactor the NEON scalar floating-point reciprocal estimate, floating- point reciprocal exponent, and floating-point reciprocal square root estimate LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents.
7dc7cc4 Don't set unused variable.
e18ad3d [arm] Pass -triple to llvm-mc for ARM ELF test cases.
aa8dde5 R600: Re-format Processors.td
f8029c7 R600: Register AMDGPUCFGStructurizer pass
23df2a7 R600: Register R600EmitClauseMarkers pass
61f8483 [arm] Implement ARM .arch directive.
7a4d29e SelectionDAG: Fix a typo.
ee06f15 ARM: constrain register-class in fast-isel
00a9489 Build fix for Android NDK which has neither futimes nor futimens
3bf51cf AVX-512: Removed "z" suffix from AVX-512 instructions, since it is incompatible with GCC. I moved a test from avx512-vbroadcast-crash.ll to avx512-vbroadcast.ll I defined HasAVX512 predicate as AssemblerPredicate. It means that you should invoke llvm-mc with "-mcpu=knl" to get encoding for AVX-512 instructions. I need this to let AsmMatcher to set different encoding for AVX and AVX-512 instructions that have the same mnemonic and operands (all scalar instructions).
e54c106 [SystemZ] Optimize fcmp X, 0 in cases where X is also negated
3c14ba5 Extend (truncate (load)) folding
255ee7d Fix XFAIL rules.
b8f6411 Make this test a bit stricter.
2e3f799 Add TargetRegisterInfo::reverseLocalAssignment hook.
d194a4a Distinguish and choose 16 or 32 bit forms of save/restore for Mips16.
ec5ebde [AArch64 NEON] Get instruction BSL matched to VSELECT.
8514590 Move mips' datalayout computation out of line and add comments.
a3b00b5 Move Sparc's getDataLayout out of line and add comments.
0d87d72 Prune redundant dependencies in LLVMBuild.txt.
23daba0 Move PPC's getDataLayoutString out of line and document it better.
4d5bee4 Revert the backend fatal error from r196939
9e9622d Refactor the computation of the x86 datalayout.
0e33b45 [asan] Fix the coverage.cc test broken by r196939
17427fa Use llvm_unreachable instead of assert(0)
b59d46e on darwin<10, fallback to .weak_definition (PPC,X86) .weak_def_can_be_hidden was not yet supported by the system assembler
b228250 [AArch64] Refactor the NEON floating-point absolute difference LLVM AArch64 intrinsic to use f32/f64 types, rather than their vector equivalents.
2456ea5 [AArch64] Refactor the NEON signed/unsigned floating-point convert to fixed-point LLVM AArch64 intrinsics to use f32/f64, rather than their vector equivalents.
c000d11 [AArch64] Overload NEON signed/unsigned floating-point convert to fixed-point and fixed-point convert to floating-point LLVM AArch64 intrinsics.
d096a5c [AArch64] Overload NEON signed/unsigned integer convert to floating-point LLVM AArch64 intrinsics.
bc54a09 R600/SI: Add i64 cmp tests
c5019a3 Fix gcc warnings.
7c30637 Reland "Fix miscompile of MS inline assembly with stack realignment"
7af55ad Make Triple's isOSBinFormatXXX functions partition triple-space.
8b71466 Support: Update documentation for Program functions
fafd264 [AArch64] Refactor the Neon vector/scalar floating-point convert intrinsics so that they use float/double rather than the vector equivalents when appropriate.
72800f3 [AArch64] Refactor the Neon vector/scalar floating-point convert implementation. Specifically, reuse the ARM intrinsics when possible.
4b3fcc2 Ensure that the backend no longer emits unnecessary vector insert instructions immediately after SSE scalar fp instructions like addss or mulss.
bb0e2be Use Field Lists for the types' "Overview", "Syntax" and "Examples".
a563c91 R600: Fix an infinite loop when trying to reorganize export/tex vector input
8ff689b R600: Fix input modifiers lost for Cayman
5265227 Next step in Mips16 prologue/epilogue cleanup. Save S2(reg 18) only when we are calling floating point stubs that have a return value of float or complex. Some more work to make this better but this is the first step.
8a8581c AVX-512: changed intrinsics for mask operations
89458ce AVX-512: Changed intrinsics of VPCONFLICT to match GCC builtin form
9f84f21 Darwin: update default iOS version to 5.0
b72dc0e [CMake] Add MCDisassembler to tools/lto. (has been removed since r196908)
dafdc80 [mips][msa] Correct sld and sldi builtins.
3aabdeb [CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt.
1f28688 Add JIT to LINK_COMPONENTS in MCJITTests/Makefile.
aedb288 Add TargetLowering::prepareVolatileOrAtomicLoad
086791e Add TargetLowering::prepareVolatileOrAtomicLoad
faeef98 [CMake] lli/CMakeLists.txt: Move add_subdirectory(ChildTarget) to the front. It depends on nothing described in LLVM_LINK_COMPONENTS.
cbb73d1 [AArch64 NEON] Replace fpimm with fpz32 for floating compare with zero.   This is a small change to be strict. Just want get pattern safer.
3171b8d [AArch64 NEON] Support poly128_t and implement relevant intrinsic.
2b14080 GCOV.cpp: Use PRIu64 instead of %lu.
e1d55bb Add proper dependencies to LLVMBuild.txt in llvm/lib.
e0c0c4b Whitespaces.
cc8d39a Revert "Fix miscompile of MS inline assembly with stack realignment"
ec4d326 Fix miscompile of MS inline assembly with stack realignment
e15c107 Fix a crash that occurs when PWD is invalid.
7a70a1b whitespace
6806e11 Fix PR18162 - Incorrect assertion assumed that the SDValue resno is zero.
d5cf7ab Update testcase for previous commit.
30d5ef5 llvm-cov: Added -a option for block data.
06e6843 Disable emitting DW_AT_GNU_ranges_base until we actually use it.
b6c1f7e Add comments documenting the ARM datalayout string.
8c087da We never emit info into the macro info section, stop emitting an empty one.
3dd4e46 80-col.
eaa38c1 Simplify further.
31eaed9 Transforms: Don't create bad branch weights when folding a switch
4a644cc Rename CompileUnit->DwarfCompileUnit and TypeUnit->DwarfTypeUnit for clarity. No functional change.
757fb90 Refactor the construction of the DataLayout string on ARM.
59e818d Rename Unit->DwarfUnit to match the file name and make it a bit less ambiguous. Reformat to match.
e02fa05 [AArch64] Refactor the NEON scalar reduce pairwise intrinsics, so that they use float/double rather than the vector equivalents when appropriate.
97eda18 [AArch64] Refactor NEON scalar reduce pairwise front-end codegen to remove unnecessary patterns in tablegen.
6c6344e [AArch64] Remove q and non-q intrinsic definitions in the NEON scalar reduce pairwise implementation, using an overloaded definition instead.
89d8470 get rid of superfluous comment
9670b33 Delete some old code used for testing that is not needed anymore. This is part of the mips16 epilogue/prologue cleanup.
5201d61 Don't add suffixes for stdcall/fastcall on 64 coff.
470041b Use a more direct check for finding out the file type.
6bd88a5 Don't set a variable to its default value.
ddf4eb3 Fix pattern match for movi with 0D result
c3b96ba DwarfDebug/Unit: Remove another case of label recreation by storing the gnu_ranges label in the unit.
1a80329 Improve the detection of the path
68138dc [mips][msa] Fix invalid generated code when lowering FrameIndex involving unaligned offsets.
897268d [mips][msa] Fix suboptimal FrameIndex lowering for ld.[hwd] and st.[hwd]
84744f6 Method parseSetAssignment treats every operand with '$' sign as register and the parsing is directed to set alias for register. This will result in errors reported when expressions containing label references are parsed(for example long jumps) As we can't make a complete solution now it has been decided to enable .set directive to handle long jump expressions. This will cause parser to report errors when parsing integer based register assignments, for example:    .set r3, will be reported as error. Still, the need for expressions is higher priority as the integer based register assignments are Mips specific and can be avoided using register names.
4062ed8 ADT: Implement MutableArrayRef::reverse_iterator
847b5d9 [SPARCV9]: Adjust the resultant pointer of DYNAMIC_STACKALLOC with the stack BIAS on sparcV9.
dc50e9a [Sparc]: Implement getSetCCResultType() in SparcTargetLowering so that umulo/smulo can be lowered on sparcv9 without an assertion error.
a339740 [AArch64]Add missing pair intrinsics such as:     int32_t vminv_s32(int32x2_t a) which should be compiled into SMINP Vd.2S,Vn.2S,Vm.2S
2f3f02f [AArch64]Pattern match failures for truncate store and extend load
e0dc442 [SparcV9]: Expand MULHU/MULHS:i64 and UMUL_LOHI/SMUL_LOHI:i64 on sparcv9.   This fixes PR18150.
8186046 Revert 196544 due to internal bot failures.
9bdfe36 Make sure we mark these registers as defined. Previously was done in the td file.
c9ea75e Cleaning up of prologue/epilogue code for Mips16. First step here is to make save/restore into variable number of argument instructions.
7c4342e ARM: fix folding of stack-adjustment (yet again).
d34102e Fixed CRLF
7dba126 Ensure bitcode encoding of visibility styles stays stable. Patch by Boaz Ouriel.
3f8ce09 Fix comments for PassDebuggingString
34005c9 Fix inlining to not lose the "cleanup" clause from landingpads
615f9b7 Fix inlining to not produce duplicate landingpad clauses
1de8133 force vector width via cpu on vectorizer metadata enable
7ae72bf Don't #include heavy Dominators.h file in LoopInfo.h. This change reduces overall time of LLVM compilation by ~1%.
f7f74c2 Remove the notion of primitive types.
dfe327f Whitespace cleanups.
2665f32 Remove empty MCJIT/load-object-a.ll since r196641.
dcddd71 Factor out the SchedRemainder/SchedBoundary from GenericScheduler strategy.
a49701d Revert r196639 while I investigate a bot failure.
d4ef813 Correct think-o in foldPatchpoint. Thanks to Andy Trick for pointing it out.
e7777cd Add support for archives and object file caching under MCJIT.
eb2934e Fix assert with copy from global through addrspacecast
47172e8 Add getBitCastOrAddrSpaceCast
ca37060 [mips] Fix test case.
954b6b8 Remove unused value.
d254d31 Add a RequireStructuredCFG Field to TargetMachine.
7c8fbda R600: Remove orphaned declarations
1b871ba llvm-cov: Added test.h header to tests.
b95d090 Fix the segfault reported in PR 11990.
46af5e8 Fix a narrowing warning due to a type mismatch (size_t vs uint64).
7db4f8d Cache AllowAtInIdentifier as class variable in AsmLexer
74999cf Support: Fix handling of args that begin with @ but aren't files
a2bfea9 Added support for mcpu krait
b0ec1be DebugInfo: Move unit begin/end labels into the unit
b5a244b DebugInfo: Include the section and start-of-section label in the unit
42883d0 Don't use isNullValue to evaluate ConstantExpr
92b10e5 llvm-cov: Regenerated gcov files with r195513 changes.
d05b935 Integrated assembler incorrectly lexes ARM-style comments
3221b5b micro optimization: isSizedDerivedType is only called with arrays, vectors and structs.
08e03ce DwarfDebug: Walk skeletons during fission pubtypes/pubnames emission
5877a5b DebugInfo: Ensure unit IDs (for non-skeletal units) match thein index in the list
1c6611d Bug 18149: [AArch32] VSel instructions has no ARMCC field
c008152 comment grammar
febc28b Update AVX512 vector blend intrinsic names.
9f97589 [SystemZ] Use LOAD AND TEST for comparisons with -0
8bf51dc [SystemZ] Extend the use of C(L)GFR
e3a804b [SystemZ] Optimize selects between 0 and -1
5aafde2 [asan] fix ndebug build with strict warnings (-Wunused-variable)
daa1bf3 [asan] rewrite asan's stack frame layout
21c3493 Fix bug introduced in r196517.
23b7738 Fix an index array check.
a600064 Fix a pair of array index checks.
f8edf9f Object/COFF: Add export table entry structs.
fca7695 [Stackmap] Update stackmap unit test to use AnyRegCC.
dee63f4 Delete dead code.
ab906d0 Apply transformation on OS X 10.9+ and iOS 7.0+: pow(10, x) ―> __exp10(x)
7d3a11f llvm-cov: Further improved error messages.
298c765 llvm-cov: Conformed headers.
3a6ea48 Move test to X86 dir
07d9471 Add #pragma vectorize enable/disable to LLVM
226e3ea Check hint registers for interference only once before evictions
32cbcf2 Implemented vget/vset_lane_f16 intrinsics
54dfc2a llvm-cov: Changed extension from .llcov to .gcov.
d4deecd Revert part of GCC warning fix to fix debug build.
5024536 Fix minor GCC warnings.
f3f9cff Change std::deque => std::vector. No functionality change.
9477d57 Document that dllexported symbols are preserved by optimization passes.
3bb1184 Fix non-deterministic behavior.
60e5b16 Rename DwarfUnits to DwarfFile to help avoid some naming confusion.
6606ef0 MI-Sched: Model "reserved" processor resources.
5739313 MI-Sched: handle latency of in-order operations with the new machine model.
bdbcb4d Machine model comments. Explain a ProcessorUnit's BufferSize.
c9fc1e7 Fix the A9 machine model. VTRN writes two registers.
0591e2a comment typo and reformat
6b11950 Add a default constructor to get deterministic behavior.
9e0807c SLPVectorizer: An in-tree vectorized entry cannot also be a scalar external use
64abf5b [tsan] fix PR18146: sometimes a variable written into vptr could have an integer type (after other optimizations)
7add542 [NVPTX] Fix off-by-one error when creating the VT list for an SDNode
4012c30 Add forgotten header guards
bc7114f [mips] Small code generation improvement for conditional operator (select) in case the operands are constants and its difference is |1|. It should be possible in those cases to rematerialize the result using MIPS's slt and similar instructions.
00877e7 [mips] Add some comments related to the optimization performed in performSELECTCombine. The structure of the code was slightly modified so that the next patch is easier to read/review.
4faa2b3 [mips][msa] Fix issue with immediate fields of LD/ST instructions not being correctly encoded/decoded. In more detail, immediate fields of LD/ST instructions should be divided/multiplied by the size of the data format before encoding and after decoding, respectively.
52123d1 ARM: fix yet another stack-folding bug
0d66821 DwarfDebug/DwarfUnit: Push abbreviation structures down into DwarfUnits to reduce duplication
714ce8a Use isIntrinsic() instead of checking for "llvm."
fac7a9e Remove the isImplicitlyPrivate argument of getNameWithPrefix.
087ab61 Correct word hyphenations
9155b17 Hide the stub created for MO_ExternalSymbol too.
8723470 R600/SI: Add comments for number of used registers.
ba2a226 Try harder to get a consistent floating point results.
688aa71 Move llvm/test/MC/ELF/thumb-st_other.s to test/MC/ARM.
4fd5852 For AArch64, add missing register cost calculation for big value types like v4i64 and v8i64.
f6770bc Add FileCheck statements for r196435.
e521805 Compiler.h: Disable initializer list usage with clang-cl
7437fee Export symbols in tools that support loading plugins.
7afb463 DwarfDebug: Avoid unnecessary abbreviation lookup when emitting DIEs
acf6571 DwarfDebug: Remove trivial function wrapper
98f52fa Make these two tests resilient in the face of compile unit size changes.
9e56866 80-column.
7eca700 Remove special handling for DW_AT_ranges support by constructing the values with the correct behavior.
175fe68 [mc] Fix ELF st_other flag.
faf4d59 Use present fast-math flags when applicable in CreateBinOp
e4b236c Fix comment.
6c8fadd Add AVX512 patterns for v16i32 broadcast and v2i64 zero extend load.
1cf9e7f Fix typo.
81a14a8 DwarfUnit: Correct comment by generalizing over all units, not just compilation units.
f50f3a3 Fix a bug in darwin's 32-bit X86 handling of evaluating fixups.
3f8689f Update comment.
e28204e Update comment.
881c0bb Remove incorrect comment and pointless cast.
dda6f1f const on its own line is confusing.
0fc8c68 Add support for parsing ARM symbol variants on ELF targets
6b2011a Simplify check.
690a455 Reformat slightly.
856d2fc Make RangeSpanList take a symbol for the beginning of the range rather than magically making the names match.
c8c1893 Add a FIXME for making the symbol emission functions const.
ec112cf DwarfDebug: Unconditionalize trivial asm comments
a18dcd4 DwarfDebug: Reduce code duplication for sec offset emission
ae49c38 Couple of small logical cleanups to use !empty rather than other checks. No functional change.
6aff9d6 llvm-cov: Replace size() with empty() in bool check.
fb934a2 Use move and stack allocation for RangeSpanLists. As a result make a few things more const as well because we're now using const references to refer to iterators.
12b493a DebugInfo: Improve test to use llvm-dwarfdump
cc49bec Test fix for r196394
193140b DebugInfo: Remove unused start/end labels for the debug_abbrevs section
6d3d93c Fix assembly syntax for AVX512 vector blend instructions.
3ddd790 DebugInfo: Avoid recreating matching labels in disparate places.
a2f6f94 [X86] Check YMM31/ZMM31 as well
e834f41 Update the UseFusedMAC definition to directly specify its dependence on having VFP4. Patch by Daniel Stewart!
8095580 Suppress '(x < y) ? a : 0 -> (x < y) & a' transform on X86 architectures with dedicated mask registers.
8467740 [CMake] add_lit_target: Let lit.site.cfg free from "--param build_mode" on single configuration builds, like autoconf build.
af38f91 Update email address.
bfbf8d3 Un-revert r196358: "llvm-cov: Added support for function checksums."
b835a44 Revert r196358: "llvm-cov: Added support for function checksums."
dd30261 [AArch64 Neon] Add ACLE intrinsic vceqz_f64.
c7f14e3 [AArch64 NEON] Add missing compare intrinsics.
2ebea72 llvm-cov: Added support for function checksums.
45a5b27 llvm-cov: Added checks for ident, checksum, name.
9bd2991 llvm-cov: Capitalized GCNO and GCDA for consistency.
812ad83 llvm-cov: Split GCOVFile's read into GCNO and GCDA.
045d547 Fix a funny typo.
fe50a26 [LangRef] Remove (non-normative) paragraph that doesn't make sense.
d060bfc Produce deterministic coff files.
a61f945 Add -mcpu=core2 to all llc invocations in this test.
39be27f [Stackmap] Specify the triple and cpu to fix the unit test.
6abfcbd [Stackmap] Emit multi-byte nops for X86.
4f47f01 final patch for very long conditional branches for mips16 constant islands. this completes the basic port of ARM constant islands to Mips16. More testing, code review, cleanup is in order but basically everything seems to be working. A bug in gas is preventing some of the runtime testing but I hope to resolve this soon.
0427957 check-llvm: Ask llvm-config about assertion mode, instead of llc.
e0c0a71 utils/llvm-lit: Generate "llvm-lit.py" rather than "llvm-lit" on Win32 hosts to let llvm-lit.py --use-processes work.
d38749b Update comment grammar and contents.
b972f33 Use CHECK-LABEL to make this test more strict.
21a9fd2 Fix mingw32 thiscall + sret.
3916f6c Fixed various whitespace/spelling/80+ issues.
ca3da88 Return true on success in cl::ExpandResponseFiles
2575bc9 llvm-cov: Another fix to llvm-cov test.
aceff4a Fix a typo in a comment
445cfd7 Avoid buffer copies when a Twine already is a StringRef.
822a02f Teach the internalize pass to skip dllexported symbols because they could be referenced in a way that even the linker does not see.
df9c9da opt: Mirror vectorization presets of clang
ac07cd5 Reland 196270 "Generalize debug info / EH emission in AsmPrinter"
94f5a67 llvm-config: With --build-mode, show ${CMAKE_CFG_INTDIR} on multiconfig builder.
5a10a7c Fix lit config for disabled MCJIT tests on ARM
b5dd669 Revert r196270, "Generalize debug info / EH emission in AsmPrinter"
c6a2cbb Generalize debug info / EH emission in AsmPrinter
616c94b Addrspacecasts are no-ops on ARM.
90a3467 [SystemZ] Fix choice of known-zero mask in insertion optimization
239ffb3 Enhance the fix of PR17631
07fc484 Disable Remote MCJIT tests on ARM
ee4dd7c Further fix to llvm-cov test.
5e41421 Fix llvm-cov test as suggested in r196228's post commit review.
5004f51 Copy input files to test directory.
f0e1085 Remove superfluous label.
1296bb3 [AArch64]Add missing floating point convert, round and misc intrinsics. E.g. int64x1_t vcvt_s64_f64(float64x1_t a) -> FCVTZS Dd, Dn
5025a48 AArch64: add missing ACLE intrinsics mapping to general arithmetic operation from VFP instructions. E.g. float64x1_t vadd_f64(float64x1_t a, float64x1_t b) -> FADD Dd, Dn, Dm.
6379a82 llvm-cov.test: Resurrect part of r194694 for win32 hosts.
b26e6ec Whitespace.
3d69ff4 AArch64: Add missing scalar pair intrinsics. E.g. "float32_t vaddv_f32(float32x2_t a)" to be matched into "faddp s0, v1.2s".
7af2eb1 llvm/test/Transforms/SampleProfile/syntax.ll: Relax an expression, not to check locale-dependent message.
d25d7a5 llvm-cov: Cleaned up print() function slightly.
bbc450c Add some missing pattern matches for AArch64 Neon intrinsics like vuqadd_s64 and friends.
7f1f8d4 Add some missing pattern matches for AArch64 Neon intrinsics like vmull_high_n_s16 and friends.
387d4ea Don't set PrivateGlobalPrefix for NVPTX and R600.
6cd7a3f llvm-cov: Removed output to STDOUT/specified file.
eae8ef4 Added MachineBlockFrequencyInfo::view for displaying the block frequency propagation graph via graphviz.
5b93ae5 Refactor the handling of lexical block and inline scope ranges into a single function. No functional change.
5c21e86 Update doxygen tags.
16df1b2 Reorder member function declarations to match source order.
c2efbdb Make ranges and range lists be a discrete entity that can be located and emitted per function and CU. Begins coalescing ranges as a first class entity through debug info. No functional change.
357fcf9 llvm-cov: Store blocks rather than counts per line.
2331c9f llvm-cov: Added edge struct for traversal in block.
c4b184e llvm-cov: Split up reading of GCNO and GCDA files.
44de223 Debug Info: rename getDebugInfoVersionFromModule to getDebugMetadataVersionFromModule.
ff40d5e Remove PPCScoreboardHazardRecognizer
9472fd7 Refactor the setting of PrivateGlobalPrefix.
485da3c Don't set PrivateGlobalPrefix twice in the same function.
29a0d2a Convert two char* that are only ever used as booleans to bool.
ddc7eef Use local variable for repeated use rather than 'get' method. No functional change intended.
3059b47 Move variables to where they are used and give them better names. No functional change intended.
5685c01 Rename variables to be consistent (CST -> Cst). No functional change intended.
c726add Remove unnecessary/commented-out header inclusion.
451fa97 DebugInfo: Rename generic unit references to "TheU" instead of TheCU now that they might be type units instead of compile units.
7d318bd Debug Info: drop debug info via upgrading path if version number does not match.
3d6225b Update Ocaml/vmcore.ml to emit a "Debug Info Version" module flag.
d4809bb [AArch64] Implemented vcopy_lane patterns using scalar DUP instruction. Patch by Ana Pazos!
6e2cf92 InlineFunction.cpp: Remove a return value that is always false
66983cb Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h.
f4a635b DebugInfo: Rename DwarfCompileUnit.* to DwarfUnit.* to match their contents.
7487eb6 DebugInfo: Refactor CompileUnit into a Unit baseclass and CompileUnit/TypeUnit derived classes.
fab3e59 DebugInfo: Type Units: Propagate the correct DW_AT_language into type units.
4e5f6e6 Conservative fix for PR17827 - don't optimize a shift + and + compare sequence where the shift is logical unless the comparison is unsigned
7043c7a R600: Workaround for cayman loop bug
cce5873 Move getSymbolWithGlobalValueBase to TargetLoweringObjectFile.
4f9dd99 Introduce poor man's consumeToken() in X86AsmParser
15945a0 Remove dead code.
e40c77d Add tests for profile sample file parsing.
dfb31b6 Output .eh_frames on COFF too now that the integrated as is used on mingw.
ad24917 ARM: decide whether to use movw/movt based on "minsize" attribute.
c7cf486 Cut the gold plugin README down to size
97add46 Fix dominator descendants for unreachable blocks.
c15aff9 [PM] [cleanup] Rearrange the public and private sections of this class to be a bit more sensible. The public interface now is first followed by the implementation details.
e126dcb XCoreFrameLowering.cpp: Use [in,out] instead of [in] [out]. [-Wdocumentation]
66daa0e [CMake] add_lit_target: Tests should be excluded from "Build Solution".
f19c6f5 XCore target: Make handling of large frames not dependent upon an FP.
f715d51 ARM: add pseudo-instructions for lit-pool global materialisation
ee97bbf XCore: Unbreak C++11 build.
41d4ed4 XCore target: fix large code model 'select' indirect address handling.
883abac XCore target: Add large code model
7112fa0 XCore target: extend tests in preparation
25464b9 XCore target: Fix eliminateFrameIndex() to handle large frames
1326c6f XCore target: Enable frames larger than 65535 to be lowered
2751f1a Remove an empty directory left after r194304, which incompletely reverted r194218
dfb74a5 [tsan] fix instrumentation of vector vptr updates (https://code.google.com/p/thread-sanitizer/issues/detail?id=43)
bc134cb Update the LTO GoldPlugin documentation
e5c7512 Remove leftovers from a non-MC asm printer.
0619f0b Remove #if 0 declarations.
79a1166 Remove dead code.
4a68554 Change the default of AsmWriterClassName and isMCAsmWriter.
5c2a1a3 Rename test with misspelt filename
a9f2160 Remove dead declarations.
ae289dd Refactor for clarity and efficiency.
ba7cb02 Also test the created stubs on 32 bits.
1561e83 Add -mcpu to stackmap.ll
e54f6dc ARM: fix bug in -Oz stack adjustment folding
e113981 Revamp error checking in the ms inline asm parser.
75ba258 Ensure bitcode encoding of linkage types stays stable. Patch by Boaz Ouriel
47cc074 Use accessor methods instead.
6e59964 Use 'unsigned char' to get this past gcc error message:
15c773b Add a scheduling model (with itinerary) for the PPC POWER7
bc0bdb2 Split some PPC itinerary classes
6e1de2e Convert a PPC test from grep to FileCheck
7373abd Desensitize a couple of PPC regression tests
36e5511 Update the cpu specified on some PPC regression tests
082ac1f Test case for issue with microMIPS long branch.
304964c Fixed issue with microMIPS long branch.
6fdef5e [mips][msa] MSA loads and stores have a 10-bit offset. Account for this when lowering FrameIndex.
c7ff23a [mips][msa] A small refactor to reduce patch noise in my next commit
1baf0c0 Force CPU type to unbreak unit tests on Haswell machines.
4dc7377 Reverse the order of eviction checks for possible compile time savings. No functionality.
dcb0422 Part 1 of 3 patches that completes very long conditional branches in constant islands for Mips16. We introdcuce JalB16 as a synomnym for Jal16. It makes it easier to read and is also necessary because Jal16 is a call instruction but JalB16 is being used as a branch. Various parts of LLVM will not work properly even in this late stage of the backend if we use what was declared as a call instruction to function as a branch. For one, basic block labels may not get emitted in some situations.
eb47ca4 Revert revision 195965.
bc5c8ee mips: XFAIL llvm-cov test
ee7f913 Fixed issue with microMIPS long branch.
eb5a560 Adjust PPC A2 input operand latencies
d7d0669 Teach LocalStackSlotAllocation that stackmaps/patchpoints don't have range constraints on their frame offsets.
4dd359f Create a PPC440 SchedMachineModel
6e33f48 Fixup PPC440 load/store operand latencies
b5ff1bb Adjust PPC440 operand latencies
f13a4e6 Don't model the fetch and decode units for the PPC440
3d9cfe7 Remove unused variable from r195944.
1cbca51 Refactor a lot of patchpoint/stackmap related code to simplify and make it target independent.
7fd70e7 AArch64: The pattern match should check the range of the immediate value. Or we can generate some illegal instructions. E.g. shrn2 v0.4s, v1.2d, #35. The legal range should be in [1, 16].
d468546 Add missing test case for bsl_f64 support of AArch64 NEON.
3733a6b Add missing pattern for supporting intrinsic function vbsl_f64 with argument double floating point.
9224192 [AArch64 NEON]Fix a assertion failure when disassemble SHLL instruction.
e9f8ce8 Rein in overzealous InstCombine of fptrunc(OP(fpextend, fpextend)).
88ccad0 Refactor to remove a bit of duplication. No functionality change.
4e7a22f Silence sign-compare warning and reduce nesting.
e195f6c Remove an always true parameter.
ef70d2a [CMake] Let add_public_tablegen_target() provide intrinsics_gen, too.
bfc7e87 [CMake] Also OptionTests can be free from add_dependencies() with add_public_tablegen_target().
ad36318 [CMake] Let add_public_tablegen_target responsible to provide dependency to CommonTableGen.
4ca0ef7 The global prefix is always one char. Don't use a string for it.
98bb341 [CMake] Prune include_directories() in llvm/lib/Target, take #2.
2513d8b [mips] Revert test commit r195922.
dd5920c [mips] A test commit to test my Herald and Audit workflow
9ec9b84 [CMake] Prune include_directories() in llvm/lib/Target. add_llvm_target() sets them.
dd290fe Add newline at eof.
f84c481 As myself as code-owner of the MIPS backend (lib/Target/Mips/*)
e863102 [OCaml] Add a slash accidentally omitted from Makefile
60f6083 Use the mangler consistently instead of using getGlobalPrefix directly.
680cd7b Don't share functional units among the PPC itineraries
91e710c Remove the variable only used by assert to avoid the build failure caused by build options [-Werror,-Wunused-variable].
cdd732c AArch64: Fix a bug about disassembling post-index load single element to 4 vectors
18a777a Check in conditional branches for constant islands. Still need to finish conditional branches for very large targets. That will be the next small patch. Everything now should in principle work as good (functionality wise) as without constant islands so we decided at Mips/Imagination to make constant islands the default for Mips16 now so that it will get excercised a lot and this port is still experimentatl though hopefully soon we will change the status. Some more cleanup and code review is in order but things are converging fast.
92b8543 [mips] Redefine TAILCALL as a pseudo instruction.
ecd3f0b DebugInfo: Do not include variables only referenced by templates in aranges.
b415592 Add MipsOptimizePICCall.cpp to CMakeLists.txt.
bd44867 [mips] Implement the following optimizations using dominance information to make PIC calls a little more efficient:
d993381 Add IIC_ prefix to PPC instruction-class names
fe7d0c3 Don't set GlobalPrefix to the default value.
98fef8e The R600 has its own asm printer which doesn't use GlobalPrefix. Drop it.
8a6b7df R600: Expand vector FABS
aa6ec15 R600/SI: Implement spilling of SGPRs v5
0cbf943 R600/SI: Use SGPR_32 register class for 32-bit SMRD outputs
496dbfe R600: Add support for ISD::FROUND
60ffb59 Show stackmap entry encodings in stackmap debug logs. This makes it easier to cross-reference debug output with encoded stack-maps, and to create stackmap test-cases.
839b055 Use FileCheck and expand the test a bit.
825dfc8 Remove dead code.
4635dbb Convert two if sequences to switches.
b7e71e3 Use a switch.
0de6255 Use the same tls section name as msvc.
ed3eb50 Remove more dead code now that this is only used for inline asm.
35df2e8 Fix the AArch64 NEON bug exposed by checking constant integer argument range of ACLE intrinsics.
4e05282 [OCaml] Embed rpath into stub libraries and native executables
3b818b4 Convert more methods in static helpers.
81e995d Convert these methods into static functions.
ef8a810 Cleanup and test X86AsmPrinter::printPCRelImm.
e50e160 [docs] Mention gotcha regarding implicit BB numbering
aba036d Fix comment in PPCA2Model
a3e6194 Remove dead argument.
9fef037 [AArch64] Add support for NEON scalar floating-point absolute difference.
df13080 [PM] Remove the underspecified 'getRoot' method from CallGraph. It's only user was an ancient SCC printing bit of the opt tool which really should be walking the call graph the same way the CGSCC pass manager does.
823c9c7 Use simple section names for COMDAT sections on COFF.
72d1f9d [PM] [cleanup] Replace a reserved identifier "_Self" with the injected class name. I think we're no longer using any compilers with sufficiently broken ICN for this use case, but I'll watch the bots and introduce a typedef without a reserved name if any yell at me.
7e8ff83 PR1860 - We can't save a list of ExtractElement instructions to CSE because some of these instructions may be removed and optimized in future iterations. Instead we save a list of basic blocks that we need to CSE.
3fd6a64 80-column fixups.
48f115a [AArch64] Add support for NEON scalar floating-point to integer convert instructions.
b40f14e LoopVectorizer: Truncate i64 trip counts of i32 phis if necessary
2bd48f0 [PM] [cleanup] Run clang-format over this file. If fixes many inconsistencies that I'll just need to fix myself as I edit things.
aba7b68 [PM] [cleanup] Update doxygen comments to use the new style, add some doxygen comments, make existing comments doxygen comments etc.
46f8992 [OCaml] Embed the flags necessary for linking with libLLVM.so into .cmxa files
c0dfa22 Fix a bug related to constant islands for Mips16 and mips16/32 dual mode. The determination of when we are doing constant pools was being made too early in the asm printer.
d0d8d64 Refactor some code in SampleProfile.cpp
fd115c4 Fix PR18054
4e37ce8 Add PostDominatorTree::getDescendants.
9a9fe4d DwarfDebug: Include type units in accelerator tables.
4f1fde9 Fix spurious return introduced by my earlier patch to DebugInfo
bba8da2 PR18060 - When we RAUW values with ExtractElement instructions in some cases we generate PHI nodes with multiple entries from the same basic block but with different values. Enabling CSE on ExtractElement instructions make sure that all of the RAUWed instructions are the same.
15f7d26 Add return to DIType::Verify
dff57f1 PR17925 bugfix.
45ab475 Rename DwarfException methods so the new names are consistent with DwarfDebug and the style guide
2254509 Darwin-ARM: use movw/movt for static relocations
7a46096 [PM] Fix a stale comment after my last refactoring spoted by Joey in review!
9200d12 [PM] Remove four extraneous 'typename's that Clang (in C++11 mode) is happy with but GCC complains about. I'm assuming both compilers are correct and these are optional in C++11 because I'm too tired to read the standard. ;]
0dd9c5f [PM] Factor the overwhelming majority of the interface boiler plate out of the two analysis managers into a CRTP base class that can be shared and re-used in building any analysis manager. This will in turn simplify adding yet another analysis manager to the system.
396e080 [SystemZ] Fix incorrect use of RISBG for a zero-extended right shift
7c6be4d CMake : optionaly enable LLVM to be compiled with -std=c++11 (default: off)
54fec07 [PM] Split the CallGraph out from the ModulePass which creates the CallGraph.
bdd300b [PM] Reformat some code with clang-format as I'm going to be editting as part of generalizing the call graph infrastructure for the new pass manager.
cbde357 [PM] Add a really simple trait to the DOTGraphTraitsPass class templates that lets the analysis and graph types be separate and the graph computed from the analysis through some arbitrary user-supplied code.
cf7ed12 Refactored the implementation of AArch64 NEON instruction ZIP, UZP and TRN. Fix a bug when mixed use of vget_high_u8() and vuzp_u8().
eaa1aa7 [PM] Re-format this code with clang-format before making substantial changes to it. No functionality changed.
57f6b27 [AArch64]Implement 128 bit register copy with NEON.
501aeea StackMap: Implement support for DirectMemRefOp.
151ed66 whitespace
59ac92a [PM] Make the (really awesome) file comment here available as part of the Doxygen.
a8a39b1 [PM] Reformat this file with clang-format. Mostly fixes inconsistent spacing around the '*' in pointer types. Will let me use clang-format on subsequent changes without introducing any noise. No functionality changed.
5d4058a DebugInfo: Update test case due to dumper improvements in r195698
ffd7906 Lift self-copy protection up to the header file and add self-move protection to the same layer.
b30824e Fix a self-memcpy which only breaks under Valgrind's memcpy implementation. Silliness, but it'll be a trivial performance optimization. This should clear up a failure on the vg_leak bot.
8037485 [PM] Sink a trailing comment to be a doxygen comment.
0c9fcd2 [PM] Rename the 'Mod' member to the more idiomatic 'M'. No functionality changed.
2fdf433 DebugInfo: Remove CompileUnit::constructTypeDIEImpl now that it's just a simple wrapper again.
947c2f1 [PM] Clean up a bunch of comments, modernize the doxygen, nuke some whitespace, and a couple of argument name fixes before I start hacking on this code. No functionality changed here.
999cf05 DebugInfo: Avoid emitting pubtype entries for type DIEs that just indirect to a type unit.
0e6ec12 Add an intrinsic for the SSE2 PAUSE instruction.
0487c74 DebugInfo: Pubtypes: Coelesce pubtype registration with accelerator type registration.
0b98ca6 Add the test case that I missed when committing r195528. Doh!
02ddf4a Do the string comparison in the constructor instead of once per nop.
854e601 Use -triple to fix the test on non-ELF hosts.
8f6631c Don't use nopl in cpus that don't support it.
1edc33b ARM integrated assembler generates incorrect nop opcode
5df09f0 Unrevert r195599 with testcase fix.
bb0cd33 Fix indentation typo
ff38089 ARM: remove special cases for Darwin dynamic-no-pic mode.
c7daeb3 Fix .comm and .lcomm on COFF.
68bef45 Refactor to make the .bss, .data and .text sections available for other uses.
1b4c8c1 Make helper function static.
761bf23 ARM: remove unused patterns.
b42574a [ARM] Enable FeatureMP for Cortex-A5 by default.
9981247 Revert r195599 as it broke the builds.
4ac67fa Fixed tryFoldToZero() for vector types that need expansion.
8a6c627 X86: enable AVX2 under Haswell native compilation
dfc615f Don't look past volatile loads.
e04ed6b Fixed a bug about disassembling AArch64 post-index load/store single element instructions. ie. echo "0x00 0x04 0x80 0x0d" | ../bin/llvm-mc -triple=aarch64 -mattr=+neon -disassemble     echo "0x00 0x00 0x80 0x0d" | ../bin/llvm-mc -triple=aarch64 -mattr=+neon -disassemble will be disassembled into the same instruction st1 {v0b}[0], [x0], x0.
da99801 SparcFrameLowering.cpp: Prune 'DL' [-Wunused-variable]
b63fdec Output a bit more information in the debug printing for MBP. This was useful when analyzing parts of zlib's behavior here.
2fee935 [Sparc] Emit large negative adjustments to SP/FP with sethi+xor instead of sethi+or. This generates correct code for both sparc32 and sparc64.
845e938 [Sparc]: Implement LEA pattern for sparcv9.
cf09ce3 [SparcV9]: Do not emit .register directives for global registers that are clobbered by calls but not used in the function itself.
591719e [SparcV9] Enable custom lowering of DYNAMIC_STACKALLOC in sparc64.
e77071d Make sure that for C++ emitting LwConstant32 pseudos, that it corresponds to what is needed for constant islands. The prescan method for Mips16 constant islands will eventually go away. It is only temporary and should be done earlier when the instructions are first created or from the DAG. If we keep it here we need to handle better the situation where constant islands is called multiple times since don't want to prescan more than once.
1fcb390 Default to a better compression algorithm.
3fae4b8 Update older test cases for latest patch.
ab3cb5c Fix a funny bug I introduced during conversion of ARM constant islands to Mips. I had to move some code and I moved a declaration forward past it's first use in the function but by nutty coincidence there was another variable of the same name and type and  with completely unrelated function that was declared globally in the class so no compilation error ensued. It required some unusual conditions for it to even matter. Caused test case casts.c in test-suite to fail during compilation with a duplicate symbol error. I would have noticed it during final code review for this port.
2b5c552 Put an unused result attribute on SmallSet::empty()
e510665 [PM] Complete the cross-layer interfaces with a Module-to-Function proxy. This lets a function pass query a module analysis manager. However, the interface is const to indicate that only cached results can be safely queried.
2ea1151 [PM] Rename TestAnalysisPass to TestFunctionAnalysis to clear the way for a TestModuleAnalysis.
a3507d4 DwarfDebug: Move ownership of CompileUnits into DwarfUnits
bc8569d Debug Info: update testing cases to specify the debug info version number.
fbe605e Migrate metadata information from scalar to vector instructions during SLP vectorization. Based on the code in BBVectorizer.
b88831b [PM] Add support to the analysis managers to query explicitly for cached results.
43d67d0 Refactor DW_AT_ranges handling to use labels for ranges rather than a non-relocatable number offset.
c918db1 Reformat const for readability.
4d32e85 [PM] Switch the downward invalidation to be incremental where only the one function's analyses are invalidated at a time. Also switch the preservation of the proxy to *fully* preserve the lower (function) analyses.
2fd69d0 [PM] Remove a FIXME comment that was fixed by my recent refactorings: now the access to the manager is via the proxy that ensures it behaves correctly.
0f39827 R600/SI: Fixing handling of condition codes
695de76 llvm-cov: Split entry blocks in GCNOProfiling.cpp.
e6c749a Debug Info: move StripDebugInfo from StripSymbols.cpp to DebugInfo.cpp.
bec5006 Debug Info: update testing cases to specify the debug info version number.
e1af5f6 X86: Perform integer comparisons at i32 or larger.
22bc132 Debug Info: add a constant for debug info version number.
08e1b75 StructurizeCFG: Fix verification failure with some loops.
7575fdd StructurizeCFG: Fix inverting a branch on an argument
16c7e0b Teach ISel not to optimize 'optnone' functions (revised).
09f1b25 DEBUG shouldEvict decisions
833a9e9 Minor cleanup. EvictionCost ctor was confusing relative to the other costs floating around in the code.
ed20bf5 patchpoint: factor SD builder code for live vars. Plain stackmap also optimizes Constant values now.
3419a7d patchpoint: eliminate hard coded operand indices.
cdc675d VS integration: use the correct registry key after r195379
4799cdb Add a fixed version of r195470 back.
0894438 Fix PR18014
b83bf52 [SystemZ] Fix TMHH and TMHL usage for z10 with -O0
4be5f33 Revert "Convert linkonce* to weak* instead of strong."
0f77879 Add a Scalarizer pass.
a6c0249 Convert linkonce* to weak* instead of strong.
a24e7f7 [mips][msa] Add test case that should have been added in r195456.
21a4724 SLPVectorizer: Fix whitespace errors.
9519b68 Don't produce tail calls when the caller is x86_thiscallcc.
d29ed42 ARM: use CHECK-LABEL on a test.
3ff7ce3 Fix typo in a comment added in r195455.
b025b92 [mips][msa] Fix corner case for integer constant splats with undef values.
e1bacb8 [PM] Remove extraneous space that I left in there.
5f347a9 [PM] Teach the analysis managers to pass themselves as arguments to the run methods of the analysis passes.
1fe44e4 [PM] Reverse the template arguments 'PassT' and 'AnalysisManagerT' in several templates. The previous order didn't make any sense as it separated 'IRUnitT' and 'AnalysisManagerT', the types which are essentially paired and passed along together throughout the layers.
2698821 Add support for Cortex-A12.
d984cdc [PM] Remove the IRUnitT typedef requirement for analysis passes.
3f08198 [PM] Fix the analysis templates' usage of IRUnitT.
8dc7f94 [mips][msa] Float vector constants cannot use ldi.[wd] directly. Bitcast from the appropriate integer vector type.
a7e8d65 Revert r195318 as it causes miscompilation (PR18029)
dd254ea Fix a Cygwin build failure caused by enum values starting with '_', which is conflicted with some platform macros. This patch only renames variables, no functional change.
e74a644 Fix the bugs about AArch64 Load/Store vector types and bitcast between i64 and vector types. e.g. "%tmp = load <2 x i64>* %ptr" can't be selected.      "%tmp = bitcast i64 %in to <2 x i32>" can't be selected.
bb3327f Revert last change by haoliu because of buildbot failure.
7f5a9ca Fix a Cygwin build failure caused by enum values starting with '_', which is conflicted with some platform macros. This solution only renames variables, no functional change.
e323506 [block-freq] Update data in test case to be unsigned long long to fix mingw build.
507fbe0 [block-freq] Add a method to loop info for returning all loop latches for a specific loop.
0282fe6 For AArch64 back-end instruction selection, lower Neon_Lowxxx with EXTRCT_SUBREG.
ca3c03a Tweak 3 tests in llvm/test/CodeGen/X86 to add -mcpu=generic since r195383.
709a31b SLP Vectorizer: Extract cost will only be added once even if the scalar has multiple external uses.
ef70984 [PM] Simplify how the SFINAE for AnalysisResultModel is applied by factoring it out into the default template argument so clients don't have to even think about it.
4fc9a48 Fix a typo where we were creating <def,kill> operands instead of <def,dead> ones.
d793a05 [PM] Switch analysis managers to be threaded through the run methods rather than the constructors of passes.
8d56c59 R600: Implement TargetInstrInfo::isLegalToSplitMBBAt()
0ffcaa0 SelectionDAG: Optimize expansion of vec_type = BITCAST scalar_type
b7bad85 Split SETCC if VSELECT requires splitting too.
2d5d104 In Dwarf 3 (and Dwarf 2) attributes whose value are offsets into a section use the form DW_FORM_data4 whilst in Dwarf 4 and later they use the form DW_FORM_sec_offset.
46f7257 SHLD/SHRD are VectorPath (microcode) instructions known to have poor latency on certain architectures. While generating SHLD/SHRD instructions is acceptable when optimizing for size, optimizing for speed on these platforms should be implemented using alternative sequences of instructions composed of add, adc, shr, shl, or and lea which are directPath instructions. These alternative instructions not only have a lower latency but they also increase the decode bandwidth by allowing simultaneous decoding of a third directPath instruction.
934d1f8 Introduce two command-line flags for the instrumentation pass to control whether the labels of pointers should be ignored in load and store instructions
cd5978a Move member variable up to where the rest of non-DWARF5 variables reside.
896a0a2 CMake: Some changes to package version names:
1aeae92c Remove dangling documentation. llvm-prof was deleted a while ago.
bf73d8f [ARM] add the overlooked tests for Cortex-A7 build attributes
959f0c3 [mips][msa] Fix a corner case in performORCombine() when combining nodes into VSELECT.
7663849 [ARM] add basic Cortex-A7 support to LLVM backend
f89ddfc Add support for legalizing SETNE/SETEQ by inverting the condition code and the result of the comparison.
52658c9 [msan] Propagate condition origin in select instruction.
001a93b [mips][msa/dsp] Only do DSP combines if DSP is enabled.
ae89383 Use multiple filecheck prefixes in msan instrumentation tests.
32bcb7c Whitespace.
a5f9e4e [PM] Fix typo and trailing space.
b05bddb Revert r195317 (and r195333), "Teach ISel not to optimize 'optnone' functions."
edd2b49 [PM] Widen the interface for invalidate on an analysis result now that it is completely optional, and sink the logic for handling the preserved analysis set into it.
0bafaac [OCaml] Unbreak make install by providing ocamldoc target
12f0390 add 'REQUIRES: asserts' to a test that uses 'llc -debug'; this fixes the no-asserts build
212226e [PM] Add support for using SFINAE to reflect on an analysis's result type and detect whether or not it provides an 'invalidate' member the analysis manager should use.
6345249 Implemented Neon scalar vdup_lane intrinsics.
1c93766 Implemented Neon scalar by element intrinsics.
42a9da3 Don't speculate loads under ThreadSanitizer
072ebe5 The basic problem is that some mainstream programs cannot deal with the way clang optimizes tail calls, as in this example:
6079f00 Teach ISel not to optimize 'optnone' functions.
397afeb Dereference the node iterator when dumping the PBQP graph structure in DOT format.
ce10f18 Add, to constant islands, long jumps similar to ARM far branch.
1155e0e llvm-cov: Don't assume FileChecksum was generated.
53daa8e llvm-cov: Formatting change.
6431960 llvm-cov: Fixed some bugs related to file checksum.
7fac06c [PM] Add a module analysis pass proxy for the function analysis manager.
7b98dd3 Move DebugInfoOffset member near the other data member it helps describe.
b553c81 Reflow some documentation and remove whitespace comments. Move DebugInfoOffset data member up with the rest of the data members.
1531e71 Add more documenation for the lookup tables data members.
bd355a0 Reorder language in the CompileUnit description and add a comment.
76ef8af Update comment.
ba5ab82 Constify the DIEs used for pubname and pubtype tables. Propagate through findAttribute etc.
9fd7416 YAML I/O add support for validate()
25f0178 revert r194655
1e81642 PPC popcnt[dw] do not have record forms
aefd8db Add loop rerolling code owner
16e2f0e MachineBlockPlacement: Strengthen the source order bias when picking an exit block.
ba883ce DwarfCompileUnit: Initialize DebugInfoOffset.
89cadbe CR feedback for r195166: Add comments regarding type unit mapping and type units disabling cross-CU sharing.
fd03357 Make the moved-from SmallPtrSet be a valid, empty, small-state object. Enhance the tests to actually require moves in C++11 mode, in addition to testing the moved-from state. Further enhance the tests to cover copy-assignment into a moved-from object and moving a large-state object. (Note that we can't really test small-state vs. large-state as that isn't an observable property of the API really.) This should finish addressing review on r195239.
aa8e535 Add a test for assignment operator behavior which was changed in r195239, as well as a comment about the fact that assigning over a moved-from object was in fact tested. Addresses some of the review feedback on r195239.
128d90a [mips][msa] Pseudo instructions require HasMSA too. Inherit from MSAPseudo instead of MipsPseudo
e4e260e FileCheck: fix a bug with multiple --check-prefix options. Similar to r194565
7a8d0d7 llvm/CMakeLists.txt: Update LLVM_VERSION_MINOR to 5.
070fd55 [mips][msa] Remove unused instruction class MSA_I8_X_DESC_BASE
c49e7e6 [PM] Add the preservation system to the new pass manager.
4619816 Give SmallPtrSet move semantics when we have R-value references. Somehow, this ADT got missed which is moderately terrifying considering the efficiency of move for it.
56b0922 X86ISelLowering.cpp: Mark a variable VT as LLVM_ATTRIBUTE_UNUSED. [-Wunused-variable]
6bee54e Whitespace.
85f3f61 Update to reflect the next release.
29086ac Fixed compilation error.
5cd32af AVX-512: Concat 4 128-bit vectors in one 512-bit vector.
264b48b Add -triple option.
d148940 [PM] Make the function pass manager more regular.
d23c759 llvm-cov: Added file checksum to gcno and gcda files.
523d929 [PM] Split the analysis manager into a function-specific interface and a module-specific interface. This is the first of many steps necessary to generalize the infrastructure such that we can support both a Module-to-Function and Module-to-SCC-to-Function pass manager nestings.
eda8f67 PPC: Optimize rldicl generation for masked shifts
9259787 Remove polymorphic destruction for DIE. DIEBlocks are owned elsewhere and not polymorphically deleted and they are the only thing that derive from DIE.
b88a94f Remove capability for polymorphic destruction from LexicalScope and LexicalScopes, we're not using it.
1f12b50 Grammar.
73a69d6 Formatting, 80-col, trailing whitespace.
1357859 long line correction
95047a8 long line correction
d54beff Expose the fence instruction via the C API.
3da011f Fixed an extra for(typo) in the comments
2f0f121 long lines and white space correction
6fe6dc1 DebugInfo: Partial implementation of DWARF type units.
d401099 DebugInfo: Constify accelerator table handling, and separate type accelarator insertion in preparation for a second use of this code from type units.
4bc2e3a SLPVectorizer: Fix stale for Value pointer array
413f7be SLPVectorizer: Fix whitespace errors
2fb0234 [mips] Resolve relocation for the stubs in MCJIT when load address is known
217baac [DAG] Refactor vector splitting code in SelectionDAG. No functional change intended.
edeaa64 Make it explicit that nulls are not allowed in names.
a49e1f5 llvm-cov: Moved printing after error checks.
0233715 reverts 195057 per request
d6fde40 llvm-cov: Added constness property to methods.
5903eca DataLayout: value initialize globals to avoid static construction.
72935dd Support multiple COFF sections with the same name but different COMDAT.
0d63cf0 Obvious pasto survived a couple rounds of cleanup.
da1ad53 YAML I/O - Added default trait support for std:string.  Making another attempt at this, this time doing a clean build on Linux, and running the LLVM, clang, and extra tests, to try to make sure there's no problems.
c5a925c Fix assembly operands for the SSE2 cvtsd2ss instruction.
c5e9981 [Mips] Adjust float ABI settings in case of MIPS16 mode.
4d06b6d Formatting and 80-col.
5efc006 Fix comment.
d2b3a02 Refactor the section emission code to remove duplicates now that we can emit various sections in any order. No functional change.
eee5230 Reformat file.
ed1951e Fix an issue where SROA computed different results based on the relative order of slices of the alloca which have exactly the same size and other properties. This was found by a perniciously unstable sort implementation used to flush out buggy uses of the algorithm.
1b3ab91 Add support for software expansion of 64-bit integer division instructions.
0b84386 Fix patchpoint comments.
bb83da2 Add lld to projects to tag.
f5afe71 Add .clang-format without column limit to subdirectory tests/.
d73d4f4 Use symbolic operands in the patchpoint folding routine and fix a spilling bug.
8ddf988 Add an abstraction to handle patchpoint operands.
ba0f991 [weak vtables] Place class definitions into anonymous namespaces to prevent weak vtables.
36c7806 Implement AArch64 neon instructions class SIMD lsone and SIMD lone-post.
e40e68a Remove unused special member functions and reformat.
15602d7 Fix previous commit and fully remove variable.
2a4888b Remove unused variable.
f11b55c Implement AArch64 SISD intrinsics for vget_high and vget_low.
282a979 implement MC layer of AArch64 neon instruction PMULL and PMULL2 with 128 bit integer.
01dd572 Add predicate for AArch64 crypto instructions.
e53969b [Mips] Support for MicroMips STO refactoring.
3543625 [weak vtables] Remove a bunch of weak vtables
26efdc5 llvm-dwarfdump: support for emitting only the debug_types section using -debug-dump
8da7540 DwarfDebug: Move trailing else to the same line as prior closing brace
d6dffb4 DwarfDebug: Remove some more redundant explicit constructions.
4c1625b [Mips] MipsTargetStreamer refactoring.
4adba52 DebugInfo: Simplify a few more explicit constructions, underconstrained types, and make DIType(MDNode*) explicit like all the other DI* node ctors.
a7b7a7d Revert "COFF: Emit all MCSymbols rather than filtering out some of them"
940267e Debug info: Let LowerDbgDeclare perfom the dbg.declare -> dbg.value lowering only for load/stores to scalar allocas. The resulting values confuse the backend and don't add anything because we can describe array-allocas with a dbg.declare intrinsic just fine.
d9ddaa4 Docs: tweak code-block spacing.
fe45fd0 The 'optnone' attribute means don't inline anything into this function (except functions marked always_inline). Functions with 'optnone' must also have 'noinline' so they don't get inlined into any other function.
3560dd2 R600/SI: Fix moveToVALU when the first operand is VSrc.
9bc4b2c R600/SI: Fix multiple SGPR reads when using VCC.
e64a289 R600/SI: Implement add i64, but do not yet enable.
15703e0 R600/SI: Specify SSrc operands
f38be91 R600/SI: addc / adde i32 are legal
b2254e6 R600/SI: Match addc to S_ADD_U32.
62f35fb R600/SI: Match adde/sube to S_ADDC_U32/S_SUBB_U32
f53b784 R600/SI: Specify S_ADD/S_SUB set SCC and add is commutable
3e38856 R600/SI: Move patterns to match add / sub to scalar instructions
836c513 R600/SI: Fix extra defs of VCC / SCC.
b570599 R600: Enable the IR structurizer by default
44248e0 R600: Fix a crash in the AMDILCFGStrucurizer
ef37e45 R600: Add a SubtargetFeatture for disabling the ifcvt pass.
b4c3516 R600: Use lower-case for EnableIRStructurizer feature
204c953 R600/SI: Fix illegal VGPR->SGPR copy inside of loop
bf9ddd5 R600/SI: Fix another case of illegal VGPR->SGPR copy
7c5498e Checking for a return value with FormatMessage; if the call fails, there's no guarantee that the buffer will be non-null.
eae6e54 Fixing a possible memory leak from a failing realloc() call.
6919bec Recover gracefully when deserializing invalid YAML input. Fixes http://llvm.org/PR16221, http://llvm.org/PR15927 Phabricator: http://llvm-reviews.chandlerc.com/D1236
64409ad [ASan] Fix PR17867 - make sure ASan doesn't crash if use-after-scope and use-after-return are combined.
874081c [PR17978] Mark two ARM/fast-isel tests as XFAIL:vg_leak due to GV.
07a3c48 LoopVectorizer: Extend the induction variable to a larger type
2342720 [mips] Fix 'ran out of registers' in MIPS32 with FP64 when generating code for (ConstantFP 0.0)
26651c7 [mips][msa] Update encoding of bnz.v (typo).
95adf91 [mips][msa] Fix immediate value of LSA instruction as it was being wrongly encoded.
f56f1df Fix forgotten member initialization detected by MSan bootstrap bot
74e1ee9 [mips][msa] Add MSA to the release notes.
ea8e144 test-release.sh: tweak RPATH for the binary packages.
38ea7b5 Unbreak the build after r194997
b21ab43 Revert r194865 and r194874.
69b2447 [AArch64 NEON]Add mov alias for simd copy instructions. Set some unspecified bits of INS/DUP to zero as ARMARM requested.
9757775 Implement the newly added ACLE functions for ld1/st1 with 2/3/4 vectors. The functions are like: vst1_s8_x2 ...
65c102e Debug Info Verifier: disable it by default.
1572ba7 Fix spacing, forward declare order.
17a88a7 Remove unnecessary temporary construction.
fbf70b3 Remove redundant explicit default initialization.
08e51e1 DwarfCompileUnit: Add type safety to createGlobalVariableDIE
b923d2f TableGen: Generate an enum for all named Operand types in tblgen'd InstrInfo.
0df7f51 Docs: Clearly separate Operand-related paragraphs.
3bcf1e3 Docs: Fix typo: NoIntinerary -> NoItinerary.
6950be2 Debug Info: fix typo in function name.
9564d64 Debug Info Verifier: fix when to find debug info nodes and when to verify them.
2b31b82 Debug Info Verifier: enable public functions of Finder to update the type map.
80ccd9e Utils/LoopUnroll.cpp: Tweak (StringRef)OldName to be valid until it is used, since r194601.
c8dc96b Add a loop rerolling flag to the PassManagerBuilder
e8a957d python: Fix check for disasm creation failure
60e4d7f python: Properly initialize before trying to create disasm
d192b52 Update CREDITS
281e8eb Testcase for PR17964
fe128c6 Revert "Micro-optimization"
d5ae5b0 DAGCombiner: Partially revert r192795, getNOT was fixed not to create illegal constants.
e5a694a DebugLoc defines LineCol as 32 bit in comment but unsigned in code. This patch modifies LineCol to be a uint32_t.
e7a1e3e [block-freq] Add BlockFrequency::scale that returns a remainder from the division and make the private scale in BlockFrequency more performant.
8417e85 [PM] Completely remove support for explicit 'require' methods on the AnalysisManager. All this method did was assert something and we have a perfectly good way to trigger that assert from the query path.
ca1b779 Use more getZExtOrTruncs
91053d5 Use getZExtOrTrunc instead of repeating the same logic.
3905642 Add the cold attribute to error-reporting call sites
bb756ca Added a size field to the stack map record to handle subregister spills.
b7dabcc Fix ndebug-build unused variable in loop rerolling
94437c9 Use right address space pointer size
bebe48d Add a loop rerolling pass
0ccb37a The WebKit_JS CC preserves the same registers as the C CC.
64fa501 Apply the InstCombine fptrunc sqrt optimization to llvm.sqrt
e6e8112 Fix assert on unaligned access to global with different address space size.
4fe5b64 Fix codegen for null different sized pointer.
2905440 ScalarEvolution: Warn if the result of setFlags/clearFlags is unused.
b69143c Annotate APInt methods where it's not clear whether they are in place with warn_unused_result.
4110797 R600: Make dot_4 instructions predicable
0fb32eb Use array_pod_sort instead of std::sort
e9cdbf6 InstCombine: fold (A >> C) == (B >> C) --> (A^B) < (1 << C) for constant Cs.
bd9f36f Fix filename in header comment
7936226 gtest-death-test.cc: Move ~DeathTestFactory() to unbreak cygming build since r194865.
3d429d8 Debug Info Verifier: remove un-used argument in verifyDebugInfo.
35de994 X86: Encode the 'h' cpu subtype in the MachO header for x86.
07df65c Mention address space related changes in release notes.
74c996c Use correct size for address space in BasicAA.
1dc2723 DwarfCompileUnit: Push type safety of DIDescriptor through CompileUnit::createAndAddDIE.
21c9708 DwarfCompileUnit: Remove unnecessary OwningPtr<T>::get() call
e553fea Small improvement to InstrinsicEmitter::EmitAttributes.  This change removes the “pushing” and “clearing” of the SmallVector and instead uses const arrays to pass the attributeKinds to AttributeSet::get .
87fd14d For dwarf4 use the correct form for referencing debug_loc locations, and update test cases accordingly.
7b86771 DwarfCompileUnit: Add type safety to CompileUnit::getNode by returning DICompileUnit instead of a raw MDNode*.
942431f DwarfCompileUnit: Add type safety by using DICompileUnit rather than raw MDNode* for the CU metadata node
aedaa72 DwarfCompileUnit: Simplify getLanguage() calls to use existing member function
a53bf06 Implemented aarch64 Neon scalar vmulx_lane intrinsics Implemented aarch64 Neon scalar vfma_lane intrinsics Implemented aarch64 Neon scalar vfms_lane intrinsics
6bc810a Replace the dangling context hotfix with an assertion.
445fd04 Remove unused arguments.
8c66df2 During folding for patchpoint/stackmap instructions, defer creation of new MIs until we know that folding will be successful.
14f41e7 DwarfDebug: Push DISubprogram through updateSubprogramScopeDIE
4634338 LoopVectorizer: Use abi alignment for accesses with no alignment
cbc85a2 DwarfCompileUnit: Push DIDescriptors through a getDIE/insertDIE
7426308 Fix previous commit (r194865)
86a3348 DwarfCompileUnit: Push DIDescriptor usage out from isShareableAcrossCUs
ef1b87a Fix typos.
5a364c5 [weak vtables] Remove a bunch of weak vtables
17d4ac8 Fix confusing machine verifier error.
59bbf5a Fix a problem in MCJIT identifying the module containing a global variable.
c3ec7e2 Make method static
4303b09 [PM] Fix an iterator problem spotted by the MSVC debug iterators and AaronBallman. Thanks for the excellent review.
d515e98 [PM] Run clang-format on a few lines that I missed in my first pass, pulling them under 80-columns. No functionality changed.
5758c3c [AArch64] Fix the scalar NEON ACLE functions so that they return float/double rather than the vector equivalent.
8a631b2 Path: Recognize COFF import library file magic.
0cbdb81 Reimplement r194843 in a slightly less broken way.
c160efc ArgumentPromotion: correctly transfer TBAA tags and alignments.
3a22601 Readobj: If NumbersOfSections is 0xffff, it's an COFF import library.
7d5f2bd Restore the behaviour from before r194728. If getDIE() fails, getOrCreateContextDIE() should also return the CUDie.
cc70523 Avoid illegal integer promotion in fastisel
5cddda6 R600/SI: Add VReg_96 register class to SIRegisterInfo::hasVGPRs()
1ab6084 Resolve JIT runtime linking problems on Android.
48079e0 Don't try to initialize memory for a global if the allocation failed in ExecutionEngine.
2ba641b Update contact information.
8363c52 [mips][msa] Merge basic_operations_little.ll into basic_operations.ll.
28e12e9 Add AVX512 unmasked FMA intrinsics and support.
2408335 [NVPTX] Fix type in usage doc
cb85ded [mips][msa] lowerMSABitClear() should use SelectionDAG::getNOT() instead of using a long-winded equivalent.
4215561 Hopefully fix uninitialized memory read in AArch64AsmParser found by MSan bootstrap bot
2245285 [NVPTX] Update the usage document
ea28aaf Fix illegal DAG produced by SelectionDAG::getConstant() for v2i64 type
4d748eb [NVPTX] Fix handling of indirect calls
0dd0d1a Correct spelling.
ca795b6 [mips][msa] Build all the tests in little and big endian modes and correct an incorrect test.
efbdf7f Move all of the GoogleTest files back to the same locations they occupy externally to simplify our integration of GoogleTest into LLVM. Also, build the single source file gtest-all.cc instead of the individual source files as we don't expect these to change and thus gain nothing from increased incrementality in compiles.
8f15c68 [asan] use GlobalValue::PrivateLinkage for coverage guard to save quite a bit of code size
d881c1b llvm-cov: Clean up memory leaks.
ec3ce8a Redirect unused test case output to /dev/null
4da02d4 Give unit test its own LLVMContext so MDNodes aren't leaked even if we never call llvm_shutdown.
868e74b Adding some info about stability of ARM boards
42cb3ab Use instr mapping for microMIPS in llvm-mc.
4b89914 Reapply "[asan] Poor man's coverage that works with ASan"
728eb5f Platform proof a test case.
6dd44d3 Add instcombine visitor for addrspacecast
01ad8c3 Fix grammar in addrspacecast description
509a492 Add target hook to prevent folding some bitcasted loads.
a0846f4 [OCaml] Add REQUIRES: native, object-emission to the Target test
2475da8 Revert "[asan] Poor man's coverage that works with ASan"
b53c129 [OCaml] Use native target in testsuite instead of hardcoding X86
b6703ff [OCaml] Add Target and TargetMachine bindings to Llvm_target
04deb49 [OCaml] Refactor Llvm_target interface
68f4dae [OCaml] Fix building of stub libraries
e016a16 [llvm-c] Make LLVMGetTargetFromName actually work
fa74752 [llvm-c] Add missing const qualifiers to LLVMCreateTargetMachine
5ea0c20 [llvm-c] Simplify signature of LLVMGetTargetFromName
1703a71 Make all the conditional Mips 16 branches get initially set for the short form. Constant islands will expand them if they are out of range. Since there is not direct object emitter at this time, it does not have any material affect because the assembler sorts this out. But we need to know for the actual constant island work. We track the difference by putting # 16 inst in the comments.
7b64181 Use a reference rather than a pointer as we don't expect a NULL DbgVariable.
59d3ae6 Add addrspacecast instruction.
2b7fef0 Include raw_ostream.h.
19a99df R600: Fix scheduling of instructions that use the LDS output queue
1ccba31 Teach the Makefile build system how to handle SOURCES which include subdirectories. The only thing needed here is to create the appropriate object file directories and add those as dependencies for the compilation rules.
bdbcffa R600/SI: Add processor type for Hawaii
849596c When folding memory operands, preserve existing MachineMemOperands.
25116f5 R600/SI: Remove redundant legalizeOperands call
5a5d116 Simplify testcase.
ba0e1ee Add #include raw_ostream.h in lib/Target/R600/SIFixSGPRCopies.cpp
5f59fe5 R600/SI: Specify S_ADDK/S_MULK set SCC and are commutable
41e1a18 DebugInfo: Simplify/narrow null-check for getOrCreateType
b850a05 Recognize 0x0000 as a COFF file magic.
6a1a5e9 [AArch64] Remove redundant Neon_immAllOnes/Neon_immAllZeros leaf patterns.
8c0fecc DwarfCompileUnit::getOrCreateContext: Return the compile unit DIE rather than null.
f4837be Remove unnecessary 'else' after return.
5cb5ad9 Typos.  (Test commit.)
0f2f62d Fix regular expression to work with multiple-digit version numbers
bf7329d ARM: produce friendly error for invalid inline asm
5e9f8c3 Add a triple and switch test to FileCheck.
4e7e4d8 llvm-cov.test: Remove XFAIL:arm. Seems this is passing since my tweaks.
3d47402 Error if we see an alias to a declaration.
8cc5f7c [asan] Poor man's coverage that works with ASan
45f5110 [msan] Use CHECK-DAG instead of CHECK where order of instructions does not matter.
34432ae [msan] Fast path optimization for wrap-indirect-calls feature of MemorySanitizer.
05c837e llvm-cov requires IR and Support as libraries. Instrumentation would be overkill.
d19c4ce llvm-cov.test: Tweak win32 hosts not confused by \r\n in llvm-cov's stdout.
bdc2332 IR/GCOV.cpp: Use PRIu64 as format string with uint64_t.
12e90cb Whitespace.
f58e414 AVX-512: Handled extractelement from mask vector; Added VMOSHDUP/VMOVSLDUP shuffle instructions.
4701c47 Fix the header comment of the new pass manager stuff to not claim to be the legacy stuff. =]
29a651a Indentation fixes
54f009f Add a comment
a837ac3 Fix trailing whitespace in debug printing
e037529 R600/SI: Add testcase for problem I ran into with the older version of the moveToVALU changes.
2b8d813 yaml::Input::mapTag(): Don't use StringRef to hold return type of std::string.
1635686 Whitespace.
f116f8a AArch64DAGToDAGISel::SelectVTBL(): Fix a warning. [-Wunused-variable]
72cf01c Minor extension to llvm.experimental.patchpoint: don't require a call.
27df434 Add test case for AArch64 NEON instruction set misc.
2bdf881 [OCaml] Build stub OCaml libraries for all configured targets
a69773c [OCaml] Expose LLVM's fatal error and stacktrace APIs
732cf2d Don't mangle \n and "
fd57284 Add external project LDC to release notes.
e59daaa R600/SIFixSGPRCopies.cpp: Fix \param to \return. [-Wdocumentation]
b502e09 Whitespace.
0710afb [AArch64 neon] support poly64 and relevant intrinsic functions.
5230102 remove extra semicolon
a08063a Implement aarch64 neon instruction class SIMD misc.
04fca67 Add dyn_cast<> support to YAML I/O's IO class
e2058ff Added BlockFrequencyInfo::view for displaying the block frequency propagation graph via graphviz.
3f4c031 Suppress llvm-cov.test on Win32, with REQUIRES: shell
0ea3ce9 Update emacs llvm mode.
082ac99 Implement AArch64 NEON instruction set AdvSIMD (table).
2999b2f Fixing a heisenbug where the memory dependence analysis behaves differently with and without -g.
4e7c22a Add simple support for tags in YAML I/O
4bd0224 llvm-cov: Slightly improved error checking.
131a764 llvm-cov: Removed StringMap holding GCOVLines.
dbb51ff llvm-cov: Replaced asserts with proper error handling.
0068062 Fixed 80+ violations.
7c94599 R600: Fix uninitialized variable usage
5aeb5e5 Take care of long short branch immediate instructions for mips16 in constant islands.
a2b4eb6 R600/SI: Add support for private address space load/store
b52bf6a R600/SI: Prefer SALU instructions for bit shift operations
eef8b8c llvm-cov: Changed XFAIL targets to be more generic.
86e37f5 Added basic unit test for llvm-cov.
f44941d add more comments around the delinearization of arrays
c9024c6 Path: Add tests for existing file magics.
e0573aa Whitespace.
7adae8e Revert my CMake patches concerning building with /MT (r194589, r194596)
dc9a217 Simplify code. No functionality change.
a305ffb Use StringRef instead of std::string
11966d7 [AArch64] Add support for legacy AArch32 NEON scalar shift by immediate instructions.  This patch does not include the shift right and accumulate instructions.  A number of non-overloaded intrinsics have been remove in favor of their overloaded counterparts.
4ac2e3c CMake: make building with /MT an option instead of always forcing it for release builds.
929bdb2 Enable generating legacy IT block for AArch32
e258845 cmake: link release builds statically against run-time library on windows (use /MT instead of /MD)
a9a8f0f DIEHash: Move header include to be first in the implementation file to flush out header inclusion ordering issues
541c5de [SystemZ] Add the general form of BCR
1a36261 Move Delinearization pass into an anonymous namespace.
43a0f39 Make sure LLVMLoadLibraryPermanently gets an extern "C" symbol.
0ab53c7 FileCheck: fix matching of one check-prefix is a prefix of another
de9a1a2 Remove AllowQuotesInName and friends from MCAsmInfo.
7af43e0 Don't call doFinalization from verifyFunction.
c0fad4d Fix bug in .gpword directive parsing.
1206f19 Support for microMIPS trap instruction with immediate operands.
4223b96 Fix -Wdelete-non-virtual-dtor warnings by making SampleProfile methods non-virtual
563b29f SampleProfileLoader pass. Initial setup.
7df6641 FileCheck: fix a bug with multiple --check-prefix options.
8b99622 XCore target: implement exception handling
cb92f8e Fix typo + add URL
c7ebe50 This patch fixes a bug in floating point operands parsing, when instruction alias uses default register operand.
d3df460 Add XFAIL:arm again on 4 MCJIT tests, since r194558. AArch64 has been left removed.
0700a80 Remove XFAIL:aarch64,arm from 4 tests in test/ExecutionEngine/MCJIT.
6c242d3 Mips16InstrInfo.cpp: Use <cctype> instead of <ctype.h>
4df21b1 Allow the code which returns the length for inline assembler to know specifically about the .space directive. This allows us to force large blocks of code to appear in test cases for things like constant islands without having to make giant test cases to force things like long branches to take effect.
950abf3 Add myself to CODE_OWNERS for the OCaml bindings
bf8b049 Add a test case to verify that misusing anyregcc crashes as expected.
429af0e Add another (perhaps better) video for Sean's talk. (Thanks Marshall!)
3c3f6be Fix a null pointer dereference when copying a null polymorphic pointer.
29f1788 R600: Fix selection failure on EXTLOAD
c7e77f9 SelectionDAG: Teach the legalizer to split SETCC if VSELECT needs splitting too.
cfe36cb Give folks a reference to some material on the fundamental design pattern in use here. Addresses review feedback from Sean (thanks!) and others.
f348c97 Introduce an AnalysisManager which is like a pass manager but with a lot more smarts in it. This is where most of the interesting logic that used to live in the implicit-scheduling-hackery of the old pass manager will live.
0d83334 Update the docs to match the function name.
20d7ed1 Removing llvm::huge_vald and llvm::huge_vall because they are not currently used, and HUGE_VALD does not appear to be supported everywhere anyways.
eb36024 Replacing HUGE_VALF with llvm::huge_valf in order to work around a warning triggered in MSVC 12.
3280665 Remove always true flag.
7107ade Cleanup the stackmap operand folding code and fix a corner case.
430b6eb improve dependence analysis testcases
5230ad6 delinearization of arrays
b8fc659 remove virtual methods in SCEVApplyRewriter and SCEVParameterRewriter
6c84f7a Fold (iszero(A&K1) | iszero(A&K2)) ->  (A&(K1|K2)) != (K1|K2) if we know that K1 and K2 are 'one-hot' (only one bit is on).
f3bd3ea FoldBranchToCommonDest merges branches into a single branch with or/and of the condition. It has a heuristics for estimating when some of the dependencies are processed by out-of-order processors. This patch adds another rule to the heuristics that says that if the "BonusInstruction" that we speculatively execute is used by the condition of the second branch then it is okay to hoist it. This change exposes more opportunities for other passes to transform the code. It does not matter that much that we if-convert the code because the selectiondag builder splits or/and branches into multiple branches when profitable.
714e04b [mips] Fix a bug in function CC_MipsO32_FP64. The second double precision argument was not being passed in $f14.
fe438bb [mips] Run test case with command line option -mattr=+fp64.
2a499a7 Add a FIXME for 32-bit q modifiers.
dc6b4b4 Protect user-supplied runtime library functions in LTO
59e648e ARM: diagnose invalid system LDM/STM
d4765aa [mips] Revert part of r194510 that was accidentally committed.
0a227ad [mips] Fix and re-enable a test case that has been disabled for a long time.
1ba15ab [OCaml] Dynamically link LLVM on --enable-shared builds
850b520 [OCaml] Fix a typo
46456f6 Corruptly merge constants with explicit and implicit alignments.
72c84a8 Export intrinsics:__builtin_arm_{dmb,dsb} to frontend
13c83a2 [AArch64] Implemented AdvSIMD scalar x indexed element format and AdvSIMD scalar copy in MC layer. Added the MC layer tests.  Fixed triple setting in test cases.
3e94418 Expand rotate instructions on sparcv9 as well.
0085d5e Simplify operand folding when rematerializing a load.
2f08e75 GraphViz CFGPrinter: wrap long lines.
4be0c59 whitespace
c47adf8 Revert "Remove unused variable."
67a404d Remove unused variable.
837dd95 R600: Reenable llvm.R600.load.input/interp.input for compatibility
9e2838e [mips][msa] Enable inlinse assembly for MSA.
f681437 SimplifyCFG: Use existing constant folding logic when forming switch tables.
92e94a2 [mips][msa] Fix buildbot failures caused by an unused variable when assertions are disabled.
bb47fd0 [mips][msa] Added support for matching bclr, and bclri from normal IR (i.e. not intrinsics)
2ca352d [ARM] Add support for FP_HP_extension build attribute
aee7825 [mips][msa] Added support for matching bset, bseti, bneg, and bnegi from normal IR (i.e. not intrinsics)
d656c91 [mips][msa] Change constant used in ori tests to avoid conflict with bseti (also xori to avoid bnegi)
47a4349 XCore target: fix bug in aligning 'byval i8*' on the stack
092815c XCore target test for hidden declaration
32e8528 Add XCore support for ATOMIC_FENCE.
c17ea93 XCore target: return error for unsupported alignment
3cda2d3 Change data structure to memorize computed result in ScalarEvolution
e26299d Correct a glitch in r194424 which may invalidate iterator.
c3f4491 Add new FileCheck feature to 3.4 release notes
0cbecb5 Revert "Added basic unit test for llvm-cov."
f42264e llvm-cov: Added call to update run/program counts.
d99e04d Added basic unit test for llvm-cov.
8624507 R600/SI: Change formatting of printed registers.
c6d4d66 Change the default branch instruction to be the 16 bit variety for mips16. This has no material effect at this time since we don't have a direct object emitter for mips16 and the assembler can't tell them apart. I place a comment "16 bit inst" for those so that I can tell them apart in the output. The constant island pass has only been minimally changed to allow this. More complete branch work is forthcoming but this is the first step.
161dd53 Extract a bc attr parsing helper that returns Attribute::None on error
e57a8a3 R600/SI: Add test that fails due to requiring i64 mul for pointers
e7e66cf Lower X86::MORESTACK_RET and X86::MORESTACK_RET_RESTORE_R10 in X86AsmPrinter::EmitInstruction, rather than X86MCInstLower::Lower.
01846af Fix the recently added anyregcc convention to handle spilled operands.
5a34980 Print new JavaScript calling conventions symbolically.
70a7d5d R600: Use function inputs to represent data stored in gpr
6c7a7c6   Fix PR17952.
5635de5 [mips] Partially revert r193641. Stack alignment should not be determined by the floating point register mode.
fe9ce42 Add support for DT_VERxxx and DT_MIPS_xxx .dynamic section entries to the llvm-readobj.
2531651 Change libLTO back to linking with @executable_path instead of @rpath.
d736763 CalcSpillWeights: allow overidding the spill weight normalizing function
ef572e3 [ARM] Add support for MVFR2 which is new in ARMv8
559d409 Fixing a problem with iterator validity in RuntimeDyldImpl::resolveExternalSymbols
07a5d3d [NVPTX] Properly handle bitcast ConstantExpr when checking for the alignment of function parameters
0df3ce3 [NVPTX] Fix logic error in loading vector parameters of more than 4 components
4c433cf [AArch64] The shift right/left and insert immediate builtins expect 3 source operands, a vector, an element to insert, and a shift amount.
095f994 CalcSpillWeights: give a better describing name to calculateSpillWeights
9533989 Unify the adding of enumerators with the construction of the enumeration.
6129002 Formatting.
62af0c2 80-col.
883ed6b Just pass the DIComposite type by value instead of by pointer.
30b2a19 [AArch64] Add support for NEON scalar floating-point convert to fixed-point instructions.
028e4d2 Vector forms of SHL, SRA, and SRL can be constant folded using SimplifyVBinOp too
12f06e1 [mips][msa] CHECK-DAG-ize MSA 3r-a.ll test.
e7a2133 [mips][msa] CHECK-DAG-ize MSA 2rf_int_float.ll test.
9d48b69 [mips][msa] CHECK-DAG-ize MSA 2rf_float_int.ll test.
4921d5b Move debug message in vectorizer
1b2034d [mips][msa] CHECK-DAG-ize MSA 2rf.ll test.
416a158 [mips][msa] CHECK-DAG-ize MSA 2r.ll test.
a2b3882c Add a testcase for pr17852.
f14bece Add PPC option for full register names in asm
877ca34 Simplify code. No functionality change.
fa6ab43 [OCaml] Add missing Llvm_target functions
786a43e [OCaml] Accept context explicitly in Llvm_target functions
26f3bd8 [OCaml] Make Llvm_target.DataLayout.t automatically managed
9683888 [llvm-c] Remove dead typedef
68eca1b Update of the 'Code Review' page. The link is now called 'Create Diff' instead of 'Create Revision'
85dfb8d [autoconf] Prune "runtime" stuff in configure, corresponding to r191835.
4590b8c [msan] Propagate origin for insertvalue, extractvalue.
40f6898 [NVPTX] Blacklist TailDuplicate pass
38fb3fa Don't universally enable initialiser lists on GCC.  Thanks for catching this Chandler
43ed63b Add LLVM_HAS_INITIALIZER_LISTS for upcoming C++11 support.  Use it in ArrayRef
65d1be1 AArch64: refactor vector list creation to be more uniform
a77da05 CalculateSpillWeights does not need to be a pass
a22657f Mark 36 tests as XFAIL:vg_leak in llvm/test/TableGen.
c48f086 Remove 6 of XFAIL(s) in llvm/test/TableGen, since r193736. They have been XPASSing.
855c29d Revert "Resurrect r191017 " GVN proceeds in the presence of dead code" plus a fix to PR17307 & 17308."
6d9e013 Use type form of getIntPtrType.
30150a1 SimplifyCFG has a heuristics for out-of-order processors that decides when it is worthwhile to merge branches. It tries to estimate if the operands of the instruction that we want to hoist are ready. This commit marks function arguments as 'ready' because they require no calculation. This boosts libquantum and a few other workloads from the testsuite.
20f1fe5 Use size function instead of manually calculating it.
9c41077 Resolve TODO in test now that filecheck has multiple check prefixes.
ee4f5ea Allow multiple check prefixes in FileCheck.
432bdf6 Teach MergeFunctions about address spaces
b831e13 IR: Refactor GEP range checks, reuse them for other parts of folding
9988ad4 Make method static
c5142c5 Fix missing C++ mode comment
328c61d Use variable for register name in test
50d3b27 Mostly finish up constant islands port for Mips for load constants. Still need to finish the branch part. Still lots more review of the code, clean up and testing.
1343fbc Remove some unnecessary temporary strings.
f008d34 [arm] Refine ARMBuildAttrs.h.
ea99884 [PM] Start sketching out the new module and function pass manager.
49837ef Move the old pass manager infrastructure into a legacy namespace and give the files a legacy prefix in the right directory. Use forwarding headers in the old locations to paper over the name change for most clients during the transitional period.
9defe9a This exposes the new calling conventions (WebKit_JS and AnyReg) via the C API by adding them to the enumeration in Core.h.
3481cdc Switch to allow implicit construction. In many cases, we're wrapping a derived type and this makes it *much* easier to write this code.
c197a3a Test the polymorphic behavior of this utility.
8caea72 Use something really explicit to test "move semantics" on builds without r-value references. I still want to test that when we have them, llvm_move is actually a move.
ca020d4 Add the critically missing 'clone' method. =]
cd7a191 Move the test type out of the function and into the anonymous namespace to fix C++98 builds.
aec4277 Add a polymorphic_ptr<T> smart pointer data type. It's a somewhat silly unique ownership smart pointer which is *deep* copyable by assuming it can call a T::clone() method to allocate a copy of the owned data.
332cbf1 include/llvm/CodeGen/PBQP: Update @param(s) in comments. [-Wdocumentation]
91935b8 Fix whitespace.
a91d7b1 Re-apply r194300 with fixes for warnings.
9583022 [mips] Make sure there is a chain edge dependency between loads that read formal arguments on the stack and stores created afterwards. We need this to ensure tail call optimized function calls do not write over the argument area of the stack before it is read out.
ceb0d9c Revert r194300 which broke the build.
d4f5a61 [Stackmap] Materialize the jump address within the patchpoint noop slide.
999ffb6 Revert "Move copying of global initializers below the cloning of functions."
ab6f27c Revert "Run clang-format on file."
fc93ae6 Rewrite the PBQP graph data structure.
623d2e6 [Stackmap] Add AnyReg calling convention support for patchpoint intrinsic.
d900b11 increase the accuracy of register pressure computation in the presence of dead definitions by using live intervals, if available, to identify dead definitions and proceed accordingly.
dc7eb3e X86: Assembly files with .cfi_cfa_def shouldn't hit llvm_unreachable()
de753f4 Fix some minor issues with r194282 to get the tree healthy again.
c87e438 Add a method to get the object-file appropriate stack map section.
ab09d1e Remove dead code from LoopUnswitch
d241fa7 Revert "CalculateSpillWeights does not need to be a pass"
f0c6ab6 [VirtRegMap] Fix for PR17825. Do not ignore noreturn definitions when setting isPhysRegUsed if the unwind information is required. Indeed, the runtime may need a correct stack to be able to unwind the call.
071a4f1 Make PrintAsmOperand call to the superclass to handle 'n' and 'c' operand modifiers.
663fcde CalculateSpillWeights does not need to be a pass
fffdcac Add ImmutableSet profiling info for 'bool'.
323ac85 ARM: fold prologue/epilogue sp updates into push/pop for code size
2b01682 [ARM] Handling for coprocessor instructions that are undefined starting from ARMv8 (Thumb encodings)
c5c991b [ARM] Handling for coprocessor instructions that are undefined starting from ARMv8 (ARM encodings)
fa840ba [ARM] Handling for coprocessor instructions that are undefined starting from ARMv8 (ARM encodings)
62ab265 Export MCDisassembler's SubtargetInfo, to allow architecture-aware disassembly
bf1757d CalculateSpillWeights cleanup: remove unneeded includes
c9af1ad Test for microMIPS trap instructions.
6af8781 llvm-ar: Let opening a directory failed in llvm-ar.
de71238 [mips][msa] Update encoding of LDI instruction.
1b91231 [ARM] In ARMAsmParser, MatchCoprocessorOperandName() permitted p10 and p11 as operands for coprocessor instructions, resulting in encodings that clash with FP/NEON instruction encodings
5f72591 Remove ^M from the file.
f9c692c IR: Properly canonicalize PointerType in ConstantExpr GEPs
0ab2058 IR: Do not canonicalize constant GEPs into an out-of-bounds array access
5ebdcd2 Run clang-format on file.
5d5f2c3 Move copying of global initializers below the cloning of functions.
9f47175 Support for microMIPS trap instructions 1.
0f0f1ac llvm-c/Support.h: Add a newline at eof.
1101cde Disable some code that is causing some warnings. It's in the process of being converted and this path is not relevant to anything at this time so I have just disabled it for a few days while I'm at the LLVM conference and don't have time to complete it or properly fix it.
bdd55d2 Add the fact that we anticipate switching to use (some subset of) C++11 after the 3.4 release to the release notes. See the *lengthy* llvmdev and cfe-dev threads on this subject. There will be more emails, discussion and announcements, but I want to make noise in as many places as I can to get everyone's concerns voiced and understood.
69239a9 R600: Fix LowerUDIVREM
1b484ab [AArch64] Remove NEON from "generic" CPU target.
4411ba0 Add DT_VERSYM dynamic table entry tag definition.
d975a82 [SystemZ] Handle vectors in getSetCCResultType
02707cb Add test case for PR12377, it was fixed by r194116.
573a231 [llvm-c] Add parameter names in Target.h for C99 compliance
2263a2c Implement gpword directive for mips, test case added. Stype changes using clang-format are also included.
54edcc2 Add newline at EOF in DynamicLibrary.cpp
1acb212 [llvm-c] Improve TargetMachine bindings
92198d4 [llvm-c] Specify explicit namespace in LLVMLoadLibraryPermanently
e669e09 [llvm-c] Correctly check for existence of native AsmParser, AsmPrinter, Disassembler
43b2558 [llvm-c] Add functions for initializing native AsmPrinter, AsmParser & Disassembler
87265f9 [llvm-c] Expose LLVMLoadLibraryPermanently
ec7270c [OCaml] Impement Llvm_irreader, bindings to LLVM assembly parser
c6099db [llvm-c] Expose IRReader interface
ba0c7cd [OCaml] Implement Llvm.string_of_llvalue
14bbb1d [llvm-c] Implement LLVMPrintValueToString
7851bc1 Fix definition for Mips16 pc relative load word instructions.
8458f37 Implement AArch64 Neon instruction set Perm.
2581152 Implement AArch64 Neon instruction set Bitwise Extract.
10bb82e Rewrite SCEV's backedge taken count computation.
c86cf04 Remove another unused, and IMHO, not very desirable feature of ErrorOr.
c9080b7 Get rid of current calculation function and adjustment scheme from MipsConstantIslands.
dc8224d Slightly change the way stackmap and patchpoint intrinsics are lowered.
14cfb10 Get rid of all references to soimm in MipsConstantIslands pass because we don't have such an operand. Suprisingly enough, this is never actually accounted for in the ARM version when determining offset ranges. In both places there is the comment: -    // FIXME: Make use full range of soimm values. (soimm = shift operand immediate).
1fa282d Cleanup getUserOffset. Issues related to inline assembler length and alignment will be handled differently than in ARM constant islands.
f635ab8 ARM: permit bare dmb/dsb/isb aliases on Cortex-M0
5f5095e Convert comments to documentation comments (// -> ///)
af9e8e6 Use error_code in GVMaterializer.
3ff3a8a Implement AArch64 Neon Crypto instruction classes AES, SHA, and 3 SHA.
e05744b Convert FindFunctionInStream to return an error_code.
f23af8b [objc-arc] Convert the one directional retain/release relation assert to a conditional check + fail.
04ae34b Provide a test input for opt
a83342b Silence GCC warning about dropping off a fully covered switch.
34b4a84 [OCaml] (PR16190) Add ValueKinds for ConstantDataSequential and subclasses
0fac3df [llvm-c] (PR16190) Add LLVMIsA* functions for ConstantDataSequential and subclasses
2251469 [OCaml] (PR10016) Add a few missing line in OCamlLangImpl2.rst
a2e6e6b Remove the word "thumb" from comments. Remove also an incorrect command regarding the porting from the ARM version (was an old comment).
c8ac229 [OCaml] (PR16318) Add missing argument to Llvm.const_intcast
150c95e [OCaml] (PR11717) Make declare_qualified_global respect address argument
8f198b0 X86 Disassembler: remove unused bool typedef-name
4d6b695 Suppress OS crash dialog in llvm-rtdyld
19648c0 [OCaml] Properly tag the custom operations of Llvm.llbuilder
9a62ec7 [OCaml] Llvm_linker: do not use external in module interface
c0e9800 Fix r194019 as requested by Eric Christopher. Submit the basic port of the rest of ARM constant islands code to Mips. Two test cases are added which reflect the next level of functionality: constants getting moved to water areas that are out of range from the initial placement at the end of the function and basic blocks being split to create water when none exists that can be used. There is a bunch of this code that is not complete and has been marked with IN_PROGRESS. I will finish cleaning this all up during the next week or two and submit the rest of the test cases. I have elminated some code for dealing with inline assembly because to me it unecessarily complicates things and some of the newer features of llvm like function attributies and builtin assembler give me better tools to solve the alignment issues created there. Also, for Mips16 I even have the option of not doing constant islands in the present of inline assembler if I chose. When everything has been completed I will summarize the port and notify people that are knowledgable regarding the ARM Constant Islands code so they can review it in it's entirety if they wish.
ddfc20d Fix symbol defines in config.h.cmake
f6157f0 Lift alignment restrictions on load folding for a significant portion of AVX instructions.
591c2f7 Implement AArch64 post-index vector load/store multiple N-element structure class SIMD(lselem-post). Including following 14 instructions: 4 ld1 insts: post-index load multiple 1-element structure to sequential 1/2/3/4 registers. ld2/ld3/ld4: post-index load multiple N-element structure to sequential N registers (N=2,3,4). 4 st1 insts: post-index store multiple 1-element structure from sequential 1/2/3/4 registers. st2/st3/st4: post-index store multiple N-element structure from sequential N registers (N = 2,3,4).
8263dcd Implemented aarch64 neon intrinsic vcopy_lane with float type.
f44533c Revert "llvm-cov: Added command-line option to change dir."
e6bfdf9 Revert "Added basic unit test for llvm-cov."
07a59fb Added basic unit test for llvm-cov.
d8acf00 llvm-cov: Added command-line option to change dir.
e85959c Support for reading run counts in llvm-cov.
23c8d2b Fix MSVC build by not putting an error_code directly in a union.
f94b348 Simplify ErrorOr.
c88eb08 Add a runtime unrolling parameter to the LoopUnroll pass constructor
225f35a Revert r194019 to r194021, "Submit the basic port of the rest of ARM constant islands code to Mips."
e53abc2 ARM: remove unnecessary state-tracking during frame lowering.
627ef0c AArch64: use default asm operand printing when modifier inapplicable
ba29378 Make sure we don't get a warning from this variable that is only used when compiling with DEBUG.
9157a7e Add the test case that goes with the previous submission for constant islands. I forgot to add it to svn on that patch. Ooops.
1ef9083 Submit the basic port of the rest of ARM constant islands code to Mips. Two test cases are added which reflect the next level of functionality: constants getting moved to water areas that are out of range from the initial placement at the end of the function and basic blocks being split to create water when none exists that can be used. There is a bunch of this code that is not complete and has been marked with IN_PROGRESS. I will finish cleaning this all up during the next week or two and submit the rest of the test cases. I have elminated some code for dealing with inline assembly because to me it unecessarily complicates things and some of the newer features of llvm like function attributies and builtin assembler give me better tools to solve the alignment issues created there. Also, for Mips16 I even have the option of not doing constant islands in the present of inline assembler if I chose.
6f744ee Remove dead code
3faf43f Check for both styles of clobbers, those produced by dragonegg and those produced by clang for the inline asm bswap conversion.
63d8f88 SLPVectorizer: Use properlyDominates to satisfy the irreflexivity of a strict weak ordering.
896a885 Fix another constant folding address space place I missed.
eba6d38 Scalarize select vector arguments when extracted.
da666ab [docs] Add link to 32-bit ARM ELF supplement.
42f2a6b Use startswith_lower() where possible.
2e58f1d Add support for AVX512 masked vector blend intrinsics.
827ffff Rename testing case to use - instead of _.
e076b53 Change BitcodeReader to use error_code instead of bool + string.
5c04216 Support for microMIPS branch instructions.
6a907f8 AVX-512: fixed a typo in builtin name
00e3be6 X86: Add a description for AMD bdver3 aka Steamroller.
fa0da86 Make the pretty stack trace be an opt-in, rather than opt-out, facility. Enable pretty stack traces by default if you use PrettyStackTraceProgram, so that existing LLVM-based tools will continue to get it without any changes.
4ebe64a [OCaml] implement Llvm_passmgr_builder, bindings for PassManagerBuilder
6b84161 [OCaml] Documentation
8a3bdd6 [OCaml] Implement missing LLVMCore APIs
e5de63c [OCaml] Formatting
633f98b AVX-512: added VPCONFLICT instruction and intrinsics, added EVEX_KZ to tablegen
ec346c1 SLPVectorizer: Add a missing pair of parens. No functionality change.
fcd5e86 [SparcV9] Handle i64 <-> float conversions in sparcv9 mode.
0c7ba3c SLPVectorizer: When CSEing generated gathers only scan blocks containing them.
16d1098 Revert "Inliner: Handle readonly attribute per argument when adding memcpy"
4286407 Spell "Actual" correctly
f00a9e0 [OCaml] Implement Llvm.MemoryBuffer.{of_string,as_string}
88d74c3 [OCaml] Fix ABI incompatibility
9d33bf7 [OCaml] Implement Llvm_linker, bindings for the IR linker
1185582 [OCaml] Implement Llvm_vectorize bindings
6ca1789 [OCaml] Refactor Llvm_target tests
fed0b34 [OCaml] Llvm_target: fix typo (Int_val instead of Int64_val)
5e45051 [Sparc] Expand FP_TO_UINT, UINT_TO_FP for fp128.
30288ac [OCaml] Llvm_scalar_opts: add missing transforms
630109d [OCaml] Llvm_ipo: add missing transforms
208130f Convert calls to __sinpi and __cospi into __sincospi_stret
cb01efb Enable optimization of sin / cos pair into call to __sincos_stret for iOS7+.
11cecbe [SparcV9] Add ctpop instruction for i64.  Also, expand ctlz, cttz and bswap.
d6b6425 Configure with --enable-terminfo=no for Apple's llvmCore builds.
153d619 Add a comment to note that LLVMDisablePrettyStackTrace() is likely not a good long-term solution.
35a1e94 When LLVM is embedded in a larger application, it's not OK for LLVM to intercept crashes.  LLVM already has the ability to disable this functionality.  This patch exposes it via the C API.
bc884fd move getSymbolNMTypeChar to the one program that needs it: nm.
66b8ec5 Convert another use of getSymbolNMTypeChar.
1b6c8d1 Avoid some getSymbolNMTypeChar uses in COFFObjectFile.cpp itself.
7e56fc6 Revert "Don't use getSymbolNMTypeChar for implementing COFFObjectFile::getSymbolFileOffset."
30c8dc8 Don't use getSymbolNMTypeChar for implementing COFFObjectFile::getSymbolFileOffset.
9bbc7b4 SLPVectorizer: Remove duplicated function.
ff566d8 LoopVectorize: Remove quadratic behavior the local CSE.
bd2affe A better fix that also works on ppc: add a target tripple.
e62e056 Fix this test to pass on darwin now that llvm-nm is working.
6152f7d Fix llvm-nm to mach OS X's nm on some tests.
9d293f1 Fix PR17764
daaa8b7 Added command-line option to output llvm-cov to file.
bc28e88 LoopVectorizer: Move cse code into its own function
31ed50c Comment some and reformat for clarity beginFunction.
96bf70c DebugInfo: regenerate test case from Clang to adjust for fixes/improvements
f477582 LoopVectorizer: Perform redundancy elimination on induction variables
4b1d68b DebugInfo: Improve readability of test case added in r193878
84b418a DebugInfo: add a test case for data member locations (coverage for r193835)
81d0b3c Fix a test case broken by r193872
cc14cb3 Add comments.
2e110c3 DebugInfo: Make pubnames header printing similar to unit header printing
26cc826 [Stackmap] Remove erroneous assert.
7a59def Use isa<> instead of dyn_cast<> with unused value
13034b4 [AArch64] Simplify a few of the instruction patterns. No functional change intended.
d6e488d [AArch64] Fix assembly string formatting and other coding standard violations.
19794da Remove linkonce_odr_auto_hide.
307cfae Commenting out this assert because it is causing the build bots to fail.  This effectively reverts r193861, but needs to be fixed as part of r193769.
8d13de3 Fixing an order of evaluation error in an assert.
7208b07 LoopVectorize: Look for consecutive acces in GEPs with trailing zero indices
6186de5 [ARM] Add Virtualization subtarget feature and more build attributes in this area
479a2de [ARM] Fix Tag_ABI_HardFP_use build attribute
e14fb07 Consider (x == -1) unlikely in BranchProbabilityInfo
0097e15 LoopVectorizer: If dependency checks fail try runtime checks
d272a12 LoopVectorizer: Clear all member data structures in RuntimeCheck.reset()
9fd6ef2 OCaml bindings: fix typo
40a461d OCaml bindings: remove unused DONT_BUILD_RELINKED from Makefiles
56ca8b3 Use \01 to disable the mangler. Should fix the 32 bit windows bots.
3d841cb OCaml bindings: fix typo
e239d20 OCaml bindings: fix typo in documentation
dfc58e3 OCaml bindings: formatting This commit only changes comments and documentation in OCaml bindings. The official name of the language is OCaml, and the usage is now consistent.
9b93392 DebugInfo: Emit member variable locations as data instead of expressions in blocks
6f45b1f Add to the disassembler C API output reference types for Objective-C data structures.

git-subtree-dir: llvm
git-subtree-split: dcaab3b6818ff5421c7880527ce5f4f13b7daaee
Merge with LLVM trunk.
Squashed 'llvm/tools/clang/' changes from 6d61978..93574ce

93574ce [analyzer] The patch prevents the analyzer from crashing during CFG dump.
9c07d7a [CMake][MS] libclang: Invalidate LLVM_EXPORTED_SYMBOL_FILE to suppress LNK4197.
ebb8f4d clang-format: Treat "." in protos like namespace separators.
6c3ae05 Change a dyn_cast from r199794 to a straight cast
296a4e5 Introduce and use Decl::getAsFunction() to simplify templated function checks
8a4d3a8 Add basic checking for returning null from functions/methods marked 'returns_nonnull'.
e0da023 clang-cl: make /Zp a Joined option (PR18503)
af5a751 Add a test file missed from r199782.
0d77970 Enforce restrictions that 'main' is not allowed to be deleted, or to be used by the program, in C++. (We allow the latter as an extension, since we've always permitted it, and GCC does the same, and our supported C++ ABIs don't do anything special in main.)
69da841 ObjectiveC driver. change to reinstate -fno-objc-legacy-dispatch behavior when the deployment target is 10.5. // rdar://15852259
dbcfdd6 Build an appropriate (albeit trivial) TypeSourceInfo for a destructor name, so AST consumers can determine where the destructor name was written. Patch by Olivier Goffart!
f2af173 When formatting a C++-only declaration name, enable C++ mode in the formatter's language options. This is not really ideal -- we should require the right language options to be passed in, or not require language options to format a name -- but it fixes a number of *obviously* wrong formattings. Patch by Olivier Goffart!
d7a617a Delay attribute checking until auto types are deduced
8e5a73f Correct various uses of 'argument' that in fact refer to function parameters
8b969a8 Fix regression in r197623: only diagnose a by-copy capture of an incomplete type if the capture is, actually, by copy.
a19edf4 Teach Clang to look in its installation libdir for libraries (such as libc++) when the installation is within the system root.
4e2aa20 MSVC ABI: Support C++11's auto on variables
045c4ee Correct the function name shown in diagnostics in warn-thread-safety-analysis.c
aeff128 Debug info: use the file a typedef is defined in as its decl_file instead of the current compilation unit. As a side effect this enables many more LTO uniquing opportunities.
0627310 revert 199757 for buildbot breakage.
5f7dfbf Debug info: use the file a typedef is defined in as its decl_file instead of the current compilation unit. As a side effect this enables many more LTO uniquing opportunities.
1b35da0 Fix -Wsometimes-uninitialized in r199754
003a2d7 Add -m16 option for using x86-*-*-code16 triple
8af7ecd clang-format: Enable formatting for .proto and .protodevel files.
e3b724a Macho-embedded: fix tests after last rename
110c371 Macho-embedded: rename compiler-rt support from Darwin-embedded
a63f66f clang-format: text following #if is likely an expression.
eb9453d Neither attribute overloadable nor enable_if are supported by GCC. Disable the GCC warning about attributes on function definitions for both of them.
51cd00a Use private linkage for utf-16 objc strings too.
f682032 Now that r199688 avoids the real issue, use private linkage for objc strings.
61c5a77 Simplify expression, made possible by r199702.
5f83225 Revert "CodeGen: Simplify CodeGenFunction::EmitCaseStmt"
5972ab3 Update FunctionTypeLoc and related names to match r199686
e6d04f3 Stop linking with crt1.o etc. for the iOS simulator. <rdar://problem/11800973>
68aa3e1 Give explicit sections for string constants used in NSStrings.
c50bf3d Rename FunctionProtoType accessors from 'arguments' to 'parameters'
55c1c8a Simplify further.
015f92d ObjectiveC driver. reinstate -fno-objc-legacy-dispatch behavior when the deployment target is 10.5. // rdar://15852259
4da7eb6 Adding a bit of documentation that was missed with r198883 (when ParseArgumentsAsUnevaluated was added).
d3760b5 Exposed a declarative way to specify that an attribute can be duplicated when merging attributes on a declaration. This replaces some hard-coded functionality from Sema.
1e6097c Remove some hard-coded specialness for thread-safety attributes from the parser, and made it more declarative. If an attribute is allowed to appear on a function definition when late parsed, it can now use the FunctionDefinition attribute subject. It's treated as a FunctionDecl for most purposes, except it also gets exposed on the AttributeList so that it can be used while parsing.
d1ee17a clang-format: Properly format custom options in protocol buffer definitions.
6a1431e Formatting cleanups; no functional changes.
a22e23f Add a triple. Should fix the 64 bit bots.
5d16dd6 Make the test more strict.
26b75d3 Fixing a typo (turned out to be harmless since the default priority values are the same between the two attributes).
63cb238 Remove virtual methods that were added in 2009 and still had 1 implementation.
a87fc4e Since the diagnostics engine understands Attr objects, this code is no longer required -- we can just pass in the attribute directly.
0f76ae8 Making some minor improvements to r199626.
d247b83 HasFunctionProto is a more strict version of FunctionLike. Since attribute subjects are inclusive (passing a single subject test means no subject-related diagnostic will fire), these two subjects should not be combined.
afb38bc clang-format: Leave 2 empty lines in Google's JavaScript style.
f35eeda [ARM] Add ACLE enum/wchar size predefines
cb2efbd [CMake] Apply ADDITIONAL_HEADERS introduced in r199639.
cd5271e Add the test trees that were supposed to be part of r199632.
1e3683e Make the Linux support for finding libc++ somewhat less braindead.
e936a1d PR18551: accepts invalid strong enum to bool when operator! is used
6ff751e Wire up basic parser/sema support for attribute 'returns_nonnull'.
cc118c8 These attributes are no longer "checker-specific."
213c6aa MSVC 2013 type trait support
410b2d8 Fix nothrow trait with multiple default constructors
919d683 PR18544: don't assert that 'operator new' is not declared inside a namespace; such an assert will fail in invalid code that does so!
fc63dd2 [CMake] Deprecate CLANG_RUNTIME_OUTPUT_INTDIR and CLANG_LIBRARY_OUTPUT_INTDIR.
16b0e2b [CMake][Standalone] Redefine LLVM_RUNTIME_OUTPUT_INTDIR and LLVM_LIBRARY_OUTPUT_INTDIR to point appropriate target directories.
75d7038 [CMake] Prune LLVM_TOOLS_DIR and LLVM_LIBS_DIR in clang/test/CMakeLists.txt. They are overridden in configure_lit_site_cfg().
e265a88 clang-format: Better support and testing for protocol buffers.
5ae20ad [CMake] check-clang requires clang-tblgen. It is not required by anyone when external CLANG_TABLEGEN is specified.
c25cfa9 clang-format: Fix ObjC block as first call parameter formatting.
b975a2b Harden InitListExpr::isStringLiteralInit() against getInit() returning null.
f84cc8a Fix comment typos
02f8b61 docs: clarify the role of compiler-builtin type trait primitives
4ba2d8c Make unreferenced f-group options anonymous
caad0da Try to fix this link.
3bd957c Driver support for -fdebug-types-sections
0ee11e1 Refactor ABI argument lowering a little
1ee6ed2 Restrict redeclaration of tags introduced by using decls to MSVCCompat
c511df6 Use switch statements in preparation for adding more architectures.
d02a1fc PR12788: Remove unnecessary and incorrect special case for indirect fields. This caused us to skip a step that was essential for correct access control.
5276b5c Fix string-literal to char* conversion in overload resolution for C++11
74f6dc7 Don't allow 'this' within typedefs within classes that otherwise look like they might be member function declarations. Patch by Harald van Dijk!
bbd0295 clang-format: Don't break lines starting with "import <string-literal>"
7e0c411 [analyzer] Fix incorrect spelling of 'pthread_rwlock_trywrlock'.  Patch by Jean Baptiste Noblot.
b0734fd Adding a test case for nonnull being attached to something other than a function, Objective-C method, or parameter.
b693c9e Permit redeclaration of tags introduced by using decls
50f00a0 Fix a build-bot breakage for clang-modernize when run with the MSVC ABI
705dd5b Revert "Revert r199416, "MS ABI: Improve selection of an inheritance model""
d176857 Add more test cases for attribute 'objc_protocol_requires_explicit_implementation'.
c26905f Revert r199416, "MS ABI: Improve selection of an inheritance model"
a93d8a5 [analyzer] Teach NonNullParamChecker about 'nonnull' attributes on parameters.
d9f3258 Change CallEvent to use ArrayRef<> interface to get formal parameters of callee.
fa3074f Add ArrayRef<> interface to get the formal parameters of a BlockDecl.
f67c67f Tweak clang/test/PCH/modified-module-dependency.m for win32 hosts.
f5a99a4 Enhance attribute 'nonnull' to be applicable to parameters directly (infix).
a6204a9 Add ArrayRef<> interface to get the parameters of a FunctionDecl/ObjCMethodDecl.
b2d83f8 Push NonNullAttr inspection loop into CheckNonNullArguments.
60003d4 Make 'CheckNonNullArguments' a static function.  No functionality change.
73fae0d Refine diagnostic: attribute 'nonnull' applies to both functions and methods.
a5f3635 Kill off obsolete err_target_unknown_cxxabi diag
030bcf6 Make -cl-kernel-arg-info a cc1-only option like the others
a6261a6 Updating the minimum version information for Visual Studio.
326c70c Tweak test run line for readability
b3c1b83 Make -verify a -cc1 NoDriverOption
64037a9 Driver: Stub -Wa,-compress-debug-sections support for integrated-as with a suppressable warning
4f59393 PR18477: Create a function scope representing the constructor call when handling C++11 default initializers. Without this, other parts of Sema (such as lambda capture) would think the default initializer is part of the surrounding function scope.
d569529 Issue a warning if a throwing operator new or operator new[] returns a null pointer, since this invokes undefined behavior. Based on a patch by Artyom Skrobov! Handling of dependent exception specifications and some additional testcases by me.
b97b819 Split out -verify into two distinct option flags
b654b31 ms-intrin.cpp: add -Werror to the test
6dcb0eb Improve the error message when a PCH dependency is modified
7095c76 Debug info: Refactor NoLocation and ArtificialLocation to use a common base class and use it pervasively to restore debug locations. Fixes an interaction between cleanup and EH that caused the location to not be restored properly after emitting a landing pad. rdar://problem/15208190
f16bd49 Move away from 'general' / 'generalized' as a way of identifying C++11 attribute syntax. There's nothing generalized about this; it's one of several first-class attribute syntaxes we support, all of which are more-or-less equally general.
9934435 ms-intrin.cpp: no need for -verify anymore
daab90c Relax the ms-intrin.cpp test
16d6102 Add implementations of _cpuid and _xgetbv to Intrin.h
e0b111b Clean up variable template handling a bit, and correct the behavior of name lookup when declaring a variable template specialization.
31d0217 Consumed analysis: bugfix for operator calls.  Also fixes some formatting issues, a few testcases, and kills fish.
c2fc506 Remove an unnecessary special case to check for a few Darwin-specific options.
fada097 MS ABI: Improve selection of an inheritance model
c435593 When generating Spelling enumeration values, do not generate identifiers in the reserved namespace. Strip underscores as appropriate, taking care to not create duplicate identifiers.
b889277 clang-format: Improve formatting of ObjC Blocks with return type.
619ef7e Giving a spelling to the Override attribute, and commenting on the absence of a spelling for a few implicitly-only attributes. No functional change intended.
5e21db7 [analyzer] Shitfing a constant value by its bit width is undefined.
f6e50b2 www: update the "Follow what's going on" section too
95f1f55 SPARCv9 implements long double as an IEEE quad.
74e8f14 www: link to the planet clang newsfeed
c454ecd Fixing a warning that causes the sanitizer build disliked about mixing && and ||. Since this is generated code, the && has been removed from the expression entirely.
a4d82fb [ASan] Enough to have llvm-symbolizer in $PATH.
0e00e327 Factored some function-like type reasoning out of SemaDeclAttr and onto Decl itself. This allows for more declarative subjects in attribute tablegen where the attribute appertains to something function-like, but not strictly a FunctionDecl.
9acaea0 [ASan] Typo fix (symbolize=0 disables online symbolization)
f49c8de [ASan] Describe online/offline symbolization of reports, mention dsymutil.
92f586d Giving the asm attribute some keyword spellings based off of GCC's documentation. No functional changes.
5914278 Distinguish between attributes explicitly written at the request of the user, and attributes implicitly generated to assist in bookkeeping by the compiler. This is done so by table generating a CreateImplicit method for each attribute.
b52564a Sema: Fix crash during member pointer conversion involving incomplete classes
92df514 [asan] Remove -fsanitize-address-zero-base-shadow command line flag from clang, and disable zero-base shadow support on all platforms where it is not the default behavior.
034ee6a clang-format: Enable formatting of lambdas with explicit return type.
6bd37ee MachO: use *-*-*-macho for MachO embedded targets.
6749b86 Forbid driver use in Sema tests
a9a8a2a Disable and XFAIL a test that never worked
f8c5e99 Remove support for armv7f slice. <rdar://problem/12478440>
bb0ec7b Ensure i686-nacl long long is aligned 8 bytes (like malign-double)
93de7bb Make -fno-inline attach NoInline attribute to all functions that are not marked as AlwaysInline or ForceInline.
2ff5a1e [analyzer] BlockCall shouldn't really be an AnyFunctionCall.
a966b85 [analyzer] Print function name when dumping its CFG.
fe63cbf clang-format: Fixed formatting of JavaScript container literals
ca37012 Fix for PR9812: warn about bool instead of _Bool.
beab85a Move a bunch of tests to directly use the CC1 layer. This at least saves a subprocess invocation which is pretty significant on Windows. It also likely saves a bunch of thrashing the host machine needlessly. Finally it makes the tests much more predictable and less dependent on the host. For example 'header_lookup1.c' was passing '-fno-ms-extensions' just to thwart the host detection adding it into the compilation. By runnig CC1 directly we don't have to deal with such oddities.
254052a Switch this test from needlessly running the clang driver to directly test the CC1 layer.
5ca6690 This code block wasn't showing up in the html. Try this?
2ae28d1 replace LeakSanitizerIsTurnedOffForTheCurrentProcess with __lsan_is_turned_off, but this time hide it under __has_feature(address_sanitizer); also include <sanitizer/lsan_interface.h>
41afb42 CodeGen: Simplify CodeGenFunction::EmitCaseStmt
ff2b662 Fix the attribute enable_if example in the docs to be 100% real-world, instead of merely being close to the real world to mislead people. This now matches the test.
5cdfd15 Fix cxx_variable_templates feature check and documentation
44f1206 Fixed error recovery if sizeof is used without parenthesis
b13e4cc Rename QA_OVERRIDE_GCC3_OPTIONS to CCC_OVERRIDE_OPTIONS. <rdar://14578381>
d26b544 lit.cfg: Don't expand %ms_abi_triple to non-X86 triples
3169a29 ObjectiveC. Improve on diagnostics per Jordan's feedback.
93f7458 Teach DeadStoresChecker about attribute objc_precise_lifetime.
c474ff6 Use i686 as the ISA in %microsoft_abi_triple on ARM
2e4b64c Improve comment.
cc4f262 ObjectiveC. add comment.
560d124 Driver: clarify help string for "-###"
2910821 ObjectiveC. produce more expressive warning when -Wselector detects an unimplemented method used in an @selector expression. // rdar://15781538
11b1b8a Remove the -cxx-abi command-line flag.
b5df35c Darwin: add __sinpi (etc) and __exp10 libbuiltins
623afe6 Clarify driver/frontend -fms-compatibility help text
cc6bd54 Remove unused function to fix clang -Werror build
3e520c2 Simplifying the OpenCL image attribute. It does not need a semantic integer parameter because the required information is encoded in the spelling. Added an appropriate subject to the attribute, and simplified the semantic checking (which will likely be expanded upon in a future patch). Also, removed the GNU spelling since it was unsupported in the first place.
d2076ba CFG: use Visit instead of VisitStmt to look through parens.
9ae66a4 [analyzer] Use synthesized ASTs for property getters when available.
37a0260 Use a proper lvalue-to-rvalue conversion in Objective-C++ property accessors.
dfedf30 Update CodeGen to use DLL storage class for dllimport/dllexport
379c854 Clarify the LibTooling.rst a bit
60dd240 Switch around the order of MSVCCompat and MicrosoftExt
ab3d595 Rename language option MicrosoftMode to MSVCCompat
3fc6fc8 [OpenCL] Disallow casts between address spaces.
5a5eb2b clang/test/Index/recursive-cxx-member-calls.cpp: Add "-target" rather than XFAILing.
73f36fe Remove trailing spaces
cc6af3a clang-format: Fix bug introduced in r198871.
2fd36db Disable this test for windows builders
6d01cca Switch to ssize_t from size_t to unbreak windows builders.
56ea94e Sema: Predefine size_t in MSVC Compatibility mode
77d9fae This test is passing on SPARC.
b9cd022 Puny 24-byte structs are returned by value on SPARC.
0d4b168 Update feature name "Generalized Attributes" to match the heading in the paper.
dc25150 Remove a temporary workaround that is no longer relevant.
03e5063 Removing some attribute magic related to the OpenCL keyword attributes. Instead of mapping them to their semantics as a custom part of the parser, they instead map declaratively through the rest of the attribute system.
af1a29e [ms-abi] Small Change to pack+alignment interaction.
5bfe745 [ms-abi] Remove duplicated vbptr offset code
95c2c29 Consumed analysis: add two new attributes which fine-tune the behavior of consumable objects.  These are useful for implementing error codes that must be checked.  Patch also includes some significant refactoring, which was necesary to implement the new behavior.
8477f60 [ms-abi] Report VBPtrOffset correctly
018e6ea [ms-abi] Always generate complete constructors in the Microsoft C++ ABI
d18d151 [ms-abi] Reordering __declspec(align) pragma pack handling
b44435d clang-cl: Ignore /fallback when not actually compiling (PR18456)
66991f8 LLVM's CMake is now using a feature that wasn't preasant in CMake 2.8.7, so bump the minimum version in the standalone Clang CMake project as well.
3af611a Adding myself as the code owner for the attribute subsystem.
80c13e8 Teach the standalone Clang CMake bits about the flag to force using an old toolchain to build. The toolchain version is now checked in HandleLLVMOptions.
48ccbb6 When determining the attribute's parsed kind, pay attention to the syntax used. This fixes bugs where an attribute has differing GNU and Declspec spellings, but they are treated as the same. Eg) __declspec(aligned) when it should be __attribute__((aligned)), and __attribute__((align)) when it should be __declspec(align).
6c7a44f __forceinline is a keyword, and not a GNU-style attribute. This FIXME appears to be out-dated, and the attribute syntax is becoming more important these days.
e08e25e Updating the attribute declarations to have the correct syntaxes. This means giving a __declspec spelling to: deprecated, naked, noinline, noreturn, and nothrow. uuid has no GNU spelling, so it was switched to __declspec. dllexport and dllimport both are now supported with GNU spellings.
ab76d2f There is no such thing as __attribute__((align)); that's a __declspec attribute. Fixing these test cases to use the proper spelling for their syntax.
d03479e CodeGen: Clarify a comment about PGO in case statement ranges
1a92b70 CodeGen: Rename adjustFallThroughCount -> adjustForControlFlow
d1361b3 CodeGen: Introduce CodeGenPGO::setCurrentRegionUnreachable
f1c6bf3 CodeGen: Remove a superfluous setCurrentRegionCount
5e50e11 CodeGen: Remove some unnecessary braces
4a95f51 [ms-abi] Leading VFPtrs don't suppress the leading zero sized flag
9804482 Use the MS ABI for Win32 targets by default
8bba005 Update tests in preparation for using the MS ABI for Win32 targets
47ee1fd [ms-abi] Quick fix layout of an array of records
324f835 Follow-up to r199120: don't try referencing the dtor if the param decl isn't valid.
b6c90f5 Update for getLazyBitcodeModule API change.
dd99856 Hook up NetBSD/aarch64.
787819c [analyzer] Add a CFG node for the allocator call in a C++ 'new' expression.
1100380 [ms-cxxabi] Elide dtor access checks for pass-by-val objects in callees
ad00536 clang-format: Fix corner case with comment in ctor initializer.
52a87cd clang-format: Don't indent relative to ./->.
8222c1a [PM] Update Clang to reflect LLVM r199095 which moves the core DomTree algorithms and datastructures into the fully generic support library, separating them (almost) entirely from the LLVM IR. This makes the reliance on domtrees here *much* cleaner.
8b5da20 [cleanup] Update the include of Dominators.h to reflect its move to the IR library in LLVM r199082.
e82a341 [PM] Update Clang to reflect the new header for the bitcode writer pass added in LLVM r199078.
8ae2b52 [CMake] Move BUG_REPORT_URL from clang to llvm.
e6d5794 Rename target i386-linux-android to i686-linux-android
9fe6f3f Add help text for -MMD, -MD, -MM, -M, -MF.
a2b345a DynamicASTMatchers/VariantValueTest.cpp: It works with msvcrt since setmode(stderr, O_BINARY) were removed.
7d0b439 Delete inaccurate doc comment - isVariadic is long gone
bab5223 Clarify warn_cxx98_compat_attribute diagnostic
9e3ee34 [PM] Update the creation of an IR printing pass to reflect the API update in LLVM r199044.
c23c89d [PM] Update Clang to follow the header rename in LLVM r199041.
6316508 SPARC passes non-trivial C++ objects indirectly like everybody else.
23039ad MIPS and SPARC assemblers both take the -KPIC flag.
38d04e3 test case hygiene.
3180f2b Make helper function static.
b5ba2e8 Select the UltraSPARC instruction set when invoking the assembler.
c7809ce Whoops! Fix major think-o in the first example in the documentation that I edited at 3am.
c8cd634 Add a new attribute 'enable_if' which can be used to control overload resolution based on the values of the function arguments at the call site.
99d7f9f Use the appropriate SourceLocation for the template backtrace when doing template argument deduction.
daffa2c PR12208: Under -fno-elide-constructors, don't forget to actually copy an NRVO variable to the return slot. Patch by David Wiberg, with test case alterations by me.
c3a5420 [ms-abi] Change the way alignment is tracked
740314b Fix "regression" caused by updating our notion of POD to better match the C++11 rules: instead of requiring flexible array members to be POD, require them to be trivially-destructible. This seems to be the only constraint that actually matters here (and even then, it's questionable whether this matters).
d51b71c [ms-abi] Adjusting Rules for Padding Between Bases
ce314dc Use the simpler version of llvm::sys::fs::remove when possible.
0cd538a Downgrade bogus ExtWarn on duplicate 'friend' specifier to a Warning, and add a Warning for a duplicate 'constexpr' specifier.
f0708ca [analyzer] Model getters of known-@synthesized Objective-C properties.
33ab4d0 ObjectiveC. Remove warning on mismatched methods which may belong to unrelated classes. It was primarily intended for miuse of @selector expression. But warning is too noisy and will be issued when an actual @selector is used. // rdar://15740134
7acc8e1 Implement -m32 and -m64 with llvm::Triple functions.
a572af6 Remove unexpected code completion handling from ConsumeToken()
771f9fc Enable -fuse-init-array for all AArch64 ELF targets by default, not just linux.
b445db3 Use 'w' instead of 'c' to represent the win32 mangling.
d014f65 Update LangOpt descriptions
6fd9642 TryConsume parser cleanups
2ba698c clang-format: Slightly adapt line break in edge case.
609e20d Use the right dynamic linker for SPARC Linux executables.
d359c20 reapply r198858: Disable LeakSanitizer in TableGen binaries, see PR18325; this time LeakSanitizerIsTurnedOffForTheCurrentProcess is used instead of __lsan_is_turned_off
d89a6c2 clang-format: Understand ObjC boxed expressions.
7de1d6c Locate GCC installations on SPARC systems.
d85e5f7 Make the tautological out of range warning use Sema::DiagRuntimeBehavior so that the warning will not trigger on code protected by compile time checks.
fa6b968 Give the linker the right ELF type for SPARC targets.
d8d1a19 Pass -32/-64 to the assembler when building for sparc/sparc64.
d7f64c9 [ms-abi] Handle __declspec(align) on bitfields "properly"
1eb0de2 CGRecordLayoutBuilder.cpp: Clarify if-else. [-Wdangling-else]
3556124 ObjectiveC. 1) Warn when @dynamic (as well as synthesize) property has the naming convention that implies 'ownership'. 2) improve on diagnostic and make it property specific. 3) fix the line number in the case of default property synthesis. // rdar://15757510
51910c6 Reapply r198845, reverted in r198849, with a fix to make it valid C++98, not just valid C++11 =)
4df754d [ms-abi] Fixing CGRecordLayoutBuilder w.r.t. MS NonVirutalBase Layout
27db771 Updating documentation for the __has_attribute changes landed in r198897.
51b58b3 __has_attribute now understands target-specific attributes. So when you ask whether an ARM target has the "interrupt" attribute, it will return true for ARM and MSP430 targets, and false for others.
f78f966 Removing the notion of TargetAttributesSema and replacing it with one where the parsed attributes are responsible for knowing their target-specific nature, instead of letting Sema figure it out. This is necessary so that __has_attribute can eventually determine whether a parsed attribute applies to the given target or not.
d2223f4 Fix ast-dump-color.cpp test following r198883
e232ece Use getPointerSizeInBits.
e166f7f Preserve -fretain-comments-from-system-headers in modules
5e244ee Have attribute 'objc_precise_lifetime' suppress -Wunused.
082a4b9 Attempting to appease the build bots on systems with ansi escape sequences.
e00b552 Revert "Disable LeakSanitizer in TableGen binaries, see PR18325"
80c26c2 Removing a bit of custom parsing functionality used by the thread safety analysis APIs. Now using tablegen to determine whether an attribute's arguments should be parsed in an unevaluated context instead of relying on a separate, hard-coded list of attributes.
aacbad2 clang-format: Add @s when breaking NSString literals.
e485bcb clang-format: Understand #pragma mark
3a93ede clang-format: Some tweaks to braces list formatting:
3e2101f The OpenCL specification states that images are allocated from the global address space (6.5.1 of the OpenCL 1.2 specification). This makes clang construct the image arguments in the global address space and generate the argument metadata with the correct address space descriptor.
371bac9 check-clang: Add dependencies to PrintFunctionNames and SampleAnalyzerPlugin, for r198747 and r198820.
d2d3c54 Disable LeakSanitizer in TableGen binaries, see PR18325
d5a05dd Fix leak in lib/CodeGen/CGException.cpp, PR18318
f85faee In areVectorOperandsLaxBitCastable() allow bitcast between a vector and scalar.
2578d50 Revert "PR18427: Use an appropriately-aligned buffer in APValue, to avoid a crash on"
a1e0fb8 PR18427: Use an appropriately-aligned buffer in APValue, to avoid a crash on SPARC, where uint64_t apparently requires higher alignment than void*.
87639c3 Update Clang's CFGBlock interface to conform to the strange part of LLVM's Value interface which is used in LLVM's DominatorTree analysis and which changed in LLVM r198836.
65c2086 Fix the clang -Werror build after r198818
4e8e2e8 PR18401: Fix assert by implementing the current proposed direction of core issue 1430. Don't allow a pack expansion to be used as an argument to an alias template unless the corresponding parameter is a parameter pack.
cdb7256 [ms-abi] Fixed failing lit test.
fa369b0 Add a test for Static Analyzer checker plugins
ed12142 [ms-abi] Refactor Microsoft Record Layout
008748c Used the DataLayout methods instead of the Module methods.
f58822d Implement isCXX11FinalKeyword() in terms of isCXX11VirtSpecifier()
4b0a4ee Attempting a fix the build bots should be happier with. Amends 198804.
b4583e3 Silencing an MSVC warning about control reaching the end of a non-void function.
33b7329 Ensure that ENABLE_SHARED is substituted for use in Windows builds
e8ec194 [Serialization] In ASTReader::getInputFile record it when we didn't find the file to avoid looking it up again.
4274e6e [analyzer] Warn about double-delete in C++ at the second delete...
5b153bb clang-format: Don't hang forever when encountering a stray "}" in an @implementation block.
d57e973 clang-format: Fix spacing in Cpp11 braced lists:
03748d2 Treating the RegParmAttr as a TypeAttr because that is what it is.
8da8f6b Define ENABLE_CLANG_EXAMPLES instead of relying on BUILD_EXAMPLES
4d45113 Prospective build fix for the Makefile system
be565cb Build fix following r198747
a82a9c0 Use -std=gnu89 in tools/c-index-test/CMakeLists.txt
3a47e45 Add tests for clang plugins
3dc9e80 For AArch64, support builtin neon vector type with 'long' as base element type.
0289ca2 RP18408: If a member template is used as a template template argument, it does not cause the template specialization to have no linkage.
cf96e54 PR18400: ignore cv-qualifiers on the underlying type of an enumeration.
68ff130 [Driver] Fix a typo in the setting of the arch name when -arch x86_64h is used. <rdar://problem/15711488>
b0602bb PR18234: Mark a tag definition as invalid early if it appears in a type-specifier in C++. Some checks will assert in this case otherwise (in particular, the access specifier may be missing if this happens inside a class definition, due to a violation of an AST invariant).
eebee8f Re-applying r198699 after reverting r198461. Debug info: Implement a cleaner version of r198461. For symmetry with C and C++ don't emit an extra lexical scope for the compound statement that is the body of an Objective-C method.
da45f59 Revert "Debug info: Ensure that the last stop point in a function is still within"
b9b5b2c Revert "Debug info: Implement a cleaner version of r198461. For symmetry with"
d758e07 [analyzer] Files with .c extensions are still C++ files if the compiler is CXX.
e5a3d59 [analyzer] Pointers escape into +[NSValue valueWithPointer:]...
52993f1 [analyzer] Remove unused ARCNotOwnedSymbol retain count return effect.
b043bda Updating the documentation about how to add attributes based on the rather extensive refactorings that have happened over the past several months.
78e269e [cmake] Write Version.inc at cmake time, not at build time.
292f579 Debug info: Implement a cleaner version of r198461. For symmetry with C and C++ don't emit an extra lexical scope for the compound statement that is the body of an Objective-C method.
efa9e16 Shorten the output of `clang-format --version`, include revision number.
470dad7 Remove unused include.
105b419 Update Clang for the move of headers in r198688.
4b9be6e Sort all the #include lines with LLVM's utils/sort_includes.py which encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.
0e5eb62 For areVectorOperandsLaxBitCastable(), only return false if both opearands are vector types and add a diagnostic when the operand is a vector and non-scalar value.
f772b2e Fix a -Wparentheses warning from GCC that caught a badly formed assert.
1a1b5e3 CodeGen: Include llvm/Config/config.h for strtoll on Windows
38ba282 Fix 'unkown' typo in test -target from r198321
86d3c1c update comment.
4f2e281 Bring back magic constants in the digraph diagnostic
c447571 Implement a new -fstandalone-debug option. rdar://problem/15685848 It controls everything that -flimit-debug-info used to, plus the vtable type optimization. The old -fno-limit-debug-info option is now an alias to -fstandalone-debug and vice versa.
24b6a6d ObjectiveC. Computation of offsets when doing @encode type encoding is only used in an assert. Do not do it if assert is not on.
967ae56 clang/test/CodeGenCXX/instr-profile.cpp: Appease -Asserts.
d7b4d53 CodeGen: Sentences end with a period
0f607e9 Properly sort CMake list.  NFC.
e0e019f CodeGen: Initial instrumentation based PGO implementation
f4c386b Driver: Accept -fprofile-instr-use and -fprofile-instr-generate
9d73b93 Prospective MSVC 2010 build fix
b8951e7 Correct underlying integer type of enum TokenKind
e669b01 Simplify diagnostic tag type using the token kind formatter
600d282 Don't use magic constants in the digraph diagnostic
14e7185 Support diagnostic formatting of keyword tokens
7616830 Rename getTokenSimpleSpelling() to getPunctuatorSpelling()
1402547 Highlight the previous underlying enum type when diagnosing a mismatch
fe945a3 Diagnose enum redeclarations properly
5e3c8ac Use token kind instead of '%select{.|->}0' in diagnostic
0030717 Apply some LLVM_READONLY / LLVM_READNONE on diagnostic functions
052cd2e [OpenCL] Produce an error if an address space is used on the return type of a function.
b6b8aeb This helper method isn't needed, and it's unsafe for it to use StringRef in the first place. Replaced the unsafe code with the proper accessor.
4a40e17 clang-format: Spacing inside enum braces.
8ca67b5 clang-format: Allow formatting short enums on a single line.
0a1a3e4 Fix 'declartion' typos
1af37cb Pre-declare '::type_info' in MicrosoftMode only, not MicrosoftExt
726bbab Tweak the parse recovery in r198540
be4a5cc Fix bungled parse recovery in K&R function declarations
c33eba8 Parse: Token consumption modernization and loop de-nesting
39be08d Revert "ToolingTest.cpp: Fix r158592, runToolOnCode.FindsNoTopLevelDeclOnEmptyCode on msvc. LangOpts.MicrosoftExt still appends "class type_info;"."
9330588 Move MS predefined type_info out of InitializePredefinedMacros
759afce Only mark dump() function definitions 'used' in debug builds
f984df7 Add an additional check in test/Sema/ext_vector_casts.c
1bdeff8 [analyzer] Remove IdempotentOperations checker.
3f44479 [Sema] When checking if a bitcast is appropriate between vector types, take into consideration the num-of-elements*width-of-element width.
c4a3768 Ignore qualified templated functions for -Winfinite-recursion.  This treats functions like Foo<5>::run() the same way as run<5>() for this warning.
1f67ffd [ms-cxxabi] Improve vbtable name mangling accuracy
d22d777 Debug info: Ensure that the last stop point in a function is still within the lexical block formed by the compound statement that is the function body.
09e3c5f Refactored Builtin::Context::isPrintfLike and isScanfLike into a helper function. The implementations are identical, except for the format arguments being searched for.
f336279 Fix 80 col violation.
7af0ab3 Pass the decl directly to the diagnostic, no need to call getDeclName().
78b5475 Fixing a FIXME; the RetTy template parameter is always bool in practice, and so it has been removed. No functional changes intended.
4d5e057 Update for llvm's DataLayout including mangling information.
ff9faa9 Marked the default constructor as an LLVM_DELETED_FUNCTION.
877dac8 Removed one of the string versions of getQualifiedNameAsString, and switched over to using printQualifiedName where possible. No functional changes intended.
ee82f63d [objc] Refactor and improve functionality for the -Wunused-property-ivar warning.
b88a33a Reformat the description strings. No functionality change.
983e980 We haven't cared about VS 2005 in a long time, and VS 2003 in even longer.
73926cc Fixed a FIXME; created a print method for Selectors that accepts a raw_ostream, and started using it in places it made sense.
0e29729 Make clang::ento::CreateAnalysisConsumer a part of a public interface of the static analyzer.
ee6c0ca Simplifying the mutual exclusion check now that the diagnostics engine knows how to handle Attr objects directly. Updates an associated test case due to the attribute name being properly quoted again.
0ffdff8 [OpenCL] Add test case for previous commit.
3e02453 Using the proper helper function instead of manually doing this work. No functional changes intended.
5eac44f Removing some more unnecessary manual quotes from diagnostics.
92d75ef Removing an unneeded typecast. getScopeRep() already returns a NestedNameSpecifier.
5589388 Removing some more unnecessary manual quotes from diagnostics.
41e9c26 [OpenCL] Variables in the constant address space must be initialized.
9862565 Removing some more unnecessary manual quotes from diagnostics.
08b3500 It turns out the problem was a bit more wide-spread. Removing a lot of unneeded typecasts. getScopeRep() already returns a NestedNameSpecifier.
d688df0 Removing an unneeded typecast. getScopeRep() already returns a NestedNameSpecifier.
fe17b20 Removing some more unnecessary manual quotes from diagnostics. Updated the related test case to ensure correctness.
471fbba clang-format: Recognize single-line macro usages inside macros.
710b1af Removing some more unnecessary manual quotes from diagnostics.
8cd6e65 Removing some more unnecessary manual quotes from attribute diagnostics.
aa81229 Removing some more unnecessary manual quotes from attribute diagnostics.
742b9bc [analyzer] Don't track return value of NSNull +null for retain/release tracking.
79edf2b Removing some more unnecessary manual quotes from attribute diagnostics.
ed3dcfa Remove unused variable to fix clang warning
d376a04 [ms-cxxabi] Move VBTableBuilder from CodeGen over to AST/VTableBuilder.cpp
a84ef36 Removed an unnecessary %select from the alignas diagnostics. The attribute already knows how it was spelled.
339acf1 This diagnostic should not have had the manual quotation marks. Its only usage passed in an Attr object, which was already quoted when printing the diagnostic. However, there was no test case that caught this bug -- one has been added.
4d297c3 Removing some more unnecessary manual quotes from attribute diagnostics. Updated the associated testcase because QualType pretty printing was an improvement.
4418a4e Removing some more unnecessary manual quotes from attribute diagnostics.
60aca0e Reworded the NSObject attribute diagnostics to be more consistent with other attribute diagnostics. Also updated the associated test case.
c0861a0 ObjectiveC. Remove false positive warning for missing property backing ivar by not issuing this warning if ivar is referenced somewhere and accessor makes method calls. // rdar://15727325
a6ce0a8 Removing some manual quotes from this diagnostic, since the AST diagnostics engine knows how to handle NamedDecl objects.
9a2e6eb Updated the wording of two attribute-related diagnostics so that they print the offending attribute name. Also updates the associated test cases.
fb2ed83 Objective-C ARC++: Prefer references to __strong/__weak over __unsafe_unretained.
231eb81 CMake separate projects: finish output-directory changes.
63608d2 [CMake] Add missing set_output_directory after Takumi's change in r198205.
383b07c Using the quoted version of an attribute name for consistency with other attribute diagnostics.
c2f5c3c ObjectiveC. Class methods must be ignored when looking for property accessor's missing backing ivar. This eliminates the bogus warning being issued. // rdar://15728901
788ec09 Add test for r198311.
1ce81f5 CMake: Unbreak separated LLVM/Clang project builds for Xcode.
ed93035 Remove a tab that snuck in.
b073bdf In the FreeBSD assembler driver, inform the sparc assembler that we're producing PIC code.
e2ba1f6 Added an option to avoid splitting certain kinds of comments into lines.
2a030a3 Verify that clang TargetInfo descriptions match DataLayout strings from LLVM
65f5b90 Remove the now unused 's' specifications.
073024c Pass the aapcs and apcs features down to llvm.
baf47f1 [OpenCL] The kernel attribute can only be used on functions.
c8a1cf9 Update the copyright credits -- Happy new year 2014!
a321748 Remove an unused diag left over from r198046
12e1f5d Eliminate UnaryTypeTraitExpr
ca70f4f ExpectAndConsume: Diagnose errors automatically
f1c0e48 [OpenCL] Produce an error, instead of a warning, for sizeof(void) in OpenCL.
28010ae Recover from errors in enum definition
3770da5 Silence g++ 4.9 build issue
0e39d5d Switch over more of the parser to err_expected
2b0d1d3 Update DataRecursiveASTVisitor so that it visits attributes.
6f7ba5a Fix two typos in comments. No functionality change.
e2bb727 Remove linkage macro from the CXLanguageKind enum
484c793a Update RecursiveASTVisitor so that it visits attributes.  This is currently important for thread safety attributes, which contain expressions that were not being visited, and were thus invisible to various tools.  There are now Visit*Attr methods that can be overridden for every attribute.
4459380 Changed the test to avoid EXPECT_EQ(false, ...), which leads to -Wconversion-null warning in GCC.
98426e8 [CMake][VS][XCode] Restruct the output directory layout more comfortable, ${BINARY_DIR}/${BUILD_MODE}/(bin|lib)
9b94cd4 Port r198088 (set NO_DEAD_STRIP for clang) from make to cmake.
23b03d9 For AArch64 Neon, simplify scalar dup by lane0 for fp.
30559b6 Fix and reword some typos
fb6edef Cleanup: Switch the preprocessor to err_pp_expected_after
4eabbac Don't use PrintFunctionNames.exports on Windows.
708d1c6 Fix typo in comment.
88ea39c [cmake] Set in LLVM_EXPORTED_SYMBOL_FILE PrintFunctionNames/CMakeLists.txt.
7424552 Use LLVM_EXPORTED_SYMBOL_FILE in libclang's cmake build.
aa5066b Fixing a compile error that recently started happening for me in MSVC 2013. CFGTerminator has an explicit conversion to bool operator that we can make use of instead of using == 0.
ad1e7dd Briefly document diag-build.sh
f86a72a Rename isBuiltinCall() to getBuiltinCallee()
f47bcae Tidy up CGCXXABI creation
bd62d2f Propagate "-arch x86_64h" setting to the linker. <rdar://problem/15711488>
a75e190 Silence a dubious GCC warning about a set but unused global. Indeed, the purpose of this global is to be set and not used. =]
305448f Set NO_DEAD_STRIP for clang after llvm r198087.
b4ecba3 Move MS header search test inputs to Inputs/
de3a53a Reduce indentation of some VFTableBuilder code.
4f1d76f Silence compile warning by removing unused SourceMgr member
75d7d8f Implement MSVC header search algorithm in MicrosoftMode. Follows algorithm described here: http://msdn.microsoft.com/en-us/library/36k2cdd4.aspx
73a80cc Fix incorrect copy-pasted method decl that MSVC allowed.
936deec [ms-cxxabi] Emit fewer trivial return adjusting thunks
fc8b6e6 In an effort to reduce the likelihood of text getting out of sync, reusing the text from some diagnostics explicitly. No functional changes intended.
1d96748 Removed a string literal for a diagnostic, and updated the diagnostic to not manually quote. No functional changes intended.
89be6ed Bury leaked pointers in a global array to silence a leak detector in --disable-free mode
0cbb292 clang-format: Break default arguments less eagerly.
9d67128 Warn on mismatched parentheses in memcmp and friends.
667f331 [ms-abi] unix-line endings in lit test, no functional change
a99cea3 [ms-abi] Fixes improperly sized vfptrs with pragma pack
574efb0 Teach the diagnostics engine about the Attr type to make reporting on semantic attributes easier (and not require hard-coded strings). This requires a getSpelling() function on the Attr class, which is table-driven. Updates a handful of cases where a hard-coded string was being used to test the functionality out. Updating associated test cases for the improved quoting.
1cb2713 Removed a string literal for an attribute name, which means the attribute name will be quoted in the diagnostic. Manually added some quotes to a diagnostic for consistency. Updated the test cases as appropriate.
2528169 This diagnostic did not accept arguments, and did not have any test coverage. Parameterized the diagnostic, and made it more consistent with other attribute diagnostic wordings. Added test coverage.
fd2587c s/getter_setter/accessor No functional changes intended.
324ec1a Simplifying some diagnostics so that they don't need to work with StringRefs. No functional changes intended.
d8cadcb Getting rid of a string literal in favor of the generalized diagnostic.
70f0e46 Parameterizing some MS property-related diagnostics. No functional changes intended.
3fdbcee No need for the manual quotes and extra getName() call. No functional changes intended.
7853e32 Removing some unneeded code, and a diagnostic that was obsoleted. The type has already been determined to be a ValueDecl by virtue of the attribute subjects.
a693f7d Don't reserve __builtin_types_compatible_p as a C++ keyword
81a389d Add some missing test cases for ACLE intrinsics of AArch64 NEON.
e7b27e8 Add a FIXME to a failing test.
0ee107b clang-format: (WebKit) Disallow 1-line constructors with initializers.
af9a02c Support and use token kinds as diagnostic arguments
2a59b1c Document the Message parameter of getCustomDiagID()
eab7314 remove dead code.
d5e04a5 Fix another misuse of getCustomDiagID()
13573a9 clang/Analysis/FlowSensitive/DataflowSolver.h: <functional> should be just a STL header.
f2f628a Consolidating some mode attribute diagnostics. No functional changes intended.
a60f712 clang-format: Fix invalid write discovered by ASAN.
83a2703 Add a missing pipe in the test from r197896
e8da95f TextDiagnosticBuffer: Fix copy-paste mistake in r197856
537ef0a clang-format: Fix various problems in formatting ObjC blocks.
a148803 [AArch64]The compare to zero intrinsics should be implemented by 'icmp/fcmp' and 'sext' not 'zext'. Modify the implementation by replacing zext with sext.
8db0486 Make some f_Group definitions anonymous and test an alternative spelling
c047507 Removing the alloc_size attribute. The attribute was semantically handled, but silently ignored. Most of this feature was already reverted in June 2012 (r159016), this just cleans up the pieces left over.
c45cdf7 The const and nothrow attributes can be handled by the simple attribute handler. This removes a silent dropping of the attributes when they are duplicated on a Decl.
a2cd743 Fix getCustomDiagID() usage in CodeGen and TextDiagnosticBuffer
f834515 Fix getCustomDiagID() usage in example code
7510c83 Add -Winfinite-recursion to Clang
4ba9423 [CMake] clang/lib/Headers: Install just-generated ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h, instead of copied arm_neon.h.
4050e7e Assert that tag decls are never marked (in)valid after definition is complete
573f9a1 Use this one little trick to prevent optimizers from removing an intentional stack overflow.
fe0f2e1 Don't mark record decls invalid when one of its methods is invalid, PR18284.
2a50f23 Eliminate the ItaniumVTableContext object from CodeGenVTables
ba52d9d DebugInfo: Do not include implicit members (implicit special members, template instantiations, etc) in the list of members of a structure.
487a104 Remove obsolete preamble FIXME
6d984eb Override the datalayout in a module with -triple.
97679f3 Compare canonical return types when generating MS C++ ABI vtable thunks
8f4c85b Move the TargetMachine instance into EmitAssemblyHelper
af8a030 clang-cl: Support /P and /E (preprocess to file or stdout)
b50a091 Remove an outdated statement about debugging optimized code.
1fbd511 Document the -fno-limit-debug-info switch in the man page.
67e05a1 Enable layering check in unavailable modules.
8c37a89 clang-format: Better support for multi-line wide string literals.
cab205c [analyzer] Use DataRecursiveASTVisitor for the AnalysisConsumer.
3ed99f0 Move tools/libclang/RecursiveASTVisitor.h -> include/clang/AST/DataRecursiveASTVisitor.h
bd9d971 [libclang/python] Add CompilationDatabase.getAllCompileCommands to the python bindings.
c3390c0 Serialize source range info for TypeTraitExpr.
70ec449 Correctly compute the size in bytes of PreambleFileHash.MD5
3c11b64 Add a test I forgot to svn add in r197755
6662406 ASTUnit::getMainBufferWithPrecompiledPreamble: use MD5 hash of the remapped files to tell if they were changed since the last time we have computed the preamble
74a06fa Simplify code
0104d12 [analyzer] Fix test in previous commit to account for compiler warning.
83f5cbf Wordsmith "maybe" into "may be" in diagnostic, and move warning under flag.
b7d549d [analyzer] Always use 'bool' as the SValBuilder condition type in C++.
45e0c0d Remove dead code identified by Aaron Ballman.
531dac1 After discussing with John McCall, removing the ns_bridged attribute as it is unused.
20ed9c6 clang-format: Add special case for leading comments in braced lists.
f7c844e Reverting r197715 -- it appears that MSVC is happy with the code, but clang is not.
b6bcab8 No longer leaking Argument objects after calling createArgument. However, since an OwningPtr cannot live in a std::vector yet, there are some manual deletions that have a FIXME attached to them. These will go away once C++11 support is allowed.
3a0032d [CMake] Tweak r197697 to handle CMake finding the wrong llvm-config/tblgen.
e0407eb Type attribute do not get an AST node by default, so these statements can be removed (it's inherited automatically from TypeAttr).
51a6448 Removing the SourceLocation unused attribute argument type.
42a9de9 ObjectiveC. Sema test for property, methods 'section' attribute. // rdar://15450637
85d4cc9 check-clang: Suppress LLVM_LIT in add_lit_testsuite, for now.
a8aedbc Small simplification: p0 is the same as p.
a9eaebe clang-format: Increase penalty for breaking comments.
3af1b87 [CMake][Standalone] Rewrite standalone build based on llvm-config. CLANG_PATH_TO_LLVM_*(s) are deprecated.
009c155 Fix comment typo.
c75c5e6 clang-format: Slightly adapt decision of when to break before <<.
786dff2 [CMake] check-clang: Include ClangUnitTests if it can be built. Check existence of gtest.h then.
d5c802c [CMake] check-clang: Append items to CLANG_TEST_DEPS rather than set. CLANG_TEST_DEPS can be set in parent scope.
b6c6527 [CMake] check-clang: Deprecate --path, according to r197576.
341a645 Switching getAttrs calls over to using a specific_attr_iterator. No functional changes intended.
c9d0dcc Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value.
886611f Switched code from using hasAttr followed by getAttr to simply call getAttr directly.
b9d5ec1 Hosting a call to getAttr so that we don't call it multiple times for the same attribute. Also removes a hasAttr that's not required. No functional changes intended.
1d0132b Fix usage description of clang-format-diff.py.
1119310 Update SI datalayout for 32-bit private pointers
e5e1f35 Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value.
73b8843 On spacv8 f128 is only aligned to 64 bits.
ba2cde9 Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value.
5d3df2f Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value. Also fixes some minor formatting issues surrounding the getAttr code.
97915e5 Replacing calls to getAttr with calls to hasAttr for clarity. No functional change intended -- this only replaces Boolean uses of getAttr.
051e237 PCH: fix a crash caused by a circular deserialization dependency
c4da93c Simplify CXXMethodDecl::isVirtual() for __interface case
1e41456 Debug info: (Bugfix) emit CRV qualifiers for pointers to member functions. rdar://problem/15678916.
d538866 [ms-abi] Update Alignment for VtorDisps
9be81e1 Added a comment about the launch_bounds attribute's AST node being required. Since there were no test cases for the attribute, some have been added. This promptly demonstrated a bug with the semantic handling, which is also fixed.
6adb540 Refactor the Microsoft inheritance attribute handling so that it no longer has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes.
264ee6d Fix the DataLayout string produced by clang for NaCl.
00374d1 Implemented delayed processing of 'unavailable' checking, just like with 'deprecated'.
227d205 Use getAsCXXRecordDecl to shorten some gets and casts
1ba0a8e ObjectiveC. support "section" attribute on properties and methods. rdar://15450637
ee698e8 Require the type of a by-copy capture to be complete before creating its field.
0150571 Add a test for mipsel-nacl too.
b23eb1c Enhance OpenMP parser tests from r197553 / r197598
9e18818 Debug info: Implement (rvalue) reference qualifiers for C++11 non-static member functions. Paired commit with LLVM.
1f1b084 Allow Objective-C pointer conversions following an explicit user conversion.
1b63f0d clang-format-diff.py: fix -regex/-iregex matching
2dd9321 Objective-C. After providing a fix-it for a cstring, converted to NSString, produce the matching AST for it. This also required some refactoring of the previous code. // rdar://14106083
6d27724 Make setABIAPCS and setABIAAPCS easier to reason about.
42a5145 Split setABI in two helpers. No functionality change.
7742deb Fix OpenMP recovery with trailing tokens following the pragma
7211ea4 Revert "[OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and parens"
d4956c1 Adding a win32-targeted test into Tooling/multi-jobs.cpp, to make sure it doesn't get broken again (prompted by NAKAMURA Takumi)
9fc6116 check-clang: Fixup r197576, to replace CMAKE_CFG_INTDIR on clang_tools_dir.
4799606 OpenCL: Do not force 64 bit floats for (embedded) targets with only 32bit floats.
79d1e6a ObjectiveC. Fixes the sentence in a diagnostic. // rdar://15397430
b99d980 clang-format parts of the file.
5810819 Implement the MSABI and SysVABI calling conventions for Objective-C method declarations. This appears to be an omission from r189644.
d8741e2 Adding some comments about AST node requirements for attributes which create AST nodes but never actually make use of them. No functional changes.
7851dae Whitespace cleanup.
e0738f6 Remove OpenCL-specific type keywords and specifiers
24215ff Add -f64:32:64 to the darwin ppc32 DataLayout.
d6c4dfd check-clang: Introduce clang_tools_dir in lit.site.cfg, for clang separated from llvm.
fc69275 clang/test/CMakeLists.txt: Prune CLANG_SOURCE_DIR and CLANG_BINARY_DIR. They are set at top.
9b6aa6a clang-format: Fix indentation corner case.
a582422 [OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and parens
b610ae0 clang-format: Fix ObjC method expr in binary expressions.
877652a Use arm-nacl-gnueabi instead of arm-nacl to match the previous tests.
d9ac927 Split this test into one per supporter nacl arch.
668221f Print the 'p' specification before the 'i' specification.
ba16319 Fix comment-code function name mismatch
fd08b9f clang-format-diff.py: add the OpenCL file extension
0e19df9 ObjectiveC. typo fix in my last patch, per Jordan's review.
a11a957 Add a 's' specifications to AArch64.
a1800cf Move some more test-and-consumes over to TryConsumeToken()
c922df9 Objctive-C. warn if dealloc is being overridden in a category implementation. // rdar://15397430
bd28dd9 Documentation comment parsing: when checking if we have typedef to something that we consider a function for the purposes of checking \param and \returns, look through reference types.
75c2118 Documentation comment parsing: allow \param and \returns on std::function, boost::function and similar function-like objects
ce6f709 None of these attributes currently make use of an AST node, so setting ASTNode = 0 to reduce complexity. No functional change intended.
119b48a Use triples that match the -target-abi option.
4ab1368 Use the integrated assembler by default on FreeBSD/ppc and ppc64.
395336d [ms-cxxabi] The 'most derived' ctor parameter usually comes last
0f00360 Documentation comment parsing: rearrange tests to clarify the intent of these tests
fdd4d03 Fix line endings in microsoft-dtor-lookup-cxx11.cpp
7fe35ba Objective-C. Make diagnostics and fix-its consistent when diagnosing casting of a cstring literal to NSString in default and -fobjc-arc mode. // rdar://14106083
9f14d0b Fix strange indentation and remove trailing whitespace on empty lines
ef50ac0 Bring order to the OpenCL keywords
9c80cbc [ms-cxxabi] Don't do destructor check on declarations if the dtor is deleted
f4cc791 Fix indentation from r197490 plus some typos
35acee1 Remove -f128:128 from the DataLayout strings. It is the default.
129d233 The PS3 is a ppc64 and has 64 bit registers. Update DataLayout accordingly.
cd85af2 Remove -f16:16:32 from the XCore DataLayout string.
26e65ce Refactor and micro-optimize ConsumeToken()
19f1317 Simplify RevertibleTypeTraits as a form of contextual keyword
3c9eb4a Update comment of changed parameter of ModuleMap constructor.
7653b23 clang-format: Don't adapt local format to macros.
ffbfc07 LIBRARY_PATH environment variable should only be supported on a native compiler.
bbb6664 Add missing file from r197485.
71b119c Modules: Don't warn upon missing headers while reading the module map.
d94fb6a [CMake][Standalone] Import LLVM_LIT_TOOLS_DIR.
cbe774b [CMake][Standalone] Fix llvm-tblgen's directory to use LLVM_TOOLS_BINARY_DIR instead of LLVM_BINARY_DIR.
bd7a2fb [CMake][Standalone] Fixup r197395 for standalone build.
5f391fd ASTContext: Refactor implicit record creation
b961a5c Add a test for -fno-diagnostics-fixit-info
b2b5d02 ObjectiveC migrator. Fixes a bug when protocol conformance is inferred. // rdar://15515206
ea8113b For -Wconsumed, walk the namespaces to find if the top most namespace is "std" to determine if a move function is the std::move function.  This allows functions like std::__1::move to also be treated a the move function.
8a95424 Reorder these DataLayout entries to match the order LLVM uses.
dc72d23 clang/lib/Headers/CMakeLists.txt: Revert part of r197395. It should not be staged yet.
2bd61e7 The preferred alignment defaults to the ABI one. Omit it if it is the same.
d07586a Remove another default I missed before.
bfa7a3f ObjectiveC. Further improvements of use of objc_bridge_related attribute; eliminate unnecessary diagnostics which is issued elsewhere, fixit now produces a valid AST tree per convention. This results in some simplification in handling of this attribute as well. // rdar://15499111
db087c6 Clang DataLayout string cleanup: don't print other defaults.
2c39dcb Remove dead data.
250e083 Clang DataLayout string cleanup: don't print the pointer defaults.
ffe22cd Clang DataLayout string cleanup: don't print the aggregate defaults.
ae7040c Fix PR18260 - Make std::move handling in -Wconsumed only trigger on std::move
8bf0d16 Clang DataLayout string cleanup: don't print the vector defaults.
e934696 In a standalone Clang build, default to building tests, like LLVM does
9a42fed Clang DataLayout string cleanup: don't print the FP defaults.
0c22b1f Clang DataLayout string cleanup: don't print the integer defaults.
a95302e Misc test cleanups.
f05e49e Revert "Maybe add new warning for shadowing simple tag types"
c40714a Make Sema::BuildCXXNestedNameSpecifier correctly clear the previous CXXScopeSpec when necessary while performing typo correction. This fixes the crash reported in PR18213 (the problem existed since r185487, and r193020 made it easier to hit).
fed1c6f Maybe add new warning for shadowing simple tag types
e13e3bb Support EABIHF environment on ARM.
afbb59c GNUEABIHF is the same as GNUEABI for anything not float/double related, so use the same exception size as GNUEABI does.
707f07e [AArch64] Fix v1fx patterns for Floating-point Multiply Extend and Floating-point Compare to Zero.
a796d1e Add bit_FXSAVE as an alias for bit_FXSR, for gcc compat.
aa58952 [CMake] Introduce CLANG_RUNTIME_OUTPUT_INTDIR and CLANG_LIBRARY_OUTPUT_INTDIR.
1f69f4c clang-format: Keep trailing annotations together.
7807f00 Revert "Modules: Make missing headers in a module.map a warning not an error."
013d811 Modules: Make missing headers in a module.map a warning not an error.
74a1c67 Always break before the colon in constructor initializers, when BreakConstructorInitializersBeforeComma is true.
58c3231 Added -iregex for case-insensitive regex to filter file names.
3817e4b clang-format: Fix formatting of function type parameters.
51fb5c8 clang-format: Improve handling of raw string literals.
ff15547 Stop crashing on empty asm input constraints
6cbd772 Add tests for all DescriptionString in Targets.cpp.
88a4f54 Delete dead code.
fef4032 Remove unused diagnostic.
b9b18ea Allow target-specific attributes to share a spelling between different attributes via the ParseKind field. Attributes will be given a common parsed attribute identifier (the AttributeList::AT_* enum), but retain distinct Attr subclasses.
7cec627 ASTContext: Declare builtin types implicitly
e3c64cd Lexer: Issue -Wbackslash-newline-escape for line comments
e2d0115 Fix test containing backslash and newline separated by space
aca7da3 Add triple to CodeGenCXX/2004-03-08-ReinterpretCastCopy.cpp in MS ABI mode
8f7aeb3 CompilationDatabase.cpp:stripPositionalArgs(): Match not "no-integrated-as" but "-no-integrated-as", it really fixes r197229.
7dff055 Remove 'not' from some CodeGen tests
b300e5b PR18246: When performing template argument deduction to decide which template is specialized by an explicit specialization, start from the first declaration in case we've got a member of a class template (redeclarations might not number the template parameters the same way).
849480d [objc] Add a test to make sure that a class can add a secondary initializer via a category and still inherit the designated initializers of its super class.
da46e89 Revert "Don't require -re suffix on -verify directives with regexes."
3f13c4e PR18232: implement instantiation for class-scope explicit specializations of class templates (a Microsoft extension).
52baba3 Don't require -re suffix on -verify directives with regexes.
b7d3698 Quick-Fix pointer arithmetic when performing multi-D new-array initialization.
191e9e3 Prepare for using MS ABI by default for Win32: update CodeGenCXX tests
a4ec8d0 Add a testcase and a FIXME for an accepts-invalid.
403a985 Detabify and fix formatting.
3fe0100 Consolidate DataLayout string testing in one file.
e03acf3 Remove an unused parameter and include after r197273
cbb29af Eliminate BinaryTypeTraitExpr
c614b2d Delete dead code.
8e190e6 Convert test to FileCheck.
88ebb79 Every target sets DescriptionString. Assert that.
eb6d791 Convert test to FileCheck
7c965ed Objective-C. Remove obsolete option from test. // rdar://15641300
f20b43f Use a: and s: instead of a0: and s0: in the DataLayout strings.
0209f56 Tighten test regexes checking for __attribute__((thiscall)) on function types.
665c732 Objective-C. Do not issue warning when 'readonly' property declaration has a memory management attribute (retain, copy, etc.). Sich properties are usually overridden to become 'readwrite' via a class extension (which require the memory management attribute specified). In the absence of class extension override, memory management attribute is needed to produce correct Code Gen. for the property getter in any case and this warning becomes confusing to user. // rdar://15641300
7a9c7c2 Convert test to FileCheck and make it more strict.
071d77a [analyzer] Add -analyzer-config to scan-build.
e3739cd Fix raw lex crash and -frewrite-includes noeol-at-eof failure
1366f26 [OpenCL] Produce an error when the work group and vec type hint attributes are used on non-kernel functions.
90c7cb4 Add a clang side test for pr18235 too.
f70d7cd ARM MachO embedded: fix test without FileCheck line
025b9aa clang-check to ignore -no-integrated-as because certain drivers can't handle it
cd2f1e9 Move the input files for the unnecessary-module-map-parsing test to Inputs.
0229d30 Move comment to its rightful place
c33f25b Refine 'objc_protocol_requires_explicit_implementation' attribute to better handle indirect protocols.
d4798ef Make 'CheckProtocolMethodDefs' a static function.
7171f14 Change 'method X in protocol not implemented' warning to include the name of the protocol.
9758c05 Make 'WarnUndefinedMethod' a static function.
3803363 [objc] If we don't know for sure what the designated initializers of the superclass are, assume that a [super init..] inside a designated initializer also refers to a designated one and do not warn.
da136dc [-cxx-abi microsoft] Remove trailing spaces from the mangler
df5c07c AST: Update URL for Itanium ABI spec
198d418 Move C++ destructor emission into CGCXXABI
0f4ce4c [-cxx-abi microsoft] Add commentary for mangleStaticGuardVariable
7802756 Revert "[-cxx-abi microsoft] Mangle reference temporaries"
3fcf158 Remove getVTT* in favor of getStructorImplicitParameter*
5184f04 Enhance "auto synthesis will not synthesize property in protocol" to include property and protocol name.
ff97893 [ms-abi] Fixing bitfields sema arror for ms-mode
b7428b6 PR18229: Fix typo in assert condition.
8f9f0c3 [-cxx-abi microsoft] Mangle reference temporaries
4248cee [ms-abi] Refactoring Non-virtual base layout in record layout
28d70e0 Replace use of Triple::getEnvironmentName with the simpler Triple::getEnvironment.
0e86943 Unify type trait parsing
92a1480 With the new update to the ABI, we should not look for installations of MinGW older than 4.7 with incompatible C++ libraries.
c99f8e7 Make this test pass on Release builds.
1858ef5 [Modules] Don't parse any module map if modules are disabled.
bafcbe8 Switch to the new MingW ABI.
c22be5d Avoid temporary std::string.
9797354 Don't return a pointer to a temporary std::string's c_str.
bc5e63b Simple refactoring to eliminate single-use local variable
5316b75 Refactor duplicate functions
e708539 Make thumb the default instruction set for v7m and v7em
8e7d2ed Fix -mthumb resetting of target cpu
4e5c2c0 Suppress -Wshadow / -Wold-style-cast expanded from system header macros
7b46150 Darwin-embedded: find correct libclang_rt for embedded targets.
f3da4d3 Add a test case for the PR17748 crash
802643d Fixed a typo
a6e925a Filter-out irrelevant command-line options in CommonOptionsParser.
293cb12 Implemented GNU-style formatting for compound statements.
1204f96 c-arcmt-test/Makefile: Fixup for LDFLAGS=-static on cygming, corresponding to r197116.
3a4fa76 Add more test cases for 'objc_protocol_requires_explicit_implementation'.
015e99a PR17602: check accessibility when performing an implicit derived-to-base conversion on the LHS of a .* or ->*. Slightly improve diagnostics in case of an ambiguous base class.
86d8bfe Update user manual to note that implementation for C++11 and C++1y is complete, and fix a bunch of other issues here.
d0c5ff4 Re-apply r197076 and r197086; the build was fixed by chapuni in r197114.
c3cd9c4 Fix autoconf build in libclang since r197075, (has been reverted in r197111).
60ed8c0 Fix Incorrect CHECK message [0-31]+ in test case. In regular expression, [0-31]+ equals to [0-3]+, not the number from 0 to 31. So change it to [0-9]+.
776fdc7 Revert r197076: "[objcmt] When emitting a remap file, use a json format with the edit entries, instead of applying the changes"
a8838de Switching to using hasGlobalStorage instead of !hasLocalStorage for better clarity.
7825d70 Added a Subjects clause to the section attribute and made its diagnostics more consistent with other attributes.
22ab81e PR18217: Rewrite JumpDiagnostics' handling of temporaries, to correctly handle declarations that might lifetime-extend multiple temporaries. In passing, fix a crasher (PR18217) if an initializer was dependent and exactly the wrong shape, and remove a bogus function (Expr::findMaterializedTemporary) now its last use is gone.
7f86ffd Objective-C migrator: when inferring 'readonly' property of an Objective-C object conforming to 'NSCopying' protocol, infer a 'copy' property, instead of 'strong'. // rdar://15525937
277c2ad Use llvm::Regex::Escape in VerifyDiagnosticConsumer.cpp
be28f4f Add CFG tests for switch's involving "extended" enum.
b9a904f Add new PrintingPolicy entry to trim number of newlines.  Useful for the CFG printer.
1f99363 Change semantics of regex expectations in the diagnostic verifier
bac56cd [AArch64] Refactor NEON floating-point Max/Min/Maxnm/Minnm across vector AArch64 intrinsics to use f32 types, rather than their vector equivalents.
ab7b5bb Remove extra qualification to fix build with g++ after r197076
494ced1 [ms-abi][cleanup] Removing FinalizeCXXLayout : no functional change
606069e No longer accepting attribute spellings with prefix and suffix underscores except for GNU attributes, or C++11-style attributes in the GNU namespace. This prevents attributes such as __declspec(__dllexport__) or [[__noreturn__]] from being treated as known attributes.
36f325a Revert r197043, not a good comment
4e3d3d3 [objcmt] When emitting a remap file, use a json format with the edit entries, instead of applying the changes to a temp file directly.
3b351f6 [objcmt] When whitelisting the headers we want to modify, allow changing the the ObjC implementation declarations, just don't change implementations for classes that are not in the whitelisted headers.
7bc7ce1 [AArch64] Add NEON scalar floating-point compare LLVM AArch64 intrinsics that use f32/f64 types, rather than their vector equivalents.
38469a3 [AArch64] Refactor the NEON scalar floating-point reciprocal step and floating-point reciprocal square root step LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents.
3c91cb2 [AArch64] Refactor the NEON scalar floating-point reciprocal estimate, floating- point reciprocal exponent, and floating-point reciprocal square root estimate LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents.
3087515 [ms-cxxabi] Fix linkage of dtor thunks for anonymous classes
3b14778 [analyzer] Add checker callbacks for MemberExpr and UnaryExprOrTypeTraitExpr.
60b4b7d Better diagnostic for static override when methods are thiscall by default
f9f813c Add comment about PragmaIntroducerKind
142f016 Add front-end infrastructure now address space casts are in LLVM IR.
440a474 Add file missing from r197034.
2d905f7 Modules: Let -fmodules-decluse ignore headers that aren't in a module
c9dd467 Only build ARM-specific runtimes if ARM is enabled
64d2719 Turning IAS on by default on ARM/Thumb
c8c1875 Mention LeakSanitizer in AddressSanitizer docs.
268b6be Change layering warning tests to not actually build modules.
537efc0 When performing a delayed access check, use the surrounding lexical context for any local extern declaration, not just a local extern function.
6ab1e94 [ms-abi] Makes Virtual Base Alignment Look at All Virtual Bases
66dd177 When performing an array new of a multidimensional array with an initializer list, each element of the initializer list may provide more than one of the base elements of the array. Be sure to initialize the right type and bump the array pointer by the right amount.
56b610e [objcmt] Transfer '-objcmt-migrate-designated-init' from the driver to cc1 invocation.
df8869a ObjectiveC. Fixes a bug where  an 'unused property ivar' warning is coming out incorrectly too early becuase of unrelated scope pop. // rdar://15630719
1b13cb9 ObjectiveC. Provide a property-dot syntax for fixit when selector in objc_bridge_related attribute names a property. // rdar://15517899
77225ac style fix
601f9c5 darwin asm driver: suppress -Q for -no-integrated-as on darwin<11
b899a11 Objective-C. Minor change to a diagnostic. // rdar://15499111
a3da97b [AArch64] Refactor the NEON floating-point absolute difference LLVM AArch64 intrinsic to use f32/f64 types, rather than their vector equivalents.
c04449d [AArch64] Refactor the NEON signed/unsigned floating-point convert to fixed-point LLVM AArch64 intrinsics to use f32/f64, rather than their vector equivalents.
f33217a [AArch64] Overload NEON signed/unsigned floating-point convert to fixed-point and fixed-point convert to floating-point LLVM AArch64 intrinsics.
363bbce [AArch64] Overload NEON signed/unsigned integer convert to floating-point LLVM AArch64 intrinsics.
6f56073 Parse: Avoid crashing on unterminated top-level asm strings
a48dd5f Tiny cleanup, as suggested by David Blaikie.
af29996 Rewrite docs/LeakSanitizer.rst. Add it to index.
d40c63b Rename attribute 'objc_suppress_protocol_methods' to 'objc_protocol_requires_explicit_implementation'.
24ed470 Enhance attribute machinery to include ObjCProtocols as "subjects" in attribute declarations.
9b8a804 Add a triple to this IRgen test to unbreak the ARM bots.
7d9ba1e Improve on an objc_bridge_related diagnostic. // rdar://15499111
cd0fac3 Make the -via-file-asm an InternalDebugOpt
a95d27b [Driver] Rename '-objcmt-white-list-dir-path' option to '-objcmt-whitelist-dir-path' and add an alias for now.
ce59229 [objcmt] Add a modernization option to infer and suggest designated initializers.
c879e6c [AST] In ObjCInterfaceDecl::isDesignatedInitializer(), use getMethod() instead of lookupMethod().
6eb228f Update clang MS inline asm tests for r196939
4325503 [analyzer] Misc. tidying in IdenticalExprChecker.
1dff642 [analyzer] Extend IdenticalExprChecker to check ternary operator results.
6392501 [AArch64] Refactor the redundant code in the EmitAArch64ScalarBuiltinExpr() function.  No functional change intended.
ee46346 Objective-C. Provide fixit's for objc_bride_related attributed CF to ObjC type conversions. // rdar://15499111
b980d3e [AArch64] Refactor the Neon vector/scalar floating-point convert intrinsics so that they use float/double rather than the vector equivalents when appropriate.
52fb5a3 Remove IndentBlocks, which sneaked winto the previous commit
efe04c2 Early attempts to format in GNU style.
b2c22f6 [AArch64] Refactor the Neon vector/scalar floating-point convert implementation. Specifically, reuse the ARM intrinsics when possible.
b6c2b00 clang-format-diff.py: Support -regex filter and more filename extensions
d31b98f [CMake] Update target_link_libraries() and LLVM_LINK_COMPONENTS for each CMakeLists.txt.
d2c03c9 Add ObjCARCOpts to LINK_COMPONENTS.
58d892a Darwin: update clang test to new iOS default version (5.0)
61fc6fd [mips][msa] Correct sld and sldi builtins.
31a6506 Allow predefined styles to define different options for different languages.
ed52f05 Trivial change: added 'using clang::format::FormatStyle;'
229328d Support GNU style rule to put a space before opening parenthesis.
1c09d69 Regenerate DR status page.
6e39d22 Implement DR1460: fix handling of default initializers in unions; don't allow more than one such initializer in a union, make mem-initializers override default initializers for other union members, handle anonymous unions with anonymous struct members better. Fix a couple of semi-related bugs exposed by the tests for same.
3071f44 [AArch64 NEON] Support poly128_t and implement relevant intrinsic.
8356608 Revert r196859, "Use llvm::sys::path::append to concatenate paths", to appease FileManager.
d26506a [CMake] clang/lib: Prune redundant dependencies.
2ec9f7d Try to fix the test for Windows paths after r196859
53c8f75 [ms-abi] 64-bit fixes for r196549
abce6b7 Use llvm::sys::path::append to concatenate paths
03c4e28 Take into consideration calling convention when processing specializations.
691a222 Fix via-file-asm test failure on windows
fe34a2b Sema: Enforce C++11 pointer-to-member template arguments should rules
cdc988f Fix return of empty range in MSAsmStmt::children
4f8ca13 [AArch64] Refactor the NEON scalar reduce pairwise intrinsics so that they use float/double rather than the vector equivalents when appropriate.
1b6a680 [AArch64] Refactor the NEON scalar reduce pairwise front-end codegen to remove unnecessary patterns in tablegen.
cdb3cd0 [AArch64] Remove q and non-q intrinsic definitions from the NEON scalar reduce pairwise implementation, using an overloaded definition instead.
98e0aeb Objective-C: Improve on various diagnostics related to use of objc_bridge_related attribute. // rdar://15499111
e300920 [CMake] clangSema doesn't depend on LLVM CodeGen any more.
921fa37 [CMake] clang/lib: Satisfy dependencies to add *actually used* libraries on target_link_libraries() and LLVM_LINK_COMPONENTS.
6b4f436 [CMake] clangDriver: Move LLVM stuff in target_link_library to LLVM_LINK_COMPONENTS.
ee9cadf clang/test/lit.cfg: Remove get_llc_props. check-clang itself no longer invokes llc.
1befc8f Save another call to GetAddrOfFunction.
9c8da1b When we decide to output a deferred decl, remember the llvm GlobalValue.
d6c0a82 Output destructors and constructors in a more natural order.
9c009bc clang-format: Be more conservative about braced list column layout.
b3efbd3 Remove old -fdiagnostics-show-name option
de7d960 Make the -Wkeyword-compat diag message more accurate
24df0f4 [-cxx-abi microsoft] Mangle large integral constants correctly
c8eb003 Versions of GCC newer than 4.8 exist these days =)
efdefe4 Minor cleanup and reorg of C++ status page.
ca47647 Update compatibility page to list some GCC language extensions that Clang does not support as a possible reason for choosing GCC instead of Clang (and vice versa). Weaken some of the claimed advantages of Clang in light of GCC improvements.
13cd246 Avoid extra error messages if method definition is inside function.
181bc0d Avoid adding some decls to DeferredDeclsToEmit.
4198db2 [-cxx-abi microsoft] Properly mangle enums
8ab09ce [AArch64]Add missing pair intrinsics such as:     int32_t vminv_s32(int32x2_t a) which should be compiled into SMINP Vd.2S,Vn.2S,Vm.2S
6642134 Rename a variable that I missed in the previous refactoring.
40c8742 Eliminate the last remaining header NDEBUG
9ad7e0d Remove an old stdio.h include from the invalid-array test
873ec29 Fix three tests that weren't checking anything
05e62fb Re-enable verification of test and update outdated diag checks
5b0c797 Re-enable ms inline asm parser test.
c6a8fe3 Remove all DISABLE lines from tests
7567699 There's no such thing as %clang_cc1_only
2e2d5d7 Fix a test that hasn't worked since 2007
5517c6c Remove duplicated -cc1 in tests
16d0594 GlobalAlias::isDeclaration is always false. Remove dead code.
009ba3b ARM: teach Sema that "r" can match 64-bit values
b0a437e Move a generic lambda test into the more logical test file.
e644638 Fix the message to go along with the assertion that was just fixed.
ebdfa9b Fix an assertion introduced by my previous refactoring.
fb29d25 Extend assembler handling for NetBSD/MIPS to pass down the correct ABI, architecture and PIC flag.
7c2d024 Fix pr18174.
24ba25c Delete the now unnecessary test/generic-lambda-unimplemented-1y.cpp
4bcebfe [REFACTOR] Refactored some of the generic-lambda capturing code.
a64e88b CodeGen: Don't emit linkage on thunks that aren't emitted because they're vararg.
d45fce1 Eliminate the last trivial NDEBUG uses in clang headers
65e2129 CommentLexer: eliminate an NDEBUG from the headers
88ec340 Changed ConditionValue argument to PPCallbacks If and Elif callbacks to be a 3-state enum.
3febd63 Tweak r196646
6e1b192 Type traits: No need for switch to handle __builtin_types_compatible_p
c190586 Add a SubsetSubject in Attr.td to automate checking of where the objc_designated_initializer attribute is acceptable.
ff896f8 Give a more appropriate diagnostic when a template specialization or instantiation appears in a non-enclosing namespace (the previous diagnostic talked about the C++98 rule even in C++11 mode).
f2ed95c Pass correct flags to assembler and linker for OpenBSD on AMD64, PowerPC and MIPS64. From Brad Smith.
ea97886 ObjectiveC. Continuing implementation of objc_bridge_related attribute in sema and issuing a variety of diagnostics lazily for misuse of this attribute (and what to do) when converting from CF types to ObjectiveC types (and vice versa). // rdar://15499111
c2f7774 Fixing assertion failure introduced in 196602.
279443d test/Driver: Check that @ arguments that aren't files are handled
69a9e16 Added support for mcpu krait
d43083f Fix test case inefficiency
d27975a Add option to use temporary file for assembling with clang
ec8d5a8 [MS-ABI] adds padding before all vbases after a bitfield
14bff0d [MS-ABI] Fix alias-avoidance padding between bases
c1e43c3 Fixup to r196593.
df316d8 Revert "[analyzer] Refactor conditional expression evaluating code"
328b3ff Turning the __w64 attribute into an ignored attribute to match other Microsoft extensions we do not currently support. Note that __w64 has been deprecated in MSVC since 2008.
2e8977f [libclang] Rename CXSkippedRanges to CXSourceRangeList to make it more future-proof.
dedc901 Move the body of GCCInstallationDetector ctor into an init() function and call it from its only user. The linux toolchain. This saves quite a lot of directory searching on other platforms.
1d061f7 Add flag -fauto-profile as alias to -fprofile-sample-use.
f6bb714 Fix code typos spotted while working on type traits
24c144e Tweak the ordering of a conditional to possibly avoid a few strcmps.
e4be4ec Reverting changes from r196415; this patch exposed a different, but unrelated bug regarding the __has_attribute implementation. Reverting to unblock the Chrome tsan builds.
143a2f2 clang-format: Change line break decisions for array subscripts.
69e4603 Allow string literals as module names.
5fe64f1 Add introductory paragraph to the C++ status page
7509ea6 PR18152: When computing the semantic form for an initializer list, keep track of whether the initializer list is dependent.
5ec042b Support MS-ABI's concept of "Required Alignment" imposed by __declspec(align())
b5d65e8 -Wassign-enum: compare unqualified types
8840fa8 Allow the warning 'case value not in enumerated type' to be silenced with the following pattern.
c3ed632 [ms-cxxabi] bitcast to i8* to deref a data member pointer
c688322 For NetBSD, use arm1176jzf-s as default CPU for ARMv6.
0d45f32 Implemented vget/vset_lane_f16 intrinsics
e9c37e5 Mark auto-generated file as auto-generated, as suggested by Alp.
2e47624 Pass down the target CPU to the system assembler for NetBSD/ARM.
de329d1 ObjectiveC: Don't warn when method implemented in category is declared in category's primary class's super class. Because the super class is expected to implemented the method. // rdar://15580969
0086f5b [c-index-test] For the '-remap-file' option use a comma for separator which is more Windows friendly than the colon.
6da1f17 Fix assertion failure left over from changes to move away from "darwin" triples.
cc2b0d5 AttributeList: tweak the conditional order to avoid two strcmps
355a05c clang-format vsix cmake build: use ${LLVM_TOOLS_BINARY_DIR}/${CMAKE_CFG_INTDIR} as the location for grabbing clang-format.exe, and also output the .vsix here.
c6909a5 Check the initial line number without going through PresumedLoc
0fb7888 Fix a tranche of comment, test and doc typos
8e674ff PR17983: Fix crasher bug in C++1y mode when performing a non-global array delete on a class which has no array cookie and has no class-specific operator new.
159fac6 [libclang] Record ranges skipped by the preprocessor and expose them with libclang.
48017f1 [c-index-test] Enhance perform_test_reparse_source() to allow remapping a file at a particular reparsing iteration.
7a29d5e [c-index-test] For the '-remap-file=' option use ':' instead of ';' for separator.
4e57be3 clang-format-diff.py: pass through errors to stderr, not stdout
1cfafb4 Update C++ status from 'SVN' to 'Clang 3.4' in preparation for release. Leave boxes yellow until we release, though.
fb8139f Implement DR482: namespace members can be redeclared with a qualified name within their namespace, and such a redeclaration isn't required to be a definition any more.
4157d64 Fix comment typo in r196476
dc64a7e [objc] If an interface has no initializer marked as designated and introduces at least one new initializer, don't assume that it inherits the designated initializers from the super class.
2b01e1e Correct hyphenations in comments and assert messages
ecd4ae9 Per [dcl.meaning]p1, a name in an inline namespace can be redeclared using a name from the enclosing namespace set if the name is specified as a qualified-id.
97f1868 Fixed a bad assert from r194968.  r194969 removed the assert.
a267193 Add an assert to make it clear we're on the first line
c2fe868 Remove unused variable.
3a0b7e9 Fix non-MSVC build error in ASTContext::getAdjustedType
cedc8af Fix init-captures for generic lambdas.
a813e2b Parse: Recover better from bad definitions with base specifiers
8e77b2b Add an AdjustedType sugar node for adjusting calling conventions
b8f3702 Simplify the constructor to CodeGenABITypes.
cf1b10a Reject template-ids containing literal-operator-ids that have a dependent nested-name-specifier, rather than crashing. (In fact, reject all literal-operator-ids that have a non-namespace nested-name-specifier). The grammar doesn't allow these in some cases, and in other cases does allow them but instantiation will always fail.
11c6162 Giving a Subjects list to DllExport, which allows the removal of some custom semantic handling. The same cannot be done for DllImport, and so comments were left explaining why.
f43ed02 Common functionality is already checked within SemaDeclAttr.cpp and so it does not need to be re-checked for each target.
668e114 Factor duplicated code for TransformTypeInObjectScope
48b59b2 Fix for PR18052 - Lambdas within NSDMI's and default arguments in Nested classes.
db218b6 The MSP430Interrupt attribute does have a sema handler (it's in TargetAttributesSema). Added a FIXME about the attribute being nameless when it really does have a valid name, and a comment explaining why we're using the name instead of the attribute kind.
2d15c74 Getting rid of some hard-coded strings. No functional changes intended, though some test cases needed to be updated for attribute names becoming quoted.
24942d0 This attribute somehow remained nameless in the attribute tablegen, until now.
08cca3a Remove empty header.
db5d879 ObjectiveC - Introducing objc_bridge_related attribute which specifies couple of (optional) method selectors for bridging a CFobject to or from an ObjectiveC object. This is wip. // rdsr://15499111
27f183d Enea Zaffanella's fix for the PPCallbacks Elif callback, with a slight re-org, and an update of the new PPCallbacks test (soon to be moved to clang from extra), rather the unittest.
8c8009e Fix indentation.
d4abf65 [ms-cxxabi] Construct and destroy call arguments in the correct order
60fc878 Fix test case due to r196394 and improve it to not rely on LLVM code generation either.
85664cb When parsing ignored attribute arguments, presuming the first argument is an unresolved identifier the same way that we do for unknown arguments. This resolves PR18075, where we regressed the handling of OpenBSD's bounded attribute.
2817ac2 Added a regression test for the change in r196380
90a5d43 Fix the regression caused by r196378
015280a Leave constructor initializer lists on one line in styles with no column limit.
ac80836 Revert r196372, "do not warn about unknown pragmas in modes that do not handle them (pr9537)"
d4b7eeb do not warn about unknown pragmas in modes that do not handle them (pr9537)
76aef21 [SystemZ] Fix handling of pass-by-pointer arguments
089cd19 Sema: Propagate the mangling number into instantiations
824fb3f [AArch64 NEON] Add ACLE intrinsic vceqz_f64.
8d08dda [AArch64 NEON] Add missing compare intrinsics.
c5af430 Fix error recovery in return statement.
52636aa Fix PR17637: incorrect calculation of template parameter depth
a8fb443 clang/test: REQUIRES: s/x86-64-registered-target/x86-registered-target/
c1a5998 clang/test: REQUIRES: s/ppc{32|64}-registered-target/powerpc-registered-target/
4ad8fa4 clang/test/CodeGen/builtins-nvptx.c: Prune "REQUIRES: nvptx64-registered-target". "nvptx" should imply it.
b149e41 check-clang: Introduce get_llvm_config_props in clang/test/lit.cfg.
7809cfd Add newline at eof.
7728f04 Remove redundant check.
f757c74 Fix crash if a dependent template-id was assumed to be a type but instantiates to a variable template specialization.
4a8b3b3 clang-format-diff.py: Fix 'beintroduced' in help output
c12954d Fix crash if a variable template specialization is used in a nested-name-specifier.
b28fcac Fix several crash-on-invalids when using template-ids that aren't simple-template-ids (eg, 'operator+<int>') in weird places.
20b2dbd [objc] Add a warning when a class that provides a designated initializer, does not override all of the designated initializers of its superclass.
925d54c [objc] Emit warning when the implementation of a secondary initializer calls on super another initializer and when the implementation does not delegate to another initializer via a call on 'self'.
2d9de48 [objc] Emit warnings when the implementation of a designated initializer calls on super an initializer that is not a designated one or any initializer on self.
0801638 [objc] Emit a warning when the implementation of a designated initializer does not chain to an init method that is a designated initializer for the superclass.
5a02446 [objc] Introduce ObjCInterfaceDecl::getDesignatedInitializers() to get the designated initializers of an interface.
31d5d5d [objc] Introduce attribute 'objc_designated_initializer'.
8f68556 Fix corner case in module-based layering warning.
ea654c3 CMake: enable building the clang-format vs plugin
95cedc0 clang-format: Improve clang-format's documentation of ColumnLimit=0.
3fdff71 Issue diagnostic when constructor or destructor return void expression. // rdar://15366494 pr17759.
2b14c99 Check IR on this test.
ad46ed7 Check IR on this test.
1d4a8b2 Check IR on this test.
42ce6cb Check IR on this test.
de77011 Check IR on this test.
a83b436 check IR in this test
7cd7d0c check IR in this test.
fdfa198 check IR in this test.
ec52b8c Check IR in this test.
bf77244 Check IR in this test.
50e19bc Check IR in this test.
0690910 Check IR instead of assembly in this test.
017669c Typo caught by Alp Toker: s/appertain/appertains
0ee6db8 Create a separate file for JS-specific unit tests.
6016911 Preserve carriage return when using clang-format's XML interface.
9a62424 Parse: Fix references to 'if' that meant 'for', 'do', and 'while'
fc1c1b3 Remove HandleTagDeclDefinition class declaration
ebe59b3 Documentation typo corrections
d869dbf Fix method/variable name typos
c545582 clang-format: Explicitly set fallback style that is tested.
67c6806 Emit an extension warning when changing system header tokens
ab823ff [AArch64]Add missing floating point convert, round and misc intrinsics. E.g. int64x1_t vcvt_s64_f64(float64x1_t a) -> FCVTZS Dd, Dn
6622df8 AArch64: add missing ACLE intrinsics mapping to general arithmetic operation from VFP instructions. E.g. float64x1_t vadd_f64(float64x1_t a, float64x1_t b) -> FADD Dd, Dn, Dm.
2922954 Patch by Ana Pazos.
22b0d8d revert r196152. This is a duplicate implementation. E.g. this patch defines:      float64_t vabd_f64(float64_t a, float64_t b) But there is already a similar intrinsic "vabdd_f64" with the same types. Also, this intrinsic will be conflicted to the vector type intrinsic as following(Which is implemented by me and will be committed to trunk):      float64x1_t vabd_f64(float64x1_t a, float64x1_t b). Two functions shouldn't have a same name in arm_neon.h. According to ARM ACLE document, such vabd_f64 with float64_t is not existing. So I revert this commit.
14f2608 Test to ensure no old-style-cast warning is emitted for objc-arc __bridge casts
52de45a AArch64: Add missing scalar pair intrinsics. E.g. "float32_t vaddv_f32(float32x2_t a)" to be matched into "faddp s0, v1.2s".
d034516 Add some missing AArch64 Neon intrinsics like vuqadd_s64 and friends.
e7542dc Add some missing AArch64 Neon intrinsics like vmull_high_n_s16 and friends.
59953e5 MS inline asm: When LLVM called back to Clang to parse a name and do name lookup, if parsing failed, we did not restore the lexer state properly, and eventually crashed.  This change ensures that we always consume all the tokens from the new token stream we started to parse the name from inline asm.
2e1373f Refactored the work group-related attributes to use a template, which reduces the amount of duplicate code in the handler. No functional change intended.
27df2e8 Simplifying a test for duplicate vec_type_hint attributes. The assert and attribute kind test were superfluous. No functional change intended.
0fe98d1 The CUDA device attribute doesn't need custom logic to check the number of attribute arguments (the common attribute handler already does this). Switching to use the simple attribute handler. No functional change intended.
5e2f8fd [AArch64] Implemented vcopy_lane patterns using scalar DUP instruction. Patch by Ana Pazos!
cdebe69 [AArch64] Add missing NEON scalar floating-point to integer convert ACLEs.
73985db Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h.
5b814d4 Expand comments for Debug Info Version.
773297c Rectifying style issues with generated code. No functional change intended.
694680f Automate attribute language option checking by specifying the list of options to test in tablegen.
c410ddb ClangFormatPackage.cs: fix inconsistent line endings
bdc243a Factored attribute mutual exclusion code into a helper function; split the cf_audited_transfer and cf_unknown_transfer attributes into separate helper methods for simplicity. No functional changes intended.
f67b9ed clang-format vs plugin: use Alp's suggestion for getting the path
d633c85 Fix a typo in a comment: expasion -> expansion
f6de081 clang-format vs plugin: bake clang-format.exe into the vsix
8443a44 Re-enabled support for the Subjects for the weak attribute. This changes the diagnostic involved to be more accurate -- for C++ code, it will now report that weak applies to variables, functions or classes. Added additional test case for this.
bf32c5e Rewriter: Output RewriteRope contents efficiently
fc0d1b5 The __w64 attribute handler was more generically named, but only applied to __w64 specifically. Renamed and removed some unused code. No functional change intended.
870edad Assume ARMv6 for NetBSD for now for strex/ldrex.
bc7d524 NetBSD uses long derived size_t / ssize_t in all ARM ABIs.
9ecbe1b The FieldDecl is already covered by the ValueDecl case, so it is being removed.
34451b1 Added an option to specify fallback style.
ad6ee4b Switching the ibaction attribute handler to the generalized handler. No functional change intended.
b382003 Replacing custom subject application logic with table-generated logic. Affects: guarded_var, pt_guarded_var, guarded_by, pt_guarded_by, acquired_after and acquired_before. No functional change intended.
0b6a8c4 Using the proper set key when determining whether a SubsetSubject helper method has been previously generated.
cabb986 Driver: Factor gold support out into a function
d4ec7c1 clang-format: Fix excessive formatting caused by r195954.
493aae6 Correct a user-visible static analyzer message typo
045e27e Fix inconsistent diag name
5ac190fd Correct test to target 'unknown'
282b87a Handle CC and NoReturn when instantiating members of class templates.
d94c3ae CommentLexer: When proceeding with a typo corrected name don't clobber the token.
31e0e38 Reenable ms inline asm test.
06b26d4 Fix typo: s/Occurence/Occurrence/
6085907 Update the LeakSanitizer documentation with a proper link.
4c6da0b add an additional test case for generic attributes
4adac37 NetBSD uses signed wchar_t on ARM platforms.
7e6ab6d Refactored the tls_model attribute to use a custom subset subject. No functional change intended.
3e794b3 Using a custom subject to reenable the Subjects line for the ns_bridged attribute. No functional change intended.
c5c075c Fixes a possible assert in the custom SubsetSubject logic for the attr emitter.
d7e0145 Added LanguageStandard::LS_JavaScript to gate all JS-specific parsing.
1361a6f Enables support for custom subject lists for attributes. As a testbed, uses the custom subject for the ibaction attribute.
e7b368b clang-format: Extends formatted ranges to subsequent lines comments.
dbb3d04 clang-format: Correctly handle Qt's Q_SLOTS.
07d0d1a clang-format: Fix bad indentation of nested blocks.
f770b44 AArch64: Two intrinsics are expected to return float64 not float32 in arm_neon.h
bda9d2e Fix the problem that the range check for scalar narrow shift is too wide. E.g. the immediate value of vshrns_n_s16 is [1,16], which should be [1,8].
fbb8264 Add missing intrinsic function vbsl_f64 for AArch64 NEON.
ac1c570 Add missing intrinsic function vcombine_f64 for AArch64 NEON.
4f6f1f8 clang-format: Improve selective formatting of nested statements.
cc62d5d InclusionRewriter: Avoid duplicated BOM check
b5d4915 Fix test on Windows
b02575a Sema: Assert that there are no pending local instantiations left
54bc0bb Ensure that the output BOM test check is run
0fabf8e Add a return statement to the func with an int return type.
0e261f7 One last portability fix attempt for r195886
7f82d70 Attempt to make test from r195886 portable with different shells
24f94d3 Add support for C++'s SD6 feature test macros.
9cb9704 Sema: Instantiation of variable definitions weren't local enough
94ada1b Improve BOM test from r195877
5c461df strip UTF-8 BOM in -frewrite-includes (PR#15664)
81d0481 Remove unused diagnostic.
ecc018d Renaming Struct to GenericRecord for clarity; could not use Record as the enumerant because that's already taken by the Record class.
102c74c Bring back a StringRef used in some build configurations
f6ddb09 Converts the lockable attributes to use the simple attribute handler because the semantic checking was already automated.
c29b4f1 Automated checking for C++ when determining what argument to send to the diagnostic for attribute subjects. In turn, this allows the Subjects to be enabled for some more attributes and improves diagnostics. Updated a test case based on the improved diagnostic.
5c024c8 Adding the Subjects entry back for the noreturn attributes. This caused some test cases to be updated because the original diagnostic was about applying to methods as well as functions, but the semantic checking disallowed methods.
74e3700 Enabling the subject list for the warn_unused attribute, and adding a test case. Previously, would issue a "warning ignored" diagnostic instead of the more specific "only applies to."
cab9f09 Adding in the subject for the init_priority attribute.
311dd5a Refactored semantic handlers that would unilaterally apply the attribute to a Decl so they all go through a common interface. No functional change intended.
febf22b Trivial fix: remove unused variable
422957f Fix the AArch64 NEON bug exposed by checking constant integer argument range of ACLE intrinsics.
df91e76 Removing the description part of a subset subject. It is unused, and wouldn't be future-proof regarding translation issues. It is also covered by SubjectList's CustomDiag member.
d2f6832 Laying the basic groundwork for table generating the diagnostics for attribute subjects. This makes some modifications to the way subjects are listed in Attr.td, and updates the attr emitter to handle the new constructs.
b8c7a2b [libclang] Check for LIBCLANG_DISABLE_CRASH_RECOVERY before enabling crash recovery.
d96deff [Sema] Don't look for the instantiation of a local extern decl in a different dependent context that the one we are instantiating, otherwise there will be an assertion.
8b5933a Sema: Instantiate local class and their members appropriately
070d649 [libclang] Make sure we don't access past the tokens buffer while token annotation.
0650de4 Remove a whole lot of unused variables
8d70519 Add a triple to fix this test on Windows
b931672 Unify lookup from within not-yet-defined defaulted special members: use common code for handling triviality, deletedness and constexpr. Fix a few bugs in these, particularly related to mutable members, and remove some dead code.
2d07e35 Implement -Wold-style-cast
6f39952 Remove 'DistinctSpellings' support from Attr.td and change its only user to look at the attribute spelling instead. The 'ownership_*' attributes should probably be split into separate *Attr classes, but that's more than I wanted to do here.
92c8ddb [AArch64] Add support for NEON scalar floating-point absolute difference.
a3f01c2 Fix the build break introduced by r195799 by restoring two close curlies.
d742f55 Documentation cleanup: Doxygen-ification, typo fixes, and changing some of the duplicated documentation from .cpp files so that it's not processed by Doxygen and hence doesn't generate duplicate output.
bf464fe Remove unused entity from .td file.
ed1f419 [AArch64] Add support for NEON scalar floating-point to integer convert instructions.
4702f16 Thread safety analysis: fix ICE due to missing null check on dyn_cast.
e89849f Replacing a custom diagnostic with a more standard one. No functional change intended.
3f6e103 Don't call getMostRecentDecl when we know we have it.
1370a91 Move these virtual methods out of line.
08fe1b8 Changed non-printable characters in the test to the escaped form. Apparently, not all tools display non-printable characters ;)
e2cd67a fix a typo
42aef45 [Mips] Pass -mmsa option to the assembler.
557a847 [Mips] Replace explicit argument handling by the single ArgList::AddLastArg() call.
07c01c8 [Mips] Reduce number of FileCheck variables used in the tests.
36da487 [Mips] Add support for nan2008 libraries and headers look up for Code Sourcery MIPS toolchain.
529780c [Mips] Merge two MIPS Code Sourcery toolchain tests into the single one.
ac81314 [Mips] Do not detect a used MIPS toolchain. Build a path suffix for FSF toolchain first and check the path existence. If the path does not exist build and check a path suffix for Code Sourcery toolchain.
59097b6 [Mips] Call findMIPSABIDirSuffix() for MIPS targets only.
8f2f047 Fix crash in getStringSplit.
ed197d0 Remove some unused locals
d8a96a6 Unbreak -fms-extensions with GNU libc headers
9a37002 Fix buildbot.
60c254c Clang format VS plugin: update build prerequisites in the README
c7ca1ee PR18044: Reject declarations of enumtype::X early to avoid an assertion in downstream code.
d677fd5 Make the integrated assembler the default for cygwin/mingw too.
6199e12 Making type_tag_for_datatype consistent with its declared subject from Attr.td. Also updated the related testcase.
8ce3b6f Fix test failure on targets where size_t is unsigned int.
3175b60 [-cxx-abi microsoft] Create backrefs for <unnamed-type-`id'>
ac9b4d3 Another pass at adding missing matchers into the registry.
1a89f58 [ARM] Enable FeatureMP for Cortex-A5 by default.
86efed9 clang-format: Fix formatting of empty files (fixes c-index-tests).
f876984 clang-format: Refactor calculation of lines intersecting with -lines.
7cee9a7 Tests for core issues 270-300.
e83ec4a Take cv-qualifiers on fields of class type into account when determining whether a defaulted special member function should be deleted.
26f998c SemaDeclAttr.cpp: Try to fix a warning [-Wunnamed-type-template-args]
afcdbe6 Add heading and remove leftover personal email addresses
e57f1b1 remove gcc::Precompile
bcedae4 Remove the Darwin_Generic_GCC toolchain.
0765cbb Switching the common attribute over to using the generic diagnostic, and removing the now-unused diagnostic. Updates a test case.
aa244b4 __declspec(uuid) is only supported for C++ code according to MSDN (as well as behaviorally in MSVC). This adds a generic diagnostic that we use for uuid, and can use for some other attributes as well, and adds a testcase.
81e6d92 __declspec(uuid) is only allowed on a class according to MSDN; this makes the semantic checking consistent with what the attribute specifies in Attr.td. Also adds a test case.
3ea4798 Making some attribute diagnostics more consistent. Removes a newly-unused diagnostic.
9489a43 Parse Microsoft __declspec appearing after class body
1d45f07 [test] Add test case I forgot to add for r195564.
2723213 [Parser] Unbreak parsing with incremental parsing enabled and add a unit-test for it.
6f438ee Fix a typo: "SLocEnty" should read "SLocEntry".
8a232c2 Use specific_attr_iterator to tighten loop over ObjCSuppressProtocolAttrs.
34ee86d Remove optional parameter bit from attribute ObjCSuppressProtocol.
f5fc20f Move logic to check if a class is tagged with objc_suppress_protocol_methods into a helper.
c3130a0 Fix a SSE2 intrinsics typo
9505696 [CodeGen] If there is a function definition with duplicate mangled name, emit an error instead of asserting.
95390ce clang-format: Support Qt's slot access specifiers.
3298266 Don't use the gcc driver for assembling.
f242315 clang-format: Fix incorrect space in parameters named by comment.
d02be1a clang-format: The "<" of a template argument is not a binary operator.
a454961 Don't pass +soft-float, +soft-float-abi to the arm assembler.
6a6a31d clang-format: Fix bug in ObjC method declaration formatting.
fd39a7d Enable non-fragile ABI for the ObjFW runtime
6c9cefd clang-format: Prefer column layout if possible.
641304e Fix module name collision in tests.
8a88a0b Generate a marker token when entering or leaving a submodule when building a module. Use the marker to diagnose cases where we try to transition between submodules when not at the top level (most likely because a closing brace was missing at the end of a header file, but is also possible if submodule headers attempt to do something fundamentally non-modular, like our .def files).
e6d601f Add Distance parameter to ASTNodeKind::isBaseOf.
d654f6b Rename *MatcherCreateCallback to *MatcherDescriptor, and its member run() to create().
fd13234 Split registry matcher resolution into a lookup phase and a construction phase.
6af6312 Add back experimental attribute objc_suppress_protocol_methods (slightly renamed).
10f5d6d Change ObjCIntefaceDecl::lookupMethod() to have optional 'followsSuper' argument.
1190989 Revert r195526, "Remove uninstantiable constructor from DeclTemplate.h"
8b2dfa3 Remove uninstantiable constructor from DeclTemplate.h
b3231c3 ObjectiveC. Remove warning diagnostic which checks attribute on method declaration and implementation match. This makes no sense. Most annotations are meant for declarations only and one is for implementation. This has been constant source of regresions and hackery to get around special cases. I am removing this check. Such checks must be done on a case by case basis and when it makes sense. For example, it makes sense for availability/deprecated and I will file a radar for that. // rdar://15531984
d8e863b Make the negative test more specific.
f97cddf Updating Subjects definitions for attributes based on semantic handling. Removes Subjects for things we cannot currently check, adds Subjects for things we can, and rectifies most discrepancies. Since Subjects are not currently handled in tablegen, there are no functional changes with this patch.
836be9a Whitespace. No functional change intended.
a1cbab0 Adjust r194296 to not apply the alias replacement for externally available always-inline functions. This breaks libc++'s locale implementation. Code generation for this case should be fixed, but this is a stop gap fix for clang 3.4.
520b445 Debug Info: add a "Debug Info Version" module flag to output the current debug info version number.
9f8ce20 ObjectiveC modern translator. Fixes a translation bug tranalation @protocol expression. // rdar://15517895
674e54c Add support for the 'unless' matcher in the dynamic layer.
4e74fdc Add support for Cortex-A12.
8a7237e AST/DeclBase.h: Fix \param of Decl::new() in r195426. [-Wdocumentation]
e3c35ea Revert r193994 and part of r193995
8924223 CodeGen: Whitespace
b3b5740 Deleting three tests that are redundant with test/Preprocessor/arm-target-features.c and test/Driver/arm-cortex-cpus.c
4903ea2 Add class-specific operator new to Decl hierarchy. This guarantees that Decls can't accidentally be allocated the wrong way (missing prefix data for decls from AST files, for instance) and simplifies the CreateDeserialized functions a little. An extra DeclContext* parameter to the not-from-AST-file operator new allows us to ensure that we don't accidentally call the wrong one when deserializing (when we don't have a DeclContext), allows some extra checks, and prepares for some planned modules-related changes to Decl allocation.
18b6525 Tidy up the no-external-assembler diag
6d7d023 Add txt file extension to VS solution's README
fb1d9c6 Make ASTUnit structure stable with NDEBUG
b58630f clang-format: Fix bug in alignment of complex template parameters.
844e62b clang-format: Recognize braced lists with trailing function call.
68bf2a9 For AArch64, intrinsic vget_low_xxx can be optimized away.
0e2018d Comment parsing tests: XML schema: actually run the valid-function-10.xml test
8f27871 ObjectiveC migrator. Improve on definition, use and testing of objc_bridgmutable attribute per Aaron Ballman's comments. // rdar://15498044
28eb292 PR18013: Don't assert diagnosing a bad std::initializer_list construction.
28cbc88 Test commit for the user "kromanova" to verify commit access. I removed "UNSUPPORTED" comment because unsigned __int128 type is in fact supported.
51935f3 ObjectiveC. Implement attribute 'objc_bridge_mutable' whose semantic is currently identical to objc_bridge, but their differences may manifest down the road with further enhancements. // rdar://15498044
8bb0c80 ObjectiveC migrator. delegate property must be inferred as 'assign', not 'assign' and 'strong'. // rdar://15509831
6401d36 Fix a crash in EmitStoreThroughExtVectorComponentLValue for vectors of odd sizes.
5399ef8 Added testcase for r195255.
ddc8047 [ARM] add basic support for Cortex-A7 and VFPv4 to Clang
ce33dee Better implementation of JavaScript === and !== operators.
4e42f6a ARM: define & use __ARM_NEON on ARM32 (as per ACLE)
2696443 Implemented Neon scalar vdup_lane intrinsics.
6a8fba7 Revert "Add new attribute 'objc_suppress_protocol' to suppress protocol conformance for a class."
2fa5090c Implemented Neon scalar by element intrinsics.
9966658 Add new attribute 'objc_suppress_protocol' to suppress protocol conformance for a class.
80379e7 Refactor some of handleObjCBridgeAttr to make it more concise and the diagnostic reusable.
e581431 Provide better diagnostic wording for initializers on static data member definitions when the variable has an initializer in its declaration.
891be43 PR10837: Warn if a null pointer constant is formed by a zero integer constant expression that is not a zero literal, in C. This is a different, and more targeted, approach than that in r194540.
b2dbde5 Refactored integer argument checking code into a helper method. Removes a considerable amount of duplicated code.
884e341 clang-format: Improve formatting of ObjC method expressions.
83b85b6 ObjectiveC migrator. use strong instead of retain attribute for inferred properties. // rdar://15519923
71a8d8c ObjectiveC. Allow toll free bridge cast warnings outside ARC and in objectiveC/ObjectiveC++ MRR mode as well. // rdar://15454846
6e40f59 Implemented DefaultIntArgument in the table generator and start using it in semantic analysis. Removes some magic numbers.
764653b [-cxx-abi microsoft] Emit linkonce_odr definitions for declarations of static data members with inline initializers (PR17689)
a26506d Fix new check for missing semicolon after struct definition to deal with the case where the type in the following declaration is specified as a template-id, and refactor for clarity.
bed7bb8 ObjectiveC ARC. warn in presense of __bridge casting to or from a toll free bridge cast. // rdar://15454846
0879e06 There is no such thing as __declspec(ms_struct), this is a GNU attribute. Switched the attribute to have the proper spelling, gave it a subject, updated the warning to be more accurate, and updated the test case as appropriate.
6ec3b68 Removed a duplicate diagnostic related to attribute subjects for thread safety annotations, and replaced it with the more general attribute diagnostic. Updated the test case in the one instance where wording changed. No functional change intended.
d503073 Updated the thread safety attribute definitions to have subjects defined. These are based off what SemaDeclAttr.cpp is checking for in terms of diagnostic reporting. No functional change intended.
539110f [NVPTX] Update ABI handling
6086ec9 Set default Dwarf Version for -gline-tables-only on Darwin to 2.
15cbbd2 ObjectiveC ARC. Better checking of toll free briding from qualified-id objects to CF types with objc_bridge annotation. // rdar://15454846
1251e98 Refine 'deprecated' checking for Objective-C classes/methods.
29997cd Added an option to allow short function bodies be placed on a single line.
fb21072 When wrapping lazily generated builtins in an extern "C" context, flag the LinkageSpecDecl as being implicitly generated too.
03da596 Simplify fix proposed in r195240.
580bb4f Support for JavaScript === and !== operators.
2deec97 [Mips] Take in account the -mfp64 command line option when build paths to the crt*.o files, libraries and headers for the MIPS FSFS toolchain.
0c5efe5 Fix bug where optimization would lead to strange line breaks.
c725b7c Update to next release numbers.
898413e Removing a custom error diagnostic and replacing it with a stock one. Added a test case to ensure the diagnostic was firing properly.
67799d6 Comment parsing tests: introduce a little more structure in testcase
a5aef16 Ensuring the warning for attribute decl types matches the error for attribute decl types.
4dfe6b0 Revert r195176, it is breaking buildbots for unclear reason
e100097 ObjectiveC ARC. validate toll free bridge casting to or from 'id' and qualified-id types. // rdar://15454846
ff453c2 Comment parsing tests: introduce a little more structure in testcase
627a235 [analyzer] Fix an infinite recursion in region invalidation by adding block count to the BlockDataRegion.
605dd3b Add a mangler entry point for TBAA rather than using RTTI directly
fc764b6 PR9547: If we're parsing a simple-declaration that contains a tag definition, and we see an ill-formed declarator that would probably be well-formed if the tag definition were just missing a semicolon, use that as the diagnostic instead of producing some other mysterious error.
d46c8e0 Switching some string literals to be generated by the AttributeList object itself.
6727dbd Microsoft Record Layout: zero sized base after base with vbtbl fix
1334490 Further fixes when thiscall is the default for methods.
5f96d3c ARM: embedded v7 'darwin' doesn't get min-version defines.
db40416 Remove full path from CHECK line
fc68bf3 ObjectiveC ARC. Removes a bogus warning when a weak property is redeclared as 'weak' in class extension. // rdar://15465916
122064b Documentation parsing: in HeaderDoc, \abstract is equivalent to \brief
00295ff ObjectiveC migrator. Do not migrate categories with 'Deprecated' name suffix.
60c3c05 bjectiveC. Use a uniform diagnostic for 'objc_bridge' attribute. // rdar://15454846.
6dc0ae8 YAML I/O - Added default trait support for std:string.  Making another attempt at this, this time doing a clean build on Linux, and running the LLVM, clang, and extra tests, to try to make sure there's no problems.
50c4eaf Refactoring: replaced (*(I + x)) with I[x].
0b8d907 Change VariadicOperatorMatcherInterface<> to take an ArrayRef<DynTypedMatcher>.
421f5e5 Revert r194540, it breaks various C++ programs.
c591025 [Mips] Do not adjust float-abi flags in case of MIPS16 mode. This code should be isolated in the backend (r195123). From the frontend point of view in case of "-mhard-float -mips16" combination of flags the float ABI mode should remain unchanged.
3dade5d Giving this test a triple since it uses a calling convention attribute.
27f67c5 Improving calling convention test coverage by adding tests for things not currently handled. Specifically: the diagnostics in SemaDeclAttr.cpp, and ensuring that calling convention attributes are applied to ObjC method declarations. No functional changes.
5f3ddf7 Adding subjects to calling convention attributes. No functional changes intended.
40b360a Rename an extension warning to ext_...
a5131ab Disable this check temporarily.
11a94f9 Implement AArch64 neon instructions class SIMD lsone and SIMD lone-post.
2098d1a Implement AArch64 SISD intrinsics for vget_high and vget_low.
ce41d4e ObjectiveC objc_bridge. Minor refactoring. // rdar://15454846
315007b Add predicate for AArch64 crypto instructions.
769187a Clean up predefined macros for AArch64 to follow ACLE 2.0.
3daade9 ObjectiveC 'objc_bridging'. Assorment of improvements per Doug/Jordan comments. // rdar://15454846.
0f3bb9e ObjectiveC ARC. Adopt objc_bridge attribute on struct/union/class instead of typedef of such types. // rdar://15454846
96b7bd4 DebugInfo: Update caller based on DIType's MDNode* ctor becoming explicit in r195055.
6efcf6f Change the clang driver with the use of -no-integrated-as for darwin to use the -Q flag to the as(1) assembler driver.
f496655 The attached patch is a follow up from my previous one. The existing logic was not handling typedefs as free functions. This was not causing problems with the existing tests, but does with the microsoft abi where they have to get a different calling convention.
fbe8851 Remove period at end of "optimization level is unsupported" diagnostic
6932152 Make test/Driver/clang_f_opts.c not write to the test dir
29fc11a The code using the StmtPrinterHelper object failed to account for a null object in many cases, which could have led to crashes were it ever to be null. Now passing the object by reference instead of by pointer because it is never null in practice. No functional changes intended.
cdf7cfc Use the default method CC in GetFullTypeForDeclarator.
3ce1d57 Remove clang man page reference to --analyze, and point people to the analyzer website.
fb21ecf Adding an assert to help catch possible buffer underruns.
f2b8750 Make helper function static.
6c1dc78 Add partial support for the hasDeclaration() matcher in the dynamic layer.
762e567 Using an invalid -O falls back on -O3 instead of an error
f696538 clang/test/CXX/drs/dr2xx.cpp: Suppress this for targeting LLP64 due to __SIZE_TYPE__.
155c877 clang/Parse/Parser.h: Fix annotations properly in SkipUntilFlags. [-Wdocumentation]
8fe2475 Replaced bool parameters in SkipUntil function with single bit-based parameter.
c315f01 clang/test/Tooling/multi-jobs.cpp: Mark this as XFAIL:msvc for now. It has been failing since r194968.
dd12780 Implement the newly added AArch64 ACLE functions for ld1/st1 with 2/3/4 vectors. The functions are like: vst1_s8_x2 ...
7b63333 Tests for core issues 251-270.
07ac846 Remove method that always returns true.
2dcdc5b Remove two unused #ifdefs.
98b303c RewriteBuffer::write(): Add a doc comment about non-portable use
f2e479e Tooling/CompilationDatabase.cpp: Use \return here instead of \param[out]. [-Wdocumentation]
675906e Remove a bad string compare from r194968
c8f0342 Relax some preconditions for using FixedCompilationDatabase.
ce5b5f1 Add -freroll-loops to enable loop rerolling
8c927fc Fixes a typo and changes references to the function clang_displayDiagnostic (which was removed in r96823) to clang_formatDiagnostics.
72dcd52 Implement vreinterpret ACLE functions in Clang.
b7a747b [analyzer] Better modeling of memcpy by the CStringChecker (PR16731).
99cbf42 Fix the problem that the arm_neon.h can't be used in a cpp file. Also fix a minor bug with poly64 name mangling.
e3a4044 Tests for core issue 241-250.
1a2dc26 Tests for core issues 224-240.
00be52d ObjectiveC ARC. More validation of toll-free bridging of CF objects with objc_bridge'ing annotaiton. // rdar://15454846
749152b ObjectiveC ARC. Validate toll free bridge casting of ObjectiveC objects to CF types when CF type has the objc_bridge attribute.
d478c0d Remove unused but set variable.
5950181 Move remaining %clang_cc1 tests out of test/Driver
cf19e5b If a replaceable global operator new/delete is marked inline, don't warn if it's also __attribute__((used)), since that undoes the problematic part of 'inline'.
9571ab1 ObjetiveC ARC. Start diagnosing invalid toll free bridging. // rdar://15454846.
32ca73e X86: Make specifying avx2 simpler on Darwin with '-arch'
5f900e8 Downgrade the Error on an 'inline' operator new or delete to an ExtWarn. Some projects are relying on such (questionable) practices, so we should give them a way to opt out of this diagnostic.
4c3e0bc Consumed analysis: track state of temporary objects. Earlier versions discarded the state too soon, and did not track state changes, e.g. when passing a temporary to a move constructor.  Patch by chris.wailes@gmail.com; review and minor fixes by delesley.
faea5bf Corrected comment about MS prgama warning.
51cc017 Implemented aarch64 Neon scalar vmulx_lane intrinsics Implemented aarch64 Neon scalar vfma_lane intrinsics Implemented aarch64 Neon scalar vfms_lane intrinsics
6207622 Updated comment - testing commit rights
4b777c0 ObjectiveC ARC. Only briding of pointer to struct CF object is allowed. Improve on wording on illegal objc_bridge argumment. // rdar://15454846
a634237 Darwin(ish): enable embedded compiler-rt builds on Darwin.
7faf81f PR17949: Fix crash if someone puts a namespace inside a class template.
93982a7 PR8455: Handle an attribute between a goto label and a variable declaration per the GNU documentation: the attribute only appertains to the label if it is followed by a semicolon. Based on a patch by Aaron Ballman!
0a5a7c1 ObjectiveC ARG. A positive test of my previous patch. // rdar://15454846
2f2fb5a Fix typo in CGRecordLayoutBuilder.cpp: s/Field/Fields/ in comment
e78728a ObjectiveC ARC. Lookup type associated with objc_bridage at the point of CF object type-cast and issue diagnostic if it is not a valid ObjectiveC class. // rdar//15454846. This is wip.
38e26ae These ACLE tests no longer need to cast the return value.
aed0116 Diagnose C++11 attributes before fp_contract pragmas.
b72227f Fix bogus diagnostic wording. There's no such thing as a compound expression.
e22017e Revert "Using an invalid -O falls back on -O3 instead of an error"
d378144 clang-cl: Make the driver parse all(?) msvc flags
7ff5416 Remove an unused local from r194827
c3e16a2 Darwin: Look for libc++ headers in include/, rather than lib/
3604841 libc++: Install headers in include/, rather than lib/
4417498 ObjectiveC. Fixes a bogus warning of unused backing ivar when property belongs to a super class and currnt class happens to have a method with same name as property. // rdar//15473432
9b58b6e Update contact information.
93b717a [-cxx-abi microsoft] Emit thunks for pointers to virtual member functions
16205cd [ASan] Fix darwin-sanitizer-ld.c for iossim, which seems to use -lc++ instead of -lstdc++.
cc82b98 [ASan] Link with libclang_rt.asan_iossim_dynamic.dylib when targeting the iOS simulator. Add a test.
eb4d7c3 Using an invalid -O falls back on -O3 instead of an error
7194088 [ASan] If the iOS Simulator SDK is available, build the ASan iossim runtime using configure+make.
6c6fd7e Ignore test Inputs globally and remove redundant lit.local.cfg files
ad40eda Tests for core issue 216-223.
26297f5 When we hit a #include directive that maps to a module import, emit a token representing the module import rather than making the module immediately visible. This serves two goals:  * It avoids making declarations in the module visible prematurely, if we    walk past the #include during a tentative parse, for instance, and  * It gives a diagnostic (although, admittedly, not a very nice one) if    a header with a corresponding module is included anywhere other than    at the top level.
f93ec76 PR17533 and duplicates: don't compute the return type of an overloaded operator until after we've referenced the operator; otherwise, we might pick up a not-yet-deduced type.
f72bc46 Don't reject dependent range-based for loops in constexpr functions. The loop variable isn't really uninitialized, it's just not initialized yet.
54307da Fix test failures after addrspacecast added.
fda9dbf [analyzer] Silence warnings coming from allocators used by std::basic_string.
d0e5f6a [analyzer] Include bug column numbers in HTML output (in a comment).
e21432e Modern gcc is happy to constant evaluate __builtin_strlen in various cases where we didn't. Extend our constant evaluation for __builtin_strlen to handle any constant array of chars, not just string literals, to match.
0de6bc8 R600: Add processor type for Hawaii
a683404 PR 17916: Don't fail if xcrun is not present.
2317f7b Fix typo
4ca9eae Pass -Wa,-I and -Xassembler -I args to integrated assembler
4891e70 Install clang-format's editor integrations in $PREFIX/share/clang/
418220b DR408: If a static data member of incomplete array type is declared in a class template, that member has a dependent type (even if we can see the definition of the member of the primary template), because the array size could change in a member specialization.
2d2f6c2 Makes A Microsoft Layout CodeGen Test Explicit
e05372a Add -Wdeprecated-writable-string in C++ to -Wc++11-compat, since it's ill-formed in C++11.
f46e56b [AArch64] Add support for legacy AArch32 NEON scalar shift right by immediate and accumulate instructions.
93d4b8c ObjectiveC migrator: This patch sets access property attributes on 'readonly' properties. // rdar://15460787
758c4d8 [OpenCL] Make sure we put string literals in the constant address space.
6973a27 [analyzer] Treat MSVC's _wassert as noreturn.
2c050f6 [objcmt] Introduce "objcmt-white-list-dir-path=" option.
9887f26 [objcmt] -objcmt-atomic-property & -objcmt-ns-nonatomic-iosonly are companion flags. Ignore them when determining if some transformation was enabled.
91934df Move classes into anonymous namespaces.
c7120cf [Mips] Add tests for MIPS/MIPS64 type defines and type limits macros. No functional changes - just reflection of the current state.
b3c52d7 Remove a test failure.
84881a7 Add test case for AArch64 NEON poly64 intrinsic.
2a2b69b Add test cases for AArch64 NEON instruction set misc.
4ae7d04 Revert r194663 and r194647.
e452d61 Refine -Wunused-variable to only suppress warning for __bridge_transfer, not all bridge casts.
624bb5e [AArch64 neon] support poly64 and relevant intrinsic functions.
8137a60 Implement aarch64 neon instruction class misc.
142ab06 Added warning on structures/unions that are empty or contain only bit fields of zero size. Warnings are generated in C++ mode and if only such type is defined inside extern "C" block. The patch fixed PR5065.
2e22f29 Implement AArch64 NEON instruction set AdvSIMD (table).
1f64cfc Suppress -Wunused-variable when initializer uses bridge casts for memory management.
a7cd801 Use a more realistic NS class names in objc_bridge attributes in my previous test. Per Jordan's comment.
7f82297 ObjectiveC ARC. objc_bridge attribute should be applied to toll-free bridging cf types only. // rdar//15454846 wip.
4d0ddec Work around a bug in old gcc on the FreeBSD bot, which complains about ambiguity between index() function and clang::index namespace.
933a894 ObjectiveC ARC. Introduce a new attribute, 'objc_bridge' that teaches the compiler about a subset of toll-free bridging semantics. This is wip. // rdar://15454846
02593f5 [objcmt] If no objcmt options were specified, default to enable literals+subscripting.
17c384c [objcmt] Transfer the objcmt flags from the driver to cc1 invocation and instantiate ObjCMigrateASTConsumer with the specific options that were enabled.
f1576c1 [objcmt] If the frontend option is frontend::MigrateSource then we don't need to create the arcmt wrappers.
dc8e938 Don't use alias from derived dtor to base dtor at -O0.
6526de4 -fms-extensions: Recognize _alloca as an alias for the alloca builtin
f2941ec Only provide MS builtins when -fms-extensions is on
d4315fe libclang does not depend directly on clangFormat; but clangIndex does
86cfda2 Documentation parsing: move comment-to-XML conversion routines to libIndex
1d40d62 No functional change.  Renaming a variable in RecordLayoutBuilder and improving comments to make documentation more accurate.
ea88107 Add test case for r194593
2fe4f17 Make inline functions in a header file static.
a665321 [AArch64] Tests for legacy AArch32 NEON scalar shift by immediate instructions. A number of non-overloaded intrinsics have been replaced by thier overloaded counterparts.
c5f4a8c Drop windows specific handling of equivalent destructors.
7792fde Adds ARM backend options: -mrestrict-it and -mno-restrict-it
e909a72 [objcmt] Use FileIDs directly instead of their hash value.
42e68d5 No need to use CGM.getCXXABI() from CXXABI
a9f2809 Correctly mark first token in the presence of UTF-8 BOM.
f88536a Add an optional mapping from source paths to source contents.
b85a9ec Add -fprofile-sample-use to Clang's driver.
d1fa81c Warn on duplicate function specifier
9b60286 Fix closing namespace comment to reflect reality
f2febe6 PR10837: Warn if a null pointer constant is formed by a zero integer constant expression that is not a zero literal, in C. Patch by Ivan A. Kosarev!
2ab056f unittests/Tooling/ToolingTest.cpp: Suppress new tests on win32, due to handling of virtual file, such "/a.cc".
5d2a206 ObjectiveC migrator. Place use of NS_NONATOMIC_IOSONLY on inferred property attribute under  -objcmt-ns-nonatomic-iosonly  option. // rdar://15442742
86e2a6f clang-cl: parse the /Yc flag (PR17895)
f6785e3 Documentation parsing: add support for \throws \throw \exception commands
610616c Avoid producing mismatched comdats.
186b26d add intrinsics: __builtin_arm_{dmb,dsb} for ARM
08d86e9 ObjectiveC. availability of Array/Dictionary subscripting is further restricted in legacy runtime to deployment target of 10.7 and later. // rdar://15363492
1ab853d ObjectiveC migrator. Another alternative to  "atomic" or "nonatomic" for properties is NS_NONATOMIC_IOSONLY. Use it if available. // rdar://15442742
a2f1ed0 clang-cl: parse the /GT option
1691dc4 Remove trailing spaces
cb5a9ec Add test for injecting diagnostic consumers into a ClangTool.
a7462b8 Remove extra whitespace instead of breaking the line in comments when possible.
5486a42 Do not insert backslashes, when breaking line comments after preprocessor directives.
5d5058c ObjectiveC driver change. re-apply patch reverted in r194450 with a modified test. // rdar://15363492
43c2ec5 Upgrade the VS solution to 2012.
4fba6ae Fix key bindings for VS 2010.
701c45a Recreated the ClangFormat VSPackage with VS 2010.
556af5c Revert unintentional commit from r194477.
8f2b52b git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194477 91177308-0d34-0410-b5e6-96231b3b80d8
838f933 [mips][msa] Enable inlinse assembly for MSA.
a30d247 [mips] Added fpu register tests to tests/CodeGen/mips-clobber-reg.c
fab847a [mips] Small fixes to test/CodeGen/mips-clobber-reg.c
e39ff50 XCore target requires preferred alignment.
1816219 XCore target Type defines.
0e325be XCore target has -fno-use-cxa-atexit as default.
2c1721f Tests for core issue 201-215.
081c215 Keep the old function order in CodeGenModule::applyReplacements.
669496b This reverts commit r194435 and r194434.
9015bfc COSMETIC: Fix 80 column overflow in some comments introduced in r194188
394558e A quick fix to PR17877 that was introduced by r194188 (generic-lambda-capturing) that broke libc++.
2a7ff77 Remove C++11ism.
1997bbf Extra test for r194444.
3347b49 Rather than duplicating extension diagnostics to allow them to cause a substitution failure, allow a flag to be set on the Diagnostic object, to mark it as 'causes substitution failure'.
e0ac9bf -fms-compatibility: Use C++98 null pointer constant rules
126bd8f COSMETIC: Right justify an asterix in the previous refactoring.
d78d659 REFACTOR: Have PushLambdaScope return the LambdaScopeInfo that it creates.
537b8a8 ObjectiveC. Try to unbreak buildbot.
3e627f7 ObjectiveC. By default allow array/dictionary subscripting in ObjectiveC legacy runtime too. // rdar://15363492
964bfa1 Add a testcase where we replace a destructor with an alias.
dda91e0 [mips] Partially revert r193640. Stack alignment should not be determined by the floating point register mode.
849f3ec Revert "Using an invalid -O falls back on -O3 instead of an error"
51a0ab8 Revert "Remove -### from the -O20 test, it was failing the test (?)"
0fafc73 Remove -### from the -O20 test, it was failing the test (?)
3a786dd Improve the documentation (bis) with Arthur and Chandler's comments
47a2ab9 Fix pr17875.
9b79630 Darwin(ish): we don't want __ARM_EABI__ even on v7a embedded targets.
2bd8af5 [AArch64] The shift right/left and insert immediate builtins expect 3 source operands, a vector, an element to insert, and a shift amount.
3990d7f Improve the documentation of the optimization flags
1cd76b1 Using an invalid -O falls back on -O3 instead of an error
246e2f6 ObjectiveC migrator. More testing of instancetype migration in method implementations. // rdar://15438505
5728169 Add test for r194350.
9473c19 [AArch64] Add support for NEON scalar floating-point convert to fixed-point instructions.
8daa7fe NetBSD 6.99.26 switched to default rounding mode, so adjust __FLT_EVAL_METHOD__ accordingly. Add test case for this and the SSE2 variances on NetBSD.
a87219b Describe OpenCL C changes
e7baa02 Revert "Keep the old function order in CodeGenModule::applyReplacements."
90f535f Keep the old function order in CodeGenModule::applyReplacements.
471b52a Avoid double StringMap lookups. No functionality change.
144879a CommentSema: Factor code better. No functionality change.
db33419 Add gold plugin support to the FreeBSD link driver.
fa7797a Add -mconstructor aliases to some tests.
bd39527 This reverts commit r194330, r194329 and r194328.
1cc766f Commit the changes to make libc++ the default on FreeBSD >= 10, rather than just the test...
7c6b002 FreeBSD 10 ships with only libc++, make sure it's the default when compiling c++ code.
bf20b07 Correctly set the target in fuse_ld.c correctly...
19ecfac Add explicit target to the fuse_ld.c test.
a799d7d Add support for -fuse-ld=.
b310439 Try to recover a bit better if a close brace is missing from the end of a class definition. If we see something that looks like a namespace definition inside a class, that strongly indicates that a close brace was missing somewhere.
c31fbe3 Comment parsing: recognize \def (but processing is a no-op, like the rest of similar commands that duplicate the declaration name)
a7856d0 clang-format: Fix alignment of ObjC string literals.
6e84e92 Don't emit an internal destructor that is identical to an external one.
11d10c3 Use a StringRef. Saves 0.00000000000001s on execution time.
1c1b4da Update macro expansion diagnostic examples to say 'expanded from:' instead of 'instantiated from:'. The actual wording of the note was changed in r135135.
1b9c024 Use rauw for all discardable aliases, not just linkonce_odr.
0ce1c9a clang-format: Improve clang-format's detection about comment binding.
c4fb7ef Fix name in test.
c569917 Remove an incorrect optimization inside Clang's IRGen. Its check to determine whether we can safely lower a conditional operator to select was insufficient. I've left a large comment in place to explaining the sort of problems that this transform can encounter in clang in the hopes of discouraging others from reimplementing it wrongly again in the future. (The test should also help with that, but it's easy to work around any single test I might add and think that your particular implementation doesn't miscompile any code.)
0171c6b If a linkonce_odr dtor/ctor is identical to another one, just rauw.
fbb091a Py3k compat for clang-format Sublime Text extension.
3a306f9 Fix grammar-o.
0464e09 Fix %select numbering confusion between diagnostic and Diag call.
152eee9 Make -fdump-vtable-layouts print to stdout, not stderr
8b156e2 clang-format: Improve formatting of operators forced to new lines.
f949591 Thread-safety analysis: check guarded_by and pt_guarded_by on array access. Currently supported only with -Wthread-safety-beta.
61dfea9 Untabify.
ce6426f Issue a diagnostic if we see a templated friend declaration that we do not support.
c2e0329 clang-format: Don't auto-break short macros in WebKit style.
deb61c5 clang-format: Improve linebreaking and indentation for ObjC calls.
6b1a4c8 Revert 'Tweak ContainerNonEmptyMap with "int" instead of "bool"'.
6acb04f Thread the info about vbptr sharing through ASTRecordLayout
db7da0b Remove diagnostic leftover from the ancient times when C++1y support was incomplete.
4a79586 clang-format: Write files atomically
9a8a5fc Improve the missing ASM parser test for MS-style assembly
b429192 Add .clang-format without column limit to subdirectory tests/.
e83b4eb clang/test/CXX/drs/dr1xx.cpp: Add explicit triple x86_64-unknown-unknown to satisfy check7a and check8a since r194240.
2baea28 StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp: Tweak ContainerNonEmptyMap with "int" instead of "bool", to appease building since r194235.
c7213b7 Fix tests effected by r194221
2f8b0cc s/DebugPrint/dump/g
072ac6c clang-format: Properly indent ObjC calls wrapped before first selector
e9a5b38 Tests for core issue 170-200.
3940e3b Objective-C++ ARC: Improve the conversion to a const __unsafe_unretained reference.
80aecf5 ObjectiveC migrator. Added a dropped check in my last patch.
a1977bf Fix a bogus assert I introduced in r194224
9a7a568 [analyzer] Add IdenticalExprChecker, to find copy-pasted code.
219103d [analyzer] Track whether an ObjC for-in loop had zero iterations.
64cc0c3 [analyzer] Specialize "loop executed 0 times" for for-in and for-range loops.
78e39b0 ObjectiveC migrator. Fixes an obscure bug where NS_RETURNS_INNER_POINTER ends up unintentionally on the @property under -objcmt-migrate-all // rdar://15396636
562d45c ubsan: Only emit constants for filenames and type descriptors once.
1a896a5 clang-format: Make breaking before ternary operators configurable.
8442b6f Eliminate an unnecessary .c_str()
fa8e7d3  Adds the ability to inject a DiagnosticConsumer into ClangTools.
a5ba7b4 Modules: Teach the preprocessor to recognize 'import' only after an '@'.
1ce5509 Re-instate contextual conversion to Objective-C pointers in message sends.
51fcdf8 Introduce MatchFinder::matchAST.
d2bd589 Re-introduce MatchFinder::addDynamicMatcher.
baa9af1 PR17800: When performing pack expansion, we must always rebuild the AST nodes to avoid breaking AST invariants by reusing Stmt nodes within the same function.
f9504aa clang-format: Improve binary operator detection in macros.
fed2603 Tests for CWG issue 165-170.
966e6d3 clang-format: Improve ObjC variadic and binary expression parameters.
9aebdc9 PR17615: A delegating constructor initializer is a full-expression. Don't forget to clean up temporaries at the end of it.
ec00b0f Added a test case for the fix to bug 17632 in r193751
f33ed47 XFAIL the test for non-x86 targets for which this message cannot be generated.
dbfb5f3 clang-format: Improve formatting of constructor initializers.
59875ac clang-format: Remove old hack that mainly made incorrect tests pass.
740265d Remove an unnecessary condition that I added hastily: Unsigned numbers are obviously >= 0 ;)
16a8b0e clang-format: Fix corner case for brace alignment.
40aa366 Minor refinement of VTableBuilder.h: fix wrong indentation, rename a struct field with a more appropriate name
3efb8e8 Add parens for || in && in assert. No functionality change.
24d91e6 Ubuntu has published its Saucy release. 'Trusty Tahr' dev has just started. Add its support in Clang
54de9bb Fixed bug in return type of __builtin_va_start().
7dae929 Mark generic lambdas, and thus C++14, as complete. Add commented-out stub for C++17.
cb82c89 Tests for DR150 - DR165.
60c9c30 RewriteBuffer: Remove an unused typedef
94358a8 Unbreak the Clang -Werror build by removing some unused variables
f1e757d Update cxx_dr_status.html to match current cwg issue list.
c00e419 This patch implements capturing of variables within generic lambdas.
fe1088d Add the fact that Clang too is planning to start using C++11 (in some limited ways) after the next release. See the lengthy discussions (which are on-going) and the corresponding commit to LLVM's release notes. Nothing is actually changing at this point, this is just further spreading the plan.
bafa74f [-fms-extensions] Add support for __FUNCDNAME__
00b0f7e clang-cl: Hide ignored joined flags as well
4281d73 clang-format: Separate line-merging logic into its own class.
ca94634 Disable a tooling test on Windows.
2dc57f4 Work around an MSVC 2013 miscompile with the Redeclarable class.  Fixes PR16606
f907afe Update \param in ToolInvocation() corresponding to r194164. [-Wdocumentation]
9b28079 clang-cl: Hide ignored flags
b102cdc This patch modified ExeBasename as clang-cl.exe to match the preceding comment.
8ad46b7 [build] Update runtime library and tests to work with relocatable SDKs on OS X 10.9.
6e99044 clang-cl: Add /FS as an ignored flag
8051db1 Introduce ClangTool::buildASTs, and buildASTFromCode.
2980289 Fix diagnostic goof in r194161.
195dd7c Add a limit to the length of a sequence of 'operator->' functions we will follow when building a class member access expression. Based on a patch by Rahul Jain!
e6d509f Fix the -cxx-abi microsoft -mconstructor-aliases combination.
9a2f84b Thread safety analysis: minor bugfix to smart pointer handling, and expanded test case.
0de7ba6 Silencing some MSVC warnings about not all control paths returning a value when they actually do.
695f3e3 [libclang] Some changes on the linker options for libclang on a CMake build.
58b6db7 Fix PR17738 - add support for vtordisp thunks when using -cxx-abi microsoft
bf3bc5d Implement AArch64 Neon instruction set Perm.
9f2b0f8 Implement AArch64 Neon instruction set Bitwise Extract.
9a9ca98 More constant evaluation cleanup, and fix an issue where we'd override an earlier 'non-constant' diagnostic with a later one if the earlier one was from a side-effect we thought we could evaluate past.
92563d0 Microsoft adds weird padding before virtual bases if the last field was a bitfield
00841f5 Introduce DynTypedNode::print, dump and getSourceRange.
3f0e040 Introduce BoundNodes::getMap.
43399fb Thread safety analysis: check pt_guarded_by attribute when calling -> and * on smart pointers.  -Wthread-safety-beta only.
cd569f2 ObjectiveC migrator. Please annotation of properties with NS_RETURNS_INNER_POINTER under -objcmt-returns-innerpointer-property flag (off by default), as older compilers do not support such annotations. // rdar://15396636
0004329 Simplify: we don't care why constant evaluation might have failed when we're checking an expression for constant overflow.
f490f0e Refactor constant expression handling and make a couple of tweaks to make it a bit more robust against future changes. This includes a slight diagnostic improvement: if we know we're only trying to form a constant expression, take the first diagnostic which shows the expression is not a constant expression, rather than preferring the first one which makes the expression unfoldable.
1d5cce4 With this patch -Wwrite-strings is still implemented with the terrible hack of passing -fconst-strings to -cc1, but at least the driver uses the regular warning checking code path.
61a0a75 Produce direct calls instead of alias to linkonce_odr functions.
93b97a8 Documentation tweaks: Fix a typo in a reference to the C++ standard, another typo in a comment, and update formatting of some comments to use Doxygen \brief annotations instead of repeating the name of the documented entity.
2a80ad6 clang-format: Allow line merging and partial formatting of nested blocks
9ce5135 Revert "Try to correct a mistyped "-" or ">" to "->" for some C++ cases."
25009d4 Implement AArch64 Neon Crypto instruction classes AES, SHA, and 3 SHA.
5f0db58 Fix vbtable indices when a class shares the vbptr with a non-virtual base
a257e21 Disable test fully with REQUIRES
fd68189 Disable the test that crashes
821d60d Fix a test that was never being run, mark it XFAIL
b7b44c8 Make test run reliably
47ba7ec Fix test that was not being run
7638cf0 Fix test that wasn't testing anything
c879fe5 Do not allow functions or kernels called 'main' in OpenCL.
a72009d Simplify test case added in r194059
974cbc5 Lex: Require that '#' be followed by a macro parameter name when preceded by '##'
b6972e6 Remove stray comma from documentation.
3cebc73 C++1y sized deallocation: if we have a use, but not a definition, of a sized deallocation function (and the corresponding unsized deallocation function has been declared), emit a weak discardable definition of the function that forwards to the corresponding unsized deallocation.
88407bb Enable links now that they work.
6bae51a Sema: Improve comment introduced in r193397
bec2ea4 Expand the test a bit.
f88f10a Add a testcase from the recent bootstrap failure.
583f6de Revert "Produce direct calls instead of alias to linkonce_odr functions."
0f0f6f1 Produce direct calls instead of alias to linkonce_odr functions.
22229d6 Implemented aarch64 neon intrinsic vcopy_lane with float type.
2b61039 ObjectiveC. Method implementations should only check for "Missing call to Super" in the overriding method and not in the method itself. // rdar://15385981.
8625089 Include non-explicit submodules in exported module list
741c541 [analyzer] Track the count of NSOrderedSet similarly to other fast enumerations.
bdc0bf3 [analyzer] Suppress warnings coming out of std::basic_string.
b3e2772 Try to correct a mistyped "-" or ">" to "->" for some C++ cases.
71fdc12 Use aliases for more constructors and destructors.
f632a0c clang-format this if.
7170e35 CodeGen: Test that simple expressions are simplified at -O0
cbefd40 CodeGen: Use EmitBranchOnBool when generating For and CXXForRange
fd93e4a CodeGen: Move an initialization away from an unrelated comment
8d7a753 clang/lib/Parse/CMakeLists.txt: Fixup corresponding to r193989. ClangAttrTypeArg is required here.
6ffbea4 Updating the makefile to reflect CMake; addendum to r193989.
9feedb8 Attributes which accept a type as their sole argument are no longer hard coded into the parser. Instead, they are automatically listed through tablegen.
f09c6a1 Make ADLResult::iterator a proper iterator.
a242096 Driver: Add support for -march=bdver3 on x86.
33b1f63 Issue a diagnostic if an implicitly-defined move assignment operator would move the same virtual base class multiple times (and the move assignment is used, and the move assignment for the virtual base is not trivial).
1b41605 It is no longer necessary to opt out of pretty stack traces.
a8d478e Update a comment to match current core issues list.
743cbb9 Implement final resolution of DR1402: implicitly-declared move operators that would be deleted are still declared, but are ignored by overload resolution.
62e9370 Sema: Do not allow overloading between methods based on restrict
3a50d84 Fix test to actually check the FixIt-applied code
a07d5ce Fix typo in err_flexible_array_empty_aggregate
77534c7 OS X 10.9+ and iOS 7+ support load/store of big atomic objects.
66dbb3f Default to use libc++ on OS X 10.9+ and iOS 7+.
4ce94dc Add test case for r193923
28165b7 Sema: Disallow inheriting from classes with flexible array members
7041fcc Sema: Remove stray whitespace around Sema::CheckBaseSpecifier
d3d7c61 Remove a stray tab character from warn_objc_root_class_missing
3a66557 Sema: Disallow derived classes with virtual bases from having flexible array members
633c0c2 Sema: Cleanup and simplify anonymous union diagnostics
6f6dc15 Sema: Flexible array members were introduced in C99, diagnose their use in C++
ada04a1 Sema: Properly indent statements in Sema::ActOnLastBitfield
895ff0d Sema: trim trailing whitespace in Sema::ActOnLastBitfield
1e45375 clang/test/CodeGenCXX/builtins.cpp: Fix for -Asserts.
5423746 Change the other -Wtautological-compare warnings to not trigger in template specializations.  Also switch to -Wuninitialized for a test case that depended on a warning firing in template specializations.
cca6f3b Adding triple to lit test fixed in r193901
7f4871f Fixes lit test that doesn't fail on windows
caf7597 Improves compatibility with cl.exe when laying out array fields
2d023ec Wraps lazily generated builtins in an extern "C" context
701bc8c Preload module maps in normal user directories, too.
491b714 Add non-type template parameter test for disabled -Wtautological-compare warning in template specializations.
d9553e3 ObjectiveC. Define a new cc1 flag -fobjc-subscripting-legacy-runtime which is off by default and on only when using ObjectiveC legacy runtime. Use this flag to allow array and dictionary subscripting and disallow objectiveC pointer arithmatic in ObjectiveC legacy runtime. // rdar://15363492
cbc1987 Disable -Wtautological-compare in template instantiations.
311cb2b Disable -Wtautological-constant-out-of-range-compare in template instantiations.
c6911a2 SanitizerArgs: add ability to filter/diagnose unsupported sanitizers.
2f0754c AArch64: Fix wildcard matching on CHECK lines. Now recognises arch64--.
e28bdc3 Sema: Make helper function static.
8b1ab40 Simplify computation of visible module set.
32b5ca0 Support return type deduction for templates in -fdelayed-template-parsing (microsoft) mode
257ddb2 ObjectiveC migrator. When inferring readwrite property, do not remove the setter if its availability differs from availability of the getter (which is now turned into a property). Otherwise, synthesized setter will inherit availability of the property (which is incorrect). // rdar://15300059

git-subtree-dir: llvm/tools/clang
git-subtree-split: 93574ce14f6efbb1f7e7502f47f1328f446682cd
CodeExtractor for forall mesh
CodeExtractor for forall array
start of renderall codegen
Merge with LLVM/Clang trunk.
Merge with LLVM/Clang trunk.
Squashed 'llvm/projects/libcxx/' content from commit 28754d0

git-subtree-dir: llvm/projects/libcxx
git-subtree-split: 28754d0378f6ae4d82256bd80ab457b23da8c430
Merge commit 'f027761a3b3f2c2b78a0f939fcac358d9304f5c0' as 'llvm/projects/libcxx'
Merge branch 'overhaul' of darwin:scout into overhaul
Merge commit '4910ce353d7af2245bfb0a4b031ecae3c8a64a86' as 'llvm/tools/lldb'
Squashed 'llvm/tools/lldb/' content from commit 4d890d3

git-subtree-dir: llvm/tools/lldb
git-subtree-split: 4d890d36bff1b5798e58a8ec59e43826fe8e16cc
more work on renderall
Merge branch 'overhaul' of darwin:scout into overhaul
Added git-tools script to merge with llvm/projects/libcxx.
Added git-tools script to merge with llvm/tools/lldb subtree.
Temporarily disable build of LLDB.
codeExtractor/DominatorTree changes for latest llvm/clang
Merge branch 'overhaul' of darwin:scout into overhaul