summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Re-land "[MS] Don't expect vftables to be provided for extern template ↵Reid Kleckner2016-06-296-27/+55
| | | | | | | | | | | | | | instantiations" Reverts r273305 and re-instates r273296. We needed to fix a bug in Sema::MarkVTableUsed to ensure that operator delete lookup occurs when the vtable is referenced. We already had a special case to look up operator delete when dllimport was used, but I think should really mark virtual destructors referenced any time the vtable is used. llvm-svn: 274147
* [InstCombine] Add full tests for FoldAndOfFCmps and FoldOrOfFCmpsTim Shen2016-06-292-104/+3156
| | | | | | | | | | | | Summary: This adds tests for covering all cases that FoldAndOfFCmps and FoldOrOfFCmps handle. Reviewers: spatel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21844 llvm-svn: 274144
* [llvm-cov] Change some FileCheck prefixes to make tests reusable (NFC)Vedant Kumar2016-06-292-34/+34
| | | | | | | | I'm planning on extending these two tests with checks that validate html coverage reports. Make it easier to extend them by not using a prefix called "CHECK". llvm-svn: 274143
* Add a regression test for PR28348.Nico Weber2016-06-291-0/+20
| | | | llvm-svn: 274142
* Revert r272251, it caused PR28348.Nico Weber2016-06-292-55/+1
| | | | llvm-svn: 274141
* [LLVMConfig.cmake.in] Create a new variable LLVM_CONFIG_EXPORTED_TARGETS ↵Michael Gottesman2016-06-291-0/+1
| | | | | | that contains the list of all targets exported via LLVMExports.cmake. llvm-svn: 274140
* Use LLVM_ATTRIBUTE_UNUSED instead of void casts; NFCVedant Kumar2016-06-291-7/+7
| | | | llvm-svn: 274139
* [X86] Lower blended PACKUSes using appropriate types.Ahmed Bougacha2016-06-292-11/+73
| | | | | | | | | | | | | When lowering two blended PACKUS, we used to disregard the types of the PACKUS inputs, indiscriminately generating a v16i8 PACKUS. This leads to non-selectable things like: (v16i8 (PACKUS (v4i32 v0), (v4i32 v1))) Instead, check that the PACKUSes have the same type, and use that as the final result type. llvm-svn: 274138
* [llvm-cov] Disable PGO name compression in a test fileVedant Kumar2016-06-291-0/+0
| | | | | | | | Some bots do not configure llvm with zlib enabled. Should fix: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/15571 llvm-svn: 274137
* Fix a typo; NFCVedant Kumar2016-06-291-1/+1
| | | | llvm-svn: 274136
* [llvm-cov] Do not allow ".." to escape the coverage sub-directoryVedant Kumar2016-06-294-2/+22
| | | | | | | | | | | In -output-dir mode, file reports are placed into a "coverage" directory. If filenames in the coverage mapping contain "..", they might escape out of this directory. Fix the problem by removing ".." from source filenames (expand the path component). llvm-svn: 274135
* [ELF] More self-explanatory error message when e_machine can't be inferred.Davide Italiano2016-06-291-1/+1
| | | | | | Thanks to Sean Silva for the suggestion! llvm-svn: 274134
* AvailabilityAttr: update the document for macosxManman Ren2016-06-291-0/+2
| | | | llvm-svn: 274133
* [libcxx] Fix a bug in strstreambuf::overflow.Akira Hatanaka2016-06-292-2/+33
| | | | | | | | | | | The end pointer should point to one past the end of the newly allocated buffer. rdar://problem/24265174 Differential Revision: http://reviews.llvm.org/D20334 llvm-svn: 274132
* [ManagedStatic] Reimplement double-checked locking with std::atomic.Benjamin Kramer2016-06-292-40/+17
| | | | | | | | | | | | | This gets rid of the memory fence in the hot path (dereferencing the ManagedStatic), trading for an extra mutex lock in the cold path (when the ManagedStatic was uninitialized). Since this only happens on the first accesses it shouldn't matter much. On strict architectures like x86 this removes any atomic instructions from the hot path. Also remove the tsan annotations, tsan knows how standard atomics work so they should be unnecessary now. llvm-svn: 274131
* Drop support for creating $stubs.Rafael Espindola2016-06-2911-298/+18
| | | | | | They are created by ld64 since OS X 10.5. llvm-svn: 274130
* Update tests to use at least darwin9.Rafael Espindola2016-06-2912-163/+71
| | | | llvm-svn: 274129
* [Docs][CodeGenerator] Don't specify the number of operands in BuildMIKrzysztof Parzyszek2016-06-292-17/+14
| | | | | | | | Patch by Visoiu Mistrih Francis. Differential Revision: http://reviews.llvm.org/D21819 llvm-svn: 274128
* [X86][SSE2] Added _mm_loadu_si64 test to match ↵Simon Pilgrim2016-06-291-0/+11
| | | | | | llvm\tools\clang\test\CodeGen\sse2-builtins.c llvm-svn: 274127
* [X86][SSE2] Updated tests to match ↵Simon Pilgrim2016-06-291-9/+8
| | | | | | llvm\test\CodeGen\X86\sse2-intrinsics-fast-isel-x86_64.ll llvm-svn: 274126
* Remove platform plugins from lldb-serverPavel Labath2016-06-297-120/+47
| | | | | | | | | | | | | | | | | | | Summary: This removes the last usage of Platform plugins in lldb-server -- it was used for launching child processes, where it can be trivially replaced by Host::LaunchProces (as lldb-server is always running on the host). Removing platform plugins enables us to remove a lot of other unused code, which was pulled in as a transitive dependency, and it reduces lldb-server size by 4%--9% (depending on build type and architecture). Reviewers: clayborg Subscribers: tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D20440 llvm-svn: 274125
* [X86] Regenerated popcnt combine testsSimon Pilgrim2016-06-291-14/+24
| | | | llvm-svn: 274124
* [ELF] - Added support for --unresolved-symbols option.George Rimar2016-06-296-12/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Option has next description (http://linux.die.net/man/1/ld): "--unresolved-symbols=method Determine how to handle unresolved symbols. There are four possible values for method according to documentation: ignore-all: Do not report any unresolved symbols. report-all: Report all unresolved symbols. This is the default. ignore-in-object-files: Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files. ignore-in-shared-libs: Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries." Since report-all is default and we traditionally do not report about undefined symbols in lld, report-all does not report about undefines from DSO. ignore-in-object-files also does not do that. Handling of that option differs from what gnu linkers do. Option works in next way in lld: ignore-all: Do not report any unresolved symbols. report-all: Report all unresolved symbols except symbols from DSOs. This is the default. ignore-in-object-files: The same as ignore-all. gnore-in-shared-libs: The same as report-all. This is PR24524. Differential revision: http://reviews.llvm.org/D21794 llvm-svn: 274123
* [OpenCL] Add attribute 'pure' to read_image built-in functions to enable ↵Alexey Bader2016-06-291-215/+215
| | | | | | | | | | | | optimizations. Reviewers: Anastasia, yaxunl Subscribers: pekka.jaaskelainen, pxli168, cfe-commits Differential Revision: http://reviews.llvm.org/D21795 llvm-svn: 274122
* [LLDB][MIPS] Check if libatomic needs to be specified explicitlySagar Thakur2016-06-291-0/+5
| | | | | | | | | | | Patch by Nitesh Jain. Summary : The problem appears while linking liblldb.so. The class Address contain atomic variable m_offset. The loading and storing of variable is access via atomic_load_8 and atomic_store_8 functions. Some target fail to implicitly link libatomic, which cause undefine reference to atomic_store_8/atomic_load_8. This patch uses http://reviews.llvm.org/D20896 to check if libatomic need to be explicitly link. Reviewed by labath. Differential: D20464 llvm-svn: 274121
* [OpenCL] Fix typo in as_type test.Alexey Bader2016-06-291-1/+1
| | | | | | Reset astype variable in f6 function to avoid matching with wrong value from f5 function. llvm-svn: 274120
* Use ArgList::hasFlag to check if -miamcu/-mno-iamcu is passed. NFC.Andrey Turetskiy2016-06-292-27/+22
| | | | | | Differential Revision: http://reviews.llvm.org/D21641 llvm-svn: 274119
* Convert DOS-style newlines.Rui Ueyama2016-06-291-10/+10
| | | | llvm-svn: 274118
* [tsan] Stop extending the block’s lifetime in dispatch_group_asyncKuba Brecka2016-06-292-1/+46
| | | | | | | | The dispatch_group_async interceptor actually extends the lifetime of the executed block. This means the destructor of the block (and captured variables) is called *after* dispatch_group_leave, which changes the semantics of dispatch_group_async. This patch fixes that. Differential Revision: http://reviews.llvm.org/D21816 llvm-svn: 274117
* XFAIL tests which fail with gcc on linuxPavel Labath2016-06-293-1/+3
| | | | llvm-svn: 274116
* Reverted patch 273864Elena Demikhovsky2016-06-295-59/+90
| | | | llvm-svn: 274115
* [Driver][AArch64] Add support for Broadcom Vulcan core.Pankaj Gode2016-06-294-1/+28
| | | | | | | | Adding support for new Broadcom Vulcan core (ARMv8.1A). Differential Revision: http://reviews.llvm.org/D21501 llvm-svn: 274114
* [ELF] - Check the input bitcode files for compatibility.George Rimar2016-06-292-3/+12
| | | | | | | | | | | | Previously BC files were not checked for the same platform etc, That lead to confusing error "Invalid section header entry size (e_shentsize) in ELF header" when mixing files for different architectures. Patch fixes PR28324. Differential revision: http://reviews.llvm.org/D21832 llvm-svn: 274113
* Move isValidCIdentifier to Strings.cpp.Rui Ueyama2016-06-294-12/+16
| | | | llvm-svn: 274112
* [ELF] - Updated comments. NFC.George Rimar2016-06-291-2/+2
| | | | | | As was suggested by Rafael Espíndola. llvm-svn: 274111
* [AVX512] Zero extend cmp intrinsic return value.Igor Breger2016-06-292-2/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D21746 llvm-svn: 274110
* Create Strings.cpp and move string manipulation functions to that file.Rui Ueyama2016-06-2910-60/+85
| | | | llvm-svn: 274109
* [SystemZ] Add floating-point test data class instructions.Marcin Koscielnicki2016-06-298-0/+164
| | | | | | | These are not used by CodeGen yet - ISD combiners creating the new node will come in subsequent patches. llvm-svn: 274108
* [LTO] Infer ELFKind/EMachine from Bitcode filesDavide Italiano2016-06-292-2/+41
| | | | | | | | | | So that users are not forced to pass `-m` on the command line when the inputs are all bitcode. PR: 28268 Differential Revision: http://reviews.llvm.org/D21779 llvm-svn: 274107
* Revert "[Coverage] Move logic to encode filenames and mappings into llvm (NFC)"Vedant Kumar2016-06-292-60/+21
| | | | | | | | | This reverts commit 520a8298d8ef676b5da617ba3d2c7fa37381e939 (r273055). This is breaking stage2 instrumented builds with "malformed coverage data" errors. llvm-svn: 274106
* Revert "[Coverage] Clarify ownership of a MemoryBuffer in the reader (NFC)"Vedant Kumar2016-06-293-10/+10
| | | | | | This reverts commit 1037ef2574adde2103ad221d63834c3e1df4a776. llvm-svn: 274105
* Revert "[Coverage] Adopt llvm::coverage::encodeFilenamesAndRawMappings (NFC)"Vedant Kumar2016-06-291-10/+18
| | | | | | | | | This reverts commit 161ff9db3a3d0d62880d1cb18d58182cd3034912 (r273056). This is breaking stage2 instrumented builds with "malformed coverage data" errors. llvm-svn: 274104
* Rename matchStr -> globMatch.Rui Ueyama2016-06-293-6/+6
| | | | llvm-svn: 274103
* Revert "[ValueTracking] Teach computeKnownBits for PHI nodes to compute sign ↵Craig Topper2016-06-293-128/+1
| | | | | | | | bit for a recurrence with a NSW addition." This is breaking an optimizaton remark test in clang. I've identified a couple fixes for that, but want to understand it better before I commit to anything. llvm-svn: 274102
* [Diag] Add getter shouldAlwaysPrint. NFCAdam Nemet2016-06-291-3/+3
| | | | | | | | | | For the new hotness attribute, the API will take the pass rather than the pass name so we can no longer play the trick of AlwaysPrint being a special pass name. This adds a getter to help the transition. There is also a corresponding llvm patch. llvm-svn: 274101
* [Diag] Add getter shouldAlwaysPrint. NFCAdam Nemet2016-06-294-7/+10
| | | | | | | | | | For the new hotness attribute, the API will take the pass rather than the pass name so we can no longer play the trick of AlwaysPrint being a special pass name. This adds a getter to help the transition. There is also a corresponding clang patch. llvm-svn: 274100
* Make SymbolTable::findAll to return only defined symbols.Rui Ueyama2016-06-291-16/+24
| | | | | | | | | | We allowed the function to return a vector that contains nullptrs which is weird. This change makes the function to return only defined symbols. Differential Revision: http://reviews.llvm.org/D21828 llvm-svn: 274099
* [ValueTracking] Teach computeKnownBits for PHI nodes to compute sign bit for ↵Craig Topper2016-06-293-1/+128
| | | | | | | | | | | | a recurrence with a NSW addition. If a operation for a recurrence is an addition with no signed wrap and both input sign bits are 0, then the result sign bit must also be 0. Similar for the negative case. I found this deficiency while playing around with a loop in the x86 backend that contained a signed division that could be optimized into an unsigned division if we could prove both inputs were positive. One of them being the loop induction variable. With this patch we can perform the conversion for this case. One of the test cases here is a contrived variation of the loop I was looking at. Differential revision: http://reviews.llvm.org/D21493 llvm-svn: 274098
* [DAGCombine] Teach DAG combine to handle ORs of shuffles involving zero ↵Craig Topper2016-06-292-57/+55
| | | | | | vectors where the zero vector is the first operand to the shuffle instead of the second. llvm-svn: 274097
* [DAGCombine] Add test cases to show that DAG combining an OR of two shuffles ↵Craig Topper2016-06-291-0/+44
| | | | | | with zero vectors doesn't work if the zero vector is the first operand of the shuffle. Fix coming in a follow up patch. llvm-svn: 274096
OpenPOWER on IntegriCloud