summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement __kmp_gettid() for NetBSDKamil Rytarowski2018-12-111-0/+3
| | | | | | | | | | | | | | | | Summary: _lwp_self() returns current Thread Id in a numeric version on NetBSD. Reviewers: joerg, mgorny, #openmp Reviewed By: mgorny Subscribers: llvm-commits, openmp-commits, #openmp Tags: #openmp Differential Revision: https://reviews.llvm.org/D55497 llvm-svn: 348873
* [test] Permit NetBSD in filesystem_dynamic_test_helper.pyMichal Gorny2018-12-111-1/+2
| | | | llvm-svn: 348872
* [libcxx] Only enable the availability LIT feature when we're testing libc++Louis Dionne2018-12-111-2/+4
| | | | | | | | Other standard libraries don't implement availability markup, so it doesn't make sense to e.g. XFAIL tests based on availability markup outside of libc++. llvm-svn: 348871
* [HotColdSplitting] Disable outlining landingpad instructions (PR39917)Vedant Kumar2018-12-112-6/+5
| | | | | | | | | | It's currently not safe to outline landingpad instructions (see llvm.org/PR39917). Like @llvm.eh.typeid.for, the order and content of previous landingpad instructions in a function alters the lowering of subsequent landingpads by renumbering type info ID's. Outlining a landingpad therefore breaks exception handling & unwinding. llvm-svn: 348870
* [XRay] Add a helper function sortByKey to simplify codeFangrui Song2018-12-111-68/+31
| | | | | | | | | | | | Reviewers: dberris, mboerger Reviewed By: dberris Subscribers: mgrang, llvm-commits Differential Revision: https://reviews.llvm.org/D55548 llvm-svn: 348869
* [libcxx] Remove the no_default_flags LIT configurationLouis Dionne2018-12-112-44/+32
| | | | | | | | | This is part of an ongoing cleanup of the LIT test suite, where I'm trying to reduce the number of configuration options. In this case, the original intent seemed to be running the test suite with libstdc++, but this is now supported by specifying cxx_stdlib_under_test=libstdc++. llvm-svn: 348868
* [NFC] Fix incorrect (but unreachable) LIT error messageLouis Dionne2018-12-111-3/+1
| | | | | | | | It is unreachable because we test that the cxx_stdlib_under_test is in the supported set of libraries elsewhere. Furthermore, this code relied on the `use_stdlib_type`, which is never defined. llvm-svn: 348867
* Remove CGDebugInfo::getOrCreateFile() and use TheCU->getFile() directly.Adrian Prantl2018-12-112-26/+16
| | | | llvm-svn: 348866
* Reuse code from CGDebugInfo::getOrCreateFile() when creating the fileAdrian Prantl2018-12-114-12/+22
| | | | | | | | | | | | | for the DICompileUnit. This addresses post-commit feedback for D55085. Without this patch, a main source file with an absolute paths may appear in different DIFiles, once with the absolute path and once with the common prefix between the absolute path and the current working directory. Differential Revision: https://reviews.llvm.org/D55519 llvm-svn: 348865
* Pass PartialOverloading argument to the correct corresponding parameterEric Fiselier2018-12-112-5/+23
| | | | llvm-svn: 348864
* [ASan] Minor documentation fix: clarify static linking limitation.Max Moroz2018-12-111-1/+1
| | | | | | | | | | | | | | | | Summary: ASan does not support statically linked binaries, but ASan runtime itself can be statically linked into a target binary executable. Reviewers: eugenis, kcc Reviewed By: eugenis Subscribers: cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D55066 llvm-svn: 348863
* [InstCombine] try to convert x86 movmsk intrinsic to generic IR (PR39927)Sanjay Patel2018-12-112-42/+101
| | | | | | | | | | | | | call iM movmsk(sext <N x i1> X) --> zext (bitcast <N x i1> X to iN) to iM This has the potential to create less-than-8-bit scalar types as shown in some of the test diffs, but it looks like the backend knows how to deal with that in these patterns. This is the simple part of the fix suggested in: https://bugs.llvm.org/show_bug.cgi?id=39927 Differential Revision: https://reviews.llvm.org/D55529 llvm-svn: 348862
* [BDCE] Add tests for PR39771; NFCNikita Popov2018-12-111-0/+79
| | | | | | | | | These involve cases where certain uses are dead by means of having no demanded bits, even though the used instruction still has demanded bits when other uses are taken into account. BDCE currently does not simplify such cases. llvm-svn: 348861
* Adding tests for -ast-dump; NFC.Aaron Ballman2018-12-111-0/+510
| | | | | | This adds tests for expressions in C++. llvm-svn: 348860
* [llvm-readelf] Add -e/--headers support to readobj/elfSid Manning2018-12-112-0/+19
| | | | | | Differential Revision: https://reviews.llvm.org/D55298 llvm-svn: 348859
* Revert "[PowerPC] Make no-PIC default to match GCC - CLANG"Stefan Pintilie2018-12-113-41/+5
| | | | | | This reverts commit rL348299. llvm-svn: 348858
* [test] [runtime] Permit omp_get_wtick() to return 0.01Michal Gorny2018-12-111-1/+1
| | | | | | | | | | | | | Increase the range for omp_get_wtick() test to allow for 0.01 (from <0.01). This is needed for NetBSD where it returns exactly that value due to CLOCKS_PER_SEC being 100. This should not cause a significant difference from e.g. FreeBSD where it is 128, and especially from Linux where CLOCKS_PER_SEC is apparently meaningless and sysconf(_SC_CLK_TCK) gives 100 as well. Differential Revision: https://reviews.llvm.org/D55493 llvm-svn: 348857
* [test] [runtime] Do not include alloca.h on NetBSDMichal Gorny2018-12-111-0/+4
| | | | | | | | | On NetBSD, alloca() is in stdlib.h and there is no alloca.h. Adjust the includes appopriately. Differential Revision: https://reviews.llvm.org/D55487 llvm-svn: 348856
* [runtime] [test] Use more portable short options to sort(1)Michal Gorny2018-12-111-1/+1
| | | | | | | | | | | | Pass `-n -s` instead of `--numeric --stable` to sort(1), as long options are not supported by NetBSD sort implementation. `-n` is defined by POSIX, so it should be fully portable. `-s` is used consistently at least in GNU sort and FreeBSD sort, and I honestly doubt it would cause issues with any other implementation supporting `--stable`. Differential Revision: https://reviews.llvm.org/D55479 llvm-svn: 348855
* [cmake] Use -std=gnu++11 to fix alloca() on NetBSDMichal Gorny2018-12-112-2/+6
| | | | | | | | | | Prefer using '-std=gnu++11' over '-std=c++11' when available, as NetBSD exposes the correct alloca() implementation only with gnu* C/C++ standards. Differential Revision: https://reviews.llvm.org/D55477 llvm-svn: 348854
* Fix not correct imm operand assertion for SUB32ri in ↵Craig Topper2018-12-112-1/+32
| | | | | | | | | | | | | | | | | | | | | | | X86CondBrFolding::analyzeCompare Summary: When doing X86CondBrFolding::analyzeCompare, it will meet the SUB32ri instruction as below to use the global address for its operand, %733:gr32 = SUB32ri %62:gr32(tied-def 0), @img2buf_normal, implicit-def $eflags JNE_1 %bb.41, implicit $eflags so the assertion "assert(MI.getOperand(ValueIndex).isImm() && "Expecting Imm operand")" is not correct and change the assert to if make X86CondBrFolding::analyzeCompare return false as not finding the compare for this Patch by Jianping Chen Reviewers: smaslov, LuoYuanke, liutianle, Jianping Reviewed By: Jianping Subscribers: lebedev.ri, llvm-commits Differential Revision: https://reviews.llvm.org/D54250 llvm-svn: 348853
* [cmake] Rename append_if to avoid collision with LLVMMichal Gorny2018-12-112-38/+38
| | | | | | | | | | | Rename the 'append_if' macro used in libunwind to 'unwind_append_if'. Otherwise, when used in a combined LLVM+libunwind build, it overrides the *incompatible* 'append_if' function from LLVM and breaks projects following libunwind, e.g. OpenMP. Differential Revision: https://reviews.llvm.org/D55476 llvm-svn: 348852
* [x86] clean up code for converting 16-bit ops to LEA; NFCSanjay Patel2018-12-112-62/+60
| | | | | | | | As discussed in D55494, we want to extend this to handle 8-bit ops too, but that could be extended further to enable this on 32-bit systems too. llvm-svn: 348851
* [libcxx] Fix test failure on GCC 4.9Louis Dionne2018-12-111-3/+8
| | | | | | | GCC 4.9 seems to think that a constexpr default constructor implies the constructor to be noexcept. llvm-svn: 348850
* Rename ObjectFile::GetHeaderAddress to GetBaseAddressPavel Labath2018-12-119-47/+45
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This function was named such because in the case of MachO files, the mach header is located at this address. However all (most?) usages of this function were not interested in that fact, but the fact that this address is used as the base address for expressing various relative addresses in the object file. For other object file formats, this name is not appropriate (and it's probably the reason why this function was not implemented in these classes). In the ELF case the ELF header will usually end up at this address, but this is a result of the linker optimizing the file layout and not a requirement of the spec. For COFF files, I believe the is no header located at this address either. Reviewers: clayborg, jasonmolenda, amccarth, lemo, stella.stamenova Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D55422 llvm-svn: 348849
* [analyzer] Fix a minor typo.Gabor Horvath2018-12-111-1/+1
| | | | llvm-svn: 348848
* [pair] Mark constructors as conditionally noexceptLouis Dionne2018-12-1110-46/+388
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: std::tuple marks its constructors as noexcept when the corresponding memberwise constructors are noexcept too -- this commit improves std::pair so that it behaves the same. This is a re-application of r348824, which broke the build in C++03 mode because a test was marked as supported in C++03 when it shouldn't be. Note: I did not add support in the explicit and non-explicit `pair(_Tuple&& __p)` constructors because those are non-standard extensions, and supporting them properly is tedious (we have to copy the rvalue-referenceness of the deduced _Tuple&& onto the result of tuple_element). <rdar://problem/29537079> Reviewers: mclow.lists, EricWF Subscribers: christof, llvm-commits Differential Revision: https://reviews.llvm.org/D48669 llvm-svn: 348847
* [libcxx] Fix test on compilers that do not support char8_t yetLouis Dionne2018-12-111-2/+4
| | | | llvm-svn: 348846
* [x86] remove dead code for 16-bit LEA formation; NFCSanjay Patel2018-12-111-57/+13
| | | | | | | | | | | As discussed in: D55494 ...this code has been disabled/dead for a long time (the code references Athlon and Pentium 4), and there's almost no chance that it will be used given the last decade of uarch evolution. Also, in SDAG we promote 16-bit ops to 32-bit, so there's almost no way to test this code any more. llvm-svn: 348845
* Revert r348843 "[CodeGen] Allow mempcy/memset to generate small overlapping ↵Clement Courbet2018-12-119-92/+61
| | | | | | | | stores." Breaks ARM/memcpy-inline.ll llvm-svn: 348844
* [CodeGen] Allow mempcy/memset to generate small overlapping stores.Clement Courbet2018-12-119-61/+92
| | | | | | | | | | | | | Summary: All targets either just return false here or properly model `Fast`, so I don't think there is any reason to prevent CodeGen from doing the right thing here. Subscribers: nemanjai, javed.absar, eraman, jsji, llvm-commits Differential Revision: https://reviews.llvm.org/D55365 llvm-svn: 348843
* Use the standard Duration factory matcherJonas Toth2018-12-111-4/+2
| | | | | | | | | | | | | | | | | | Summary: A new check came in over the weekend; it should use our existing infrastructure for matching `absl::Duration` factories. Patch by hwright. Reviewers: JonasToth Reviewed By: JonasToth Subscribers: astrelni Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D55541 llvm-svn: 348842
* Fix bug where we'd try symbolize a second time with the same arguments.Dan Liew2018-12-111-1/+1
| | | | | | | | | | | | | | | | | Summary: Fix bug where we'd try symbolize a second time with the same arguments even though symbolization failed the first time. This looks like a long standing typo given that the guard for trying symbolization again is to only try it if symbolization failed using `binary` and `original_binary != binary`. Reviewers: kubamracek, glider, samsonov Subscribers: #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D55504 llvm-svn: 348841
* [clang-tidy] NFC Consolidate test absl::Time implementationJonas Toth2018-12-115-158/+81
| | | | | | | | | | | | | | | | Summary: Several tests re-implement these same prototypes (differently), so we can put them in a common location. Patch by hwright. Reviewers: JonasToth Reviewed By: JonasToth Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D55540 llvm-svn: 348840
* [TargetLowering] Add ISD::EXTRACT_VECTOR_ELT support to SimplifyDemandedBitsSimon Pilgrim2018-12-113-12/+23
| | | | | | | | Let SimplifyDemandedBits attempt to simplify all elements of a vector extraction. Part of PR39689. llvm-svn: 348839
* Fix "not all control paths return a value" MSVC warnings. NFCI.Simon Pilgrim2018-12-111-0/+3
| | | | llvm-svn: 348838
* [DeadArgElim] Fixes for dbg.values using dead arg/return valuesDavid Stenberg2018-12-112-8/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When eliminating a dead argument or return value in a function with local linkage, all uses, including in dbg.value intrinsics, would be replaced with null constants. This would mean that, for example for an integer argument, the debug info would incorrectly express that the value is 0. Instead, replace all uses with undef to indicate that the argument/return value is optimized out. Also, make sure that metadata uses of return values are rewritten even if there are no non-metadata uses of the value. As a bit of historical curiosity, the code that emitted null constants was introduced in the initial check-in of the pass in 2003, before 'undef' values even existed in LLVM. This fixes PR23260. Reviewers: dblaikie, aprantl, vsk, djtodoro Reviewed By: aprantl Subscribers: llvm-commits Tags: #debug-info Differential Revision: https://reviews.llvm.org/D55513 llvm-svn: 348837
* [SEH] Zero-initialize EXCEPTION_RECORD and UNWIND_HISTORY_TABLE before ↵Martin Storsjo2018-12-111-0/+2
| | | | | | | | calling RtlUnwindEx This fixes PR39935. llvm-svn: 348836
* Cleanup test case by removing unused attribute dso_localRanjeet Singh2018-12-111-4/+4
| | | | | | | | | Attribute 'dso_local' generated in bitcode from compiling original C file but isn't needed. Differential Revision: https://reviews.llvm.org/D55521 llvm-svn: 348835
* Reland r348741 "[Sema] Further improvements to to static_assert diagnostics."Clement Courbet2018-12-117-44/+63
| | | | | | Fix a dangling reference to temporary, never return nullptr. llvm-svn: 348834
* [X86] Switch the 64-bit mulx schedule test to use inline assembly.Craig Topper2018-12-111-43/+27
| | | | | | I'm not sure we should always prefer MULX over MUL. So making the MULX guaranteed with inline assembly. llvm-svn: 348833
* Don't export assembly functions when function visibility annotations are ↵Martin Storsjo2018-12-111-0/+4
| | | | | | | | | | disabled Patch by Peiyuan Song! Differential Revision: https://reviews.llvm.org/D55537 llvm-svn: 348832
* Revert r348830 "[Sema]improve static_assert(!expr)"Clement Courbet2018-12-112-18/+0
| | | | | | Submitted the wrong change. llvm-svn: 348831
* [Sema]improve static_assert(!expr)Clement Courbet2018-12-112-0/+18
| | | | llvm-svn: 348830
* Fix problems with char8_t stuff on compilers that don't support char8_t yetMarshall Clow2018-12-1110-11/+13
| | | | llvm-svn: 348829
* Second part of P0482 - char8_t. Reviewed as https://reviews.llvm.org/D55308Marshall Clow2018-12-1191-104/+1153
| | | | llvm-svn: 348828
* Move CodeGenOptions from Frontend to BasicRichard Trieu2018-12-1133-43/+33
| | | | | | Basic uses CodeGenOptions and should not depend on Frontend. llvm-svn: 348827
* [PPC][NFC] store operands are dst not srcMartell Malone2018-12-111-9/+9
| | | | | | Differential Revision: https://reviews.llvm.org/D55502 llvm-svn: 348826
* Revert "[pair] Mark constructors as conditionally noexcept"Louis Dionne2018-12-1110-387/+46
| | | | | | | This broke the tests on Linux. Reverting until I find out why the tests are broken (tomorrow). llvm-svn: 348825
* [pair] Mark constructors as conditionally noexceptLouis Dionne2018-12-1110-46/+387
| | | | | | | | | | | | | | | | | | | | | | | Summary: std::tuple marks its constructors as noexcept when the corresponding memberwise constructors are noexcept too -- this commit improves std::pair so that it behaves the same. Note: I did not add support in the explicit and non-explicit `pair(_Tuple&& __p)` constructors because those are non-standard extensions, and supporting them properly is tedious (we have to copy the rvalue-referenceness of the deduced _Tuple&& onto the result of tuple_element). <rdar://problem/29537079> Reviewers: mclow.lists, EricWF Subscribers: christof, llvm-commits Differential Revision: https://reviews.llvm.org/D48669 llvm-svn: 348824
OpenPOWER on IntegriCloud