summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* AVX-512: Optimized pattern for truncate with unsigned saturation.Elena Demikhovsky2017-01-052-0/+170
| | | | | | | DAG patterns optimization: truncate + unsigned saturation supported by VPMOVUS* instructions in AVX-512. Differential revision: https://reviews.llvm.org/D28216 llvm-svn: 291092
* Get tests linking on Windows.Eric Fiselier2017-01-051-0/+6
| | | | | | | This patch is a temporary hack to get the tests passing on Windows. llvm-svn: 291091
* [AVR] Revert the functional part of r291083Dylan McKay2017-01-051-2/+1
| | | | | | | As Senthil points out, this is unnecessary as we already have these registers in AddlRegNames. llvm-svn: 291090
* [sancov] force default flags for windowsMike Aizatsky2017-01-052-3/+6
| | | | llvm-svn: 291089
* test: remove unnecessary triple argumentSaleem Abdulrasool2017-01-051-1/+1
| | | | | | | This test is entirely target agnostic. Avoid the triple to repair the build bots. llvm-svn: 291088
* [libcxx] Fix PR31402: map::__find_equal_key has undefined behavior.Eric Fiselier2017-01-052-68/+20
| | | | | | | | | | | | | | | | Summary: This patch fixes llvm.org/PR31402 by replacing `map::__find_equal_key` with `__tree::__find_equal`, which has already addressed the same undefined behavior. Unfortunately I haven't been able to write a test case which causes the UBSAN diagnostic mentioned in the bug report. I can write tests which exercise the UB but for some reason they do not cause UBSAN to fail. Any help writing a test case would be appreciated. Reviewers: mclow.lists, vsk, EricWF Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28131 llvm-svn: 291087
* [X86] Add Intel Kaby Lake model numbers to getHostCPUName aliased to ↵Craig Topper2017-01-051-2/+4
| | | | | | | | "skylake" since there are no feature differences. Model numbers found here http://www.sandpile.org/x86/cpuid.htm llvm-svn: 291086
* MC: support passing search paths to the IASSaleem Abdulrasool2017-01-056-1/+33
| | | | | | | This is needed to support inclusion in inline assembly via the `.include` directive. llvm-svn: 291085
* [X86] Change getHostCPUName to report Intel model 0x4e as "skylake" instead ↵Craig Topper2017-01-051-3/+11
| | | | | | | | | | | | | | | | | | | of "skylake-avx512". Add the proper 0x55 model for "skylake-avx512". Summary: Intel's i5-6300U CPU is reporting to have a model id of 78 (4e). The Host detection assumes that to be Skylake Xeon (with AVX512 support), instead of a normal Skylake machine. Patch by: Valentin Churavy Reviewers: nalimilan, craig.topper Subscribers: hfinkel, tkelman, craig.topper, nalimilan, llvm-commits Differential Revision: https://reviews.llvm.org/D28221 llvm-svn: 291084
* [AVR] Support r26 through r31 in inline assemblyDylan McKay2017-01-051-1/+12
| | | | | | These are synonyms for the X,Y, and Z registers. llvm-svn: 291083
* Add AVR target and toolchain to ClangDylan McKay2017-01-058-0/+319
| | | | | | | | | | | | | | | | | Summary: Authored by Senthil Kumar Selvaraj This patch adds barebones support in Clang for the (experimental) AVR target. It uses the integrated assembler for assembly, and the GNU linker for linking, as lld doesn't know about the target yet. The DataLayout string is the same as the one in AVRTargetMachine.cpp. The alignment specs look wrong to me, as it's an 8 bit target and all types only need 8 bit alignment. Clang failed with a datalayout mismatch error when I tried to change it, so I left it that way for now. Reviewers: rsmith, dylanmckay, cfe-commits, rengolin Subscribers: rengolin, jroelofs, wdng Differential Revision: https://reviews.llvm.org/D27123 llvm-svn: 291082
* Fix test suite configuration when no lit.site.cfg is availableEric Fiselier2017-01-051-3/+5
| | | | llvm-svn: 291081
* [sancov] enabling tests on ppc and s390Mike Aizatsky2017-01-051-1/+2
| | | | | | | | The reason they should have failed: absent sancov. In this test (vs the trace_pc_guard test) sancov is not yet called (not implemented). llvm-svn: 291080
* Tentative fix for modules build.Peter Collingbourne2017-01-051-0/+1
| | | | llvm-svn: 291079
* [libFuzzer] use /tmp (or $TMPDIR, if present) to store temp files during mergeKostya Serebryany2017-01-054-2/+13
| | | | llvm-svn: 291078
* fixing build, accidentally deleted two linesMike Aizatsky2017-01-051-0/+2
| | | | llvm-svn: 291077
* [sancov] workaround for absence of weak symbols on winMike Aizatsky2017-01-051-0/+2
| | | | llvm-svn: 291076
* Per [temp.deduct.call], do not deduce an array bound of 0 from an empty ↵Richard Smith2017-01-052-1/+17
| | | | | | initializer list. llvm-svn: 291075
* Factor out more common logic in template argument deduction from function ↵Richard Smith2017-01-051-71/+62
| | | | | | | | call arguments. No functionality change intended. llvm-svn: 291074
* Fix build bots.Peter Collingbourne2017-01-051-2/+2
| | | | llvm-svn: 291073
* Get test-suite configuring on Windows with clang-clEric Fiselier2017-01-051-9/+50
| | | | | | | | | | | | | | | This patch gets the test suite "working" on Windows, although none of the tests pass. In order to reuse the existing configuration, which uses UNIX style flags not accepted by clang-cl, this patch only works with clang++. When clang-cl is specified the test harness secretly looks for clang++ and then it configures it using the INCLUDE and LIB enviroment variables. This is very much a work in progress. llvm-svn: 291072
* [sancov] workaround for absence of weak symbols on winMike Aizatsky2017-01-051-2/+1
| | | | llvm-svn: 291071
* [gtest] Teach the sanitizer's custom gtest compilations to disableChandler Carruth2017-01-052-0/+2
| | | | | | | | | | a warning that 'gtest-all.cc' directly triggers in the newer 1.8.0 version. This should fix a warning in folks' build and bring a couple of -Werror bots back to life. llvm-svn: 291070
* IR: Module summary representation for type identifiers; summary test ↵Peter Collingbourne2017-01-056-0/+239
| | | | | | | | | | | | | | | scaffolding for lowertypetests. Set up basic YAML I/O support for module summaries, plumb the summary into the pass and add a few command line flags to test YAML I/O support. Bitcode support to come separately, as will the code in LowerTypeTests that actually uses the summary. Also add a couple of tests that pass by virtue of the pass doing nothing with the summary (which happens to be the correct thing to do for those tests). Differential Revision: https://reviews.llvm.org/D28041 llvm-svn: 291069
* [sancov] introducing SANCOV_OPTIONSMike Aizatsky2017-01-056-4/+163
| | | | | | | | | | | | | | Summary: At this point SANCOV_OPTIONS are not functional but it is our intent to move here sanitizer coverage flags from various sanitizers _OPTIONS. Reviewers: kcc Subscribers: kubabrecka, mgorny Differential Revision: https://reviews.llvm.org/D28311 llvm-svn: 291068
* Revert r291025 ("AMDGPU: Remove unneccessary intermediate vector")Richard Smith2017-01-051-22/+18
| | | | | | | This caused buildbot failures due to returning ArrayRefs referencing local (temporary) objects. llvm-svn: 291067
* [PM] Fix a typo in a comment that Davide spotted in another code review.Chandler Carruth2017-01-051-1/+1
| | | | llvm-svn: 291066
* PR31540: install libc++abi headers into include/c++/v1 in build area.Richard Smith2017-01-051-1/+9
| | | | | | This allows an in-build-area clang binary to find <cxxabi.h>. llvm-svn: 291065
* Fix assertion failure on deduction failure due to too short template ↵Richard Smith2017-01-052-2/+10
| | | | | | | | | | | | argument list. We were previously incorrectly using TDK_TooFewArguments to report a template argument list that's too short, but it actually means that the number of arguments in a top-level function call was insufficient. When diagnosing the problem, SemaOverload would (rightly) assert that the failure kind didn't make any sense. llvm-svn: 291064
* [gtest] Work around broken installs of libc++ where we don't haveChandler Carruth2017-01-051-1/+7
| | | | | | | | | | | | | | | | | | | a cxxabi.h in the include search paths. This comes up when libc++ is installed with some other abi library. At some points in time in history we have had CMake hackery to try and get a cxxabi.h installed that would work, but there are lots of examples lacking this. Also, the just-built tree with libc++ seems to not quite get this right. To let folks make progress, we can easily work around this by detecting that the header is missing and disabling the relevant parts of gtest. This should fix the last remainging build bot failures. While these failures are typically indicative of a questionable install, I don't think gtest should be the thing that surfaces those issues and I don't want folks blocked on this. llvm-svn: 291063
* break overly long line in sanitizer_win.ccBob Haarman2017-01-051-1/+2
| | | | llvm-svn: 291062
* [AVX-512] Update vextract64x4 intrinsic upgrade test cases to use a legal ↵Craig Topper2017-01-051-3/+4
| | | | | | immediate so they test the instruction selection correctly. llvm-svn: 291061
* Fix XPASS buildbot failure related to structured bindingsEric Fiselier2017-01-051-1/+1
| | | | | | | | | | | The test was previously set to XFAIL if __cpp_structured_bindings wasn't defined. However there are Clang 4.0 versions which do not define this macro but do provide structured bindings, which causes the test to pass unexpectedly. This patch changes the XFAIL to an UNSUPPORTED. llvm-svn: 291060
* Fix PR26961 - Add default constructor to std::pointer_safety struct.Eric Fiselier2017-01-053-2/+37
| | | | | | | | In ABI v1 libc++ implements std::pointer_safety as a class type instead of an enumeration. However this class type does not provide a default constructor as it should. This patch adds that default constructor. llvm-svn: 291059
* [Sema] Mark undefined ctors as deleted. NFC.George Burgess IV2017-01-051-4/+4
| | | | | | | | Looks like these functions exist just to prevent bad implicit conversions. Rather than waiting for the linker to complain about undefined references to them, we can mark them as deleted. llvm-svn: 291058
* Fix std::pointer_safety type in ABI v2Eric Fiselier2017-01-056-3/+98
| | | | | | | | | | | | | | | | | | | | In the C++ standard `std::pointer_safety` is defined as a C++11 strongly typed enum. However libc++ currently defines it as a class type which simulates a C++11 enumeration. This can be detected in valid C++ code. This patch introduces an the _LIBCPP_ABI_POINTER_SAFETY_ENUM_TYPE ABI option. When defined `std::pointer_safety` is implemented as an enum type. Unfortunatly this also means it can no longer be provided as an extension in C++03. Additionally this patch moves the definition for `get_pointer_safety()` out of the dylib, and into the headers. New usages of `get_pointer_safety()` will now use the inline version instead of the dylib version. However in order to keep the dylib ABI compatible the old definition is explicitly compiled into it. llvm-svn: 291046
* [MS] Instantiate default args during instantiation of exported default ctorsReid Kleckner2017-01-055-63/+89
| | | | | | | | | | | | | | | | | | | | Summary: Replace some old code that probably pre-dated the change to delay emission of dllexported code until after the closing brace of the outermost record type. Only uninstantiated default argument expressions need to be handled now. It is enough to instantiate default argument expressions when instantiating dllexported default ctors. This also fixes some double-diagnostic issues in this area. Fixes PR31500 Reviewers: rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28274 llvm-svn: 291045
* Mark test that is testing statistics output as requiring AssertionsMehdi Amini2017-01-051-1/+1
| | | | | | We only enable statistic in an assert build by default. llvm-svn: 291044
* [InstSimplify] add tests to show missing select simplifications; NFCSanjay Patel2017-01-051-0/+28
| | | | llvm-svn: 291043
* fix warning about noreturn in sanitizer_win's internal__exit()Bob Haarman2017-01-051-1/+15
| | | | | | | | | | | | | | Summary: A previous fix used __assume(0), but not all compilers know that control will not pass that. This patch uses a macro which works in more compilers. Reviewers: rnk Subscribers: kubabrecka Differential Revision: https://reviews.llvm.org/D28268 llvm-svn: 291042
* Correct Vectorcall Register passing and HVA BehaviorErich Keane2017-01-053-53/+237
| | | | | | | | | | | | | Front end component (back end changes are D27392). The vectorcall calling convention was broken subtly in two cases. First, it didn't properly handle homogeneous vector aggregates (HVAs). Second, the vectorcall specification requires that only the first 6 parameters be eligible for register assignment. This patch fixes both issues. Differential Revision: https://reviews.llvm.org/D27529 llvm-svn: 291041
* [PM] Edit comments in PassManager.h.Justin Lebar2017-01-051-128/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This covers most of PassManager.h, up to the introduction of inner/outer analysis proxies. If there's a theme to these changes, it's simplifying the language. For example: * PreservedAnalyses is a "set of analyses", not an "abstract set". "Abstract" doesn't have any particular meaning here. * "Build types for the concept types" becomes "define the concept types". * Instead of "data structures optimized for pointer-like types using the alignment-provided low bits", say "data structures that use the low bits of pointers." * "Clear the map pointing into the results list" becomes "Delete the map entries that point into the results list." This patch also fixes a few places where we referred to "function" and "module" pass/analysis managers, instead of the more abstract "IRUnitT" PM/AMs we have now. Subscribers: mehdi_amini Differential Revision: https://reviews.llvm.org/D27367 llvm-svn: 291040
* Fix Sphinx build error caused by bad indentationEric Fiselier2017-01-051-1/+1
| | | | llvm-svn: 291039
* Patch gtest to move GTEST_IS_THREADSAFE out of unrelated GTEST_HAS_SEH ifdefReid Kleckner2017-01-051-2/+2
| | | | | | | Fixes the sanitizer Windows build, which happens to set -DGTEST_HAS_SEH=0. llvm-svn: 291038
* [DWARF] Null out the debug locs of load instructions that have been moved by ↵Wolfgang Pieb2017-01-042-9/+18
| | | | | | | | | | | GVN performing partial redundancy elimination (PRE). Not doing so can cause jumpy line tables and confusing (though correct) source attributions. Differential Revision: https://reviews.llvm.org/D27857 llvm-svn: 291037
* [gtest] The way EXPECT_TEST now works after upgrading gtest triggers anChandler Carruth2017-01-041-3/+6
| | | | | | | | ODR use. These traits don't have a definition as they're intended to be used strictly at compile time. Change the tests to use static_assert to move the entire thing into compile-time. llvm-svn: 291036
* [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VISEric Fiselier2017-01-0469-773/+774
| | | | | | | | | | | | | The name _LIBCPP_TYPE_VIS_ONLY is no longer accurate because both _LIBCPP_TYPE_VIS and _LIBCPP_TYPE_VIS_ONLY expand to __attribute__((__type_visibility__)) with Clang. The only remaining difference is that _LIBCPP_TYPE_VIS_ONLY can be applied to templates whereas _LIBCPP_TYPE_VIS cannot (due to dllimport/dllexport not being allowed on templates). This patch renames _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS. llvm-svn: 291035
* Only instantiate members of nested classes in local classes once, rather ↵Richard Smith2017-01-042-2/+16
| | | | | | than once per enclosing class. llvm-svn: 291034
* [gtest] Fix the way we disable a warning for unittests.Chandler Carruth2017-01-042-5/+4
| | | | | | | | I somehow wrote this fix and then lost it prior to commit. Really sorry about the noise. This should fix some issues with hacking add_definition to do things with warning flags. llvm-svn: 291033
* Fix private inheritance in C++03 tuple_sizeEric Fiselier2017-01-041-3/+3
| | | | llvm-svn: 291032
OpenPOWER on IntegriCloud