summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix conversion index / argument index mismatch when diagnosing overload ↵Richard Smith2017-01-102-32/+24
| | | | | | resolution failure. llvm-svn: 291596
* Fix memory leak in a unit test.Rui Ueyama2017-01-101-1/+1
| | | | llvm-svn: 291595
* [PGO] Update the test cases after r291588.Rong Xu2017-01-101-3/+3
| | | | llvm-svn: 291594
* [llvm-config] Canonicalize CMake booleans to 0/1Michal Gorny2017-01-104-16/+45
| | | | | | | | | | | | | | | | | | | | Following the similar change to lit configuration, ensure that all CMake booleans are canonicalized to 0/1 when being passed to llvm-config. This fixes the incorrect interpretation of values when user passes another value than the ON/OFF, and simplifies the code by removing unnecessary string matching. Furthermore, the code for --has-rtti and --has-global-isel has been modified to print consistent values indepdently of the boolean used by passed by the user to CMake. Sadly, the code already implicitly used different values for the two (YES/NO for --has-rtti, ON/OFF for --has-global-isel). Include tests for all booleans and multi-value options in llvm-config. Differential Revision: https://reviews.llvm.org/D28366 llvm-svn: 291593
* [CMake][libcxx] Move Python check to main CMake filePetr Hosek2017-01-102-7/+9
| | | | | | | | | | This is to make sure this check is called even when building as part of LLVM runtimes when we are doing standalone but not out of tree build. Differential Revision: https://reviews.llvm.org/D28392 llvm-svn: 291592
* builtins: repair __gtsf2 after SVN r291396Saleem Abdulrasool2017-01-101-0/+2
| | | | | | | The argument adjustment was accidentally removed, resulting in the use of stale register values. llvm-svn: 291591
* [CMake] Handle common options for runtimes buildPetr Hosek2017-01-101-0/+4
| | | | | | | | | | | All the existing runtimes relies on flags which are set by AddLLVM and HandleLLVMOptions. In the standalone case, they would include these themselves, but when being built using LLVM runtimes we should include these in the top-level runtimes CMake files. Differential Revision: https://reviews.llvm.org/D28389 llvm-svn: 291590
* [LV] Don't panic when encountering the IV of an outer loop.Michael Kuperstein2017-01-102-2/+71
| | | | | | | | | | | | | | | | | | Bail out instead of asserting when we encounter this situation, which can actually happen. The reason the test uses the new PM is that the "bad" phi, incidentally, gets cleaned up by LoopSimplify. But LICM can create this kind of phi and preserve loop simplify form, so the cleanup has no chance to run. This fixes PR31190. We may want to solve this in a less conservative manner, since this phi is actually uniform within the inner loop (or we may want LICM to output a cleaner promotion to begin with). Differential Revision: https://reviews.llvm.org/D28490 llvm-svn: 291589
* [PGO] Turn off comdat renaming in IR PGO by defaultRong Xu2017-01-109-36/+150
| | | | | | | | | | | | | | | | | | | | | | | Summary: In IR PGO we append the function hash to comdat functions to avoid the potential hash mismatch. This turns out not legal in some cases: if the comdat function is address-taken and used in comparison. Renaming changes the semantic. This patch turns off comdat renaming by default. To alleviate the hash mismatch issue, we now rename the profile variable for comdat functions. Profile allows co-existing multiple versions of profiles with different hash value. The inlined copy will always has the correct profile counter. The out-of-line copy might not have the correct count. But we will not have the bogus mismatch warning. Reviewers: davidxl Subscribers: llvm-commits, xur Differential Revision: https://reviews.llvm.org/D28416 llvm-svn: 291588
* [ARM] Remove rbit intrinsics and autoupgrade to generic bitreverse.Chad Rosier2017-01-103-11/+1
| | | | | | Testing already covered by CodeGen/ARM/rbit.ll llvm-svn: 291587
* AMDGPU: Add tests for HasMultipleConditionRegistersMatt Arsenault2017-01-102-0/+168
| | | | | | This was enabled without many specific tests or the comment. llvm-svn: 291586
* [CostModel][X86] Add AVX512VL vector shift cost tests.Simon Pilgrim2017-01-103-0/+57
| | | | llvm-svn: 291585
* [X86][AVX512]Improving shuffle lowering by using AVX-512 EXPAND* instructions Michael Zuckerman2017-01-102-6/+448
| | | | | | | | | | | | | | | | | This patch fix PR31351: https://llvm.org/bugs/show_bug.cgi?id=31351 1. This patch adds new type of shuffle lowering 2. We can use the expand instruction, When the shuffle pattern is as following: { 0*a[0]0*a[1]...0*a[n] , n >=0 where a[] elements in a ascending order}. Reviewers: 1. igorb 2. guyblank 3. craig.topper 4. RKSimon Differential Revision: https://reviews.llvm.org/D28352 llvm-svn: 291584
* [OpenMP] Remove outdated comments. NFC.Kelvin Li2017-01-101-4/+0
| | | | llvm-svn: 291583
* [ARM] Use generic bitreverse intrinsic, rather than ARM specific rbit.Chad Rosier2017-01-103-8/+8
| | | | | | The backend already supports lowering this intrinsic to a rbit instruction. llvm-svn: 291582
* [analyzer] Treat pointers to static member functions as function pointersDevin Coughlin2017-01-102-1/+29
| | | | | | | | | | | | Sema treats pointers to static member functions as having function pointer type, so treat treat them as function pointer values in the analyzer as well. This prevents an assertion failure in SValBuilder::evalBinOp caused by code that expects function pointers to be Locs (in contrast, PointerToMember values are nonlocs). Differential Revision: https://reviews.llvm.org/D28033 llvm-svn: 291581
* Qualify some type names that I thought were fine, but some of the bots don't ↵Marshall Clow2017-01-101-2/+3
| | | | | | like. llvm-svn: 291580
* [OpenMP] Sema and parsing for 'target teams distribute simd’ pragmaKelvin Li2017-01-1048-14/+5683
| | | | | | | | This patch is to implement sema and parsing for 'target teams distribute simd’ pragma. Differential Revision: https://reviews.llvm.org/D28252 llvm-svn: 291579
* LangRef: Note that calls also support fast math flagsMatt Arsenault2017-01-101-2/+3
| | | | | | | | This is already documented on the call instruction, but not in the list of supported instructions in the fast math flag section. llvm-svn: 291578
* [SimplifyLibCalls] Propagate fast math flags while optimizing pow().Davide Italiano2017-01-102-29/+32
| | | | llvm-svn: 291577
* CGDecl: Skip static variable initializers in unreachable codeMatthias Braun2017-01-102-2/+14
| | | | | | | | This fixes http://llvm.org/PR31054 Differential Revision: https://reviews.llvm.org/D28505 llvm-svn: 291576
* [AArch64] Add support for lowering bitreverse to the rbit instruction.Chad Rosier2017-01-106-34/+46
| | | | | | Differential Revision: https://reviews.llvm.org/D28379 llvm-svn: 291575
* [AArch64] Use generic bitreverse intrinsic, rather than AArch64 specific.Chad Rosier2017-01-103-7/+7
| | | | | | Differential Revision: https://reviews.llvm.org/D28400 llvm-svn: 291574
* Give local binding to VER_NDX_LOCAL symbols.Rafael Espindola2017-01-104-12/+34
| | | | | | | We were already dropping them from the dynamic symbol table, but the regular symbol table was still listing them as globals. llvm-svn: 291573
* Fix up some mismatched SFINAE conditionsin shared_ptr; some used '_Tp*', ↵Marshall Clow2017-01-101-15/+17
| | | | | | others used 'element_type *'. Today, they're the same - but soon they won't be. No functional change. llvm-svn: 291572
* [mips] Fix Mips MSA instrinsicsSimon Dardis2017-01-104-19/+3096
| | | | | | | | | | | | | | | | The usage of some MIPS MSA instrinsics that took immediates could crash LLVM during lowering. This patch addresses that behaviour. Crucially this patch also makes the use of intrinsics with out of range immediates as producing an internal error. The ld,st instrinsics would trigger an assertion failure for MIPS64 as their lowering would attempt to add an i32 offset to a i64 pointer. Reviewers: vkalintiris, slthakur Differential Revision: https://reviews.llvm.org/D25438 llvm-svn: 291571
* [scudo] Separate hardware CRC32 routinesKostya Kortchinsky2017-01-107-34/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: As raised in D28304, enabling SSE 4.2 for the whole Scudo tree leads to the emission of SSE 4.2 instructions everywhere, while the runtime checks only applied to the CRC32 computing function. This patch separates the CRC32 function taking advantage of the hardware into its own file, and only enabled -msse4.2 for that file, if detected to be supported by the compiler. Another consequence of removing SSE4.2 globally is realizing that memcpy were not being optimized, which turned out to be due to the -fno-builtin in SANITIZER_COMMON_CFLAGS. So we now explicitely enable builtins for Scudo. The resulting assembly looks good, with some CALLs are introduced instead of the CRC32 code being inlined. Reviewers: kcc, mgorny, alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D28417 llvm-svn: 291570
* Add support for anonymous local symbols.Rafael Espindola2017-01-103-38/+69
| | | | | | | | | This actually simplifies the code a bit as now all local symbols are handled uniformly. This should fix the build of www/webkit2-gtk3. llvm-svn: 291569
* [XRay][AArch64] An attempt to fix test patching-unpatching.cc by flushing ↵Serge Rogatch2017-01-102-2/+7
| | | | | | | | | | | | | | the instruction cache after code modification Summary: This patch attempts to fix test patching-unpatching.cc . The new code flushes the instruction cache after modifying the program at runtime. Reviewers: dberris, rengolin, pelikan, rovka Subscribers: rovka, llvm-commits, iid_iunknown, aemerson Differential Revision: https://reviews.llvm.org/D27996 llvm-svn: 291568
* [mips] Honour -mno-odd-spreg for vector splat (again)Simon Dardis2017-01-102-2/+61
| | | | | | | | | | | | | | | | | | | | Previous the lowering of FILL_FW would use the MSA128W register class when performing a vector splat. Instead it should be honouring -mno-odd-spreg and only use the even registers when performing a splat from word to vector register. Logical follow-on from r230235. This fixes PR/31369. A previous commit was missing the test case and had another differential in it. Reviewers: slthakur Differential Revision: https://reviews.llvm.org/D28373 llvm-svn: 291566
* [OpenMP] Basic support for a parallel directive in a target region on an ↵Arpith Chacko Jacob2017-01-105-27/+611
| | | | | | | | | | | | | | | | | | | | | NVPTX device Summary: This patch introduces support for the execution of parallel constructs in a target region on the NVPTX device. Parallel regions must be in the lexical scope of the target directive. The master thread in the master warp signals parallel work for worker threads in worker warps on encountering a parallel region. Note: The patch does not yet support capture of arguments in a parallel region so the test cases are simple. Reviewers: ABataev Differential Revision: https://reviews.llvm.org/D28145 llvm-svn: 291565
* [Sema] Avoid -Wshadow warning when a "redefinition of " error is presentedAlex Lorenz2017-01-104-23/+55
| | | | | | | | | | | This commit ensures that clang avoids the redundant -Wshadow warning for variables that already get a "redefinition of " error. rdar://29067894 Differential Revision: https://reviews.llvm.org/D28350 llvm-svn: 291564
* XFAIL TestRegisterVariables on gcc-4.8-x86_64Pavel Labath2017-01-101-0/+2
| | | | | | | I have previously enabled this test for this configuration. However, it turns out it only passes for gcc-4.9. llvm-svn: 291563
* Revert "[mips] Honour -mno-odd-spreg for vector splat"Simon Dardis2017-01-102-18/+2
| | | | | | | This reverts commit r291556. It was a mixture of two differentials and was missing a test. llvm-svn: 291562
* [sanitizer] Fix sigaction definition on 32-bit sparcMaxim Ostapenko2017-01-101-2/+5
| | | | | | | | Patch by James Clarke. Differential Revision: https://reviews.llvm.org/D28309 llvm-svn: 291561
* Revert r291509, 291510 and 291511Diana Picus2017-01-105-43/+18
| | | | | | | | | | | | | | | | | | | | | | | Revert "ASAN activate/deactive controls thread_local_quarantine_size_kb option." Revert "Bypass quarantine when quarantine size is set ot zero." Revert "ASAN activate/deactive controls thread_local_quarantine_size_kb option." One of these commits broke some of the ARM / AArch64 buildbots: TEST 'AddressSanitizer-aarch64-linux :: TestCases/Posix/start-deactivated.cc' FAILED Command Output (stderr): -- /home/buildslave/buildslave/clang-cmake-aarch64-42vma/llvm/projects/compiler-rt/test/asan/TestCases/Posix/start-deactivated.cc:85:12: error: expected string not found in input // CHECK: WARNING: AddressSanitizer failed to allocate 0xfff{{.*}} bytes ^ <stdin>:1:1: note: scanning from here start-deactivated.cc.tmp: /home/buildslave/buildslave/clang-cmake-aarch64-42vma/llvm/projects/compiler-rt/test/asan/TestCases/Posix/start-deactivated.cc:40: void test_malloc_shadow(char *, size_t, bool): Assertion `(char *)__asan_region_is_poisoned(p - 1, sz + 1) == (expect_redzones ? p - 1 : nullptr)' failed. ^ <stdin>:2:1: note: possible intended match here Error: Aborted (core dumped) ^ llvm-svn: 291560
* Improve Type::GetTypeScopeAndBasenameHelper and add unit testsTamas Berghammer2017-01-107-59/+117
| | | | | | | | | | Previously it failed to handle nested types inside templated classes making it impossible to look up these types using the fully qualified name. Differential revision: https://reviews.llvm.org/D28466 llvm-svn: 291559
* RuntimeDyldELF: implement R_AARCH64_PREL64 relocEugene Leviant2017-01-103-1/+12
| | | | | | Differential revision: https://reviews.llvm.org/D28122 llvm-svn: 291558
* [mips] Honour -mno-odd-spreg for vector splatSimon Dardis2017-01-102-2/+18
| | | | | | | | | | | | | | | | | Previous the lowering of FILL_FW would use the MSA128W register class when performing a vector splat. Instead it should be honouring -mno-odd-spreg and only use the even registers when performing a splat from word to vector register. Logical follow-on from r230235. This fixes PR/31369. Reviewers: slthakur Differential Revision: https://reviews.llvm.org/D28373 llvm-svn: 291556
* [cmake] Fix LLVM_LINK_LLVM_DYLIB build, againPavel Labath2017-01-101-1/+7
| | | | | | | | | | | | | The llvm_config hack for lldb-server is only necessary for !DYLIB builds, as otherwise we would get unresolved symbols from lldb libraries which do not track their dependencies correctly (all of them). In a DYLIB build, the so will already be added to the link dependencies and we can use that to resolve all missing symbols. The proper fix for this would be to have each lldb library track its dependencies correctly. llvm-svn: 291555
* [LLDB][MIPS] Fix TestLldbGdbServer failure for MIPSNitesh Jain2017-01-102-1/+265
| | | | | | | | | | Reviewers: labath, clayborg Subscribers: jaydeep, bhushan, lldb-commits, slthakur Differential Revision: https://reviews.llvm.org/D27088 llvm-svn: 291554
* [LLDB][MIPS] Revert TestLldbGdbServer failure for MIPSNitesh Jain2017-01-102-265/+1
| | | | llvm-svn: 291553
* Remove fixme, use ASTContext::getCanonicalTemplateSpecializationType.Vassil Vassilev2017-01-101-10/+2
| | | | | | Reviewed by Richard Smith (D28306). llvm-svn: 291552
* Fix rejects-valid with default member initializers exposed by r291318.Richard Smith2017-01-102-3/+8
| | | | | | | Don't prematurely clean up an RAII object; there's another RAII object in the same scope that tries to save and restore the same member! llvm-svn: 291551
* Mark tests as unsupported under libcpp-no-exceptionsRoger Ferrer Ibanez2017-01-102-2/+2
| | | | | | | | | | The destructor of std::promise needs to construct a std::future_error exception so it calls std::make_exception_ptr. But under libcpp-no-exceptions this will trigger an abort. Differential Revision: https://reviews.llvm.org/D27614 llvm-svn: 291550
* [LLDB][MIPS] Fix TestLldbGdbServer failure for MIPSNitesh Jain2017-01-102-1/+265
| | | | | | | | | | Reviewers: labath, clayborg Subscribers: jaydeep, bhushan, lldb-commits, slthakur Differential Revision: https://reviews.llvm.org/D27088 llvm-svn: 291549
* [DAGCombiner] Merge together duplicate checks for folding fold (select C, 1, ↵Craig Topper2017-01-101-10/+4
| | | | | | | | X) -> (or C, X) and folding (select C, X, 0) -> (and C, X). Also be consistent about checking that both the condition and the result type are i1. NFC I guess previously we just assumed if the result type was i1, then the condition type must also be i1? llvm-svn: 291548
* [ObjectYAML] Missed one mixup in the debug_line testChris Bieneman2017-01-101-1/+0
| | | | llvm-svn: 291547
* [ObjectYAML] Support for DWARF line tablesChris Bieneman2017-01-1010-13/+1004
| | | | | | | | | | | | | | One more try... relanding r291541 with a fix to properly gate MaxOpsPerInst on DWARF version. Description from r291541: This patch re-lands r291470, which failed on Linux bots. The issue (I believe) was undefined behavior because the size of llvm::dwarf::LineNumberOps was not explcitly specified or consistently respected. The updated patch adds an explcit underlying type to the enum and preserves the size more correctly. Original description: This patch adds support for the DWARF debug_lines section. The line table state machine opcodes are preserved, so this can be used to test the state machine evaluation directly. llvm-svn: 291546
* [X86] Add recent CPU strings to some of the tests that check other cpu names.Craig Topper2017-01-102-0/+29
| | | | llvm-svn: 291545
OpenPOWER on IntegriCloud