summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GlobalISel: Fix unused variable warning in release buildsMatt Arsenault2019-01-291-2/+1
| | | | llvm-svn: 352565
* [libFuzzer] remove deprecated support for -fsanitize-coverage=trace-pc[-guard]Kostya Serebryany2019-01-294-34/+16
| | | | llvm-svn: 352564
* [IR] Use CallBase to reduce code duplication. NFCCraig Topper2019-01-291-4/+2
| | | | | | | | Noticed in the asm-goto patch. Callbr needs to go here too. One cast and call is better than 3. Differential Revision: https://reviews.llvm.org/D57295 llvm-svn: 352563
* GlobalISel: Verify pointer castsMatt Arsenault2019-01-297-14/+204
| | | | | | | Not sure if the old AArch64 tests should be just deleted or not. llvm-svn: 352562
* [libc++] Fix Windows build error in <functional>Thomas Anderson2019-01-292-5/+7
| | | | | | | | | | | | On my Windows system, __allocator is defined to nothing. This change fixes build errors of the below form: In file included from algorithm:644: functional(1492,31): error: expected member name or ';' after declaration specifiers const _Alloc& __allocator() const { return __f_.second(); } Differential Revision: https://reviews.llvm.org/D57355 llvm-svn: 352561
* GlobalISel: Partially implement widenScalar for MERGE_VALUESMatt Arsenault2019-01-294-31/+232
| | | | llvm-svn: 352560
* [libunwind] Support building hermetic static libraryPetr Hosek2019-01-293-8/+42
| | | | | | | | | | | | | | | This is useful when the static libunwind library is being linked into shared libraries that may be used in with other shared libraries that use different unwinder. We want to avoid avoid exporting libunwind symbols in those cases. This achieved by a new CMake option which can be enabled by libunwind vendors as needed. The same CMake option has already been added to libc++ and libc++abi in D55404 and D56026. Differential Revision: https://reviews.llvm.org/D57107 llvm-svn: 352559
* NFC: Move GenericSelectionExpr dump to NodeDumperStephen Kelly2019-01-293-2/+6
| | | | | | | | | | Reviewers: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D56961 llvm-svn: 352558
* Fix some warnings in building LLDB.Zachary Turner2019-01-297-59/+27
| | | | | | Differential Revision: https://reviews.llvm.org/D57413 llvm-svn: 352557
* [test] Use correct macro in FileCollectorTest.cppJonas Devlieghere2019-01-291-1/+1
| | | | | | | This test was supposed to be skipped on Windows but was using the wrong macro name. llvm-svn: 352556
* Check bool attribute value in getOptionalBoolLoopAttribute.Alina Sbirlea2019-01-292-1/+99
| | | | | | | | | | | | | | | Summary: Check the bool value of the attribute in getOptionalBoolLoopAttribute not just its existance. Eliminates the warning noise generated when vectorization is explicitly disabled. Reviewers: Meinersbur, hfinkel, dmgreen Subscribers: jlebar, sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D57260 llvm-svn: 352555
* [WebAssembly] Don't load weak undefined symbols from archive filesSam Clegg2019-01-294-16/+85
| | | | | | | | | | Summary: Fixes PR40494 Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D57370 llvm-svn: 352554
* Drop the dependency on <algorithm>, add placement new inlinePetr Hosek2019-01-295-34/+36
| | | | | | | | | | | | We haven't eliminated C++ library dependency altogether in D57251, UnwindCursor.hpp had an unused dependency on <algorithm> which was pulling in other C++ headers. Removing that dependency also revealed (correctly) that we need our own global placement new declaration. Now libunwind should be independent of the C++ library. Differential Revision: https://reviews.llvm.org/D57262 llvm-svn: 352553
* NFC: Implement GenericSelectionExpr::Association dump with VisitorStephen Kelly2019-01-293-15/+26
| | | | | | | | | | Reviewers: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D56960 llvm-svn: 352552
* [WebAssembly] Ensure BasicSymbolRef.getRawDataRefImpl().p is non-nullSam Clegg2019-01-293-5/+30
| | | | | | | | | | | | Store a non-zero value to ref.d.a and use ref.d.b to store the symbol index. This means that ref.p is never null, which was confusing llvm-nm. Fixes PR40497 Differential Revision: https://reviews.llvm.org/D57373 llvm-svn: 352551
* [docs] Prevent O0 optnone for opt inputShoaib Meenai2019-01-291-2/+2
| | | | | | | | | | If we just compile with -O0, clang will add optnone attributes everywhere, so opt won't actually be able to perform any passes. Instruct clang to not emit the optnone so opt can do its thing. Differential Revision: https://reviews.llvm.org/D56950 llvm-svn: 352550
* Thread safety analysis: Improve diagnostics for double lockingAaron Puchert2019-01-294-33/+38
| | | | | | | | | | | | | | | | Summary: We use the existing diag::note_locked_here to tell the user where we saw the first locking. Reviewers: aaron.ballman, delesley Reviewed By: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D56967 llvm-svn: 352549
* Make a blind attempt at fixing PDBASTParser nullability issuesAdrian Prantl2019-01-291-2/+6
| | | | llvm-svn: 352548
* [AArch64][GlobalISel] Unmerge into scalars from a vector should use FPR bank.Amara Emerson2019-01-292-1/+31
| | | | | | | | | This currently shows up as a selection fallback since the dest regs were given GPR banks but the source was a vector FPR reg. Differential Revision: https://reviews.llvm.org/D57408 llvm-svn: 352545
* OpenCL: Try to fix bot test failureMatt Arsenault2019-01-291-0/+2
| | | | llvm-svn: 352544
* [OPENMP]Fix PR40513: lastprivate taskloop counter.Alexey Bataev2019-01-292-6/+16
| | | | | | | | We don't need to use the predetermined data-sharing attributes for the loop counters if the user explicitly specified correct data-sharing attributes for such variables. llvm-svn: 352543
* [cc1as] Test that -g of empty .s file does something sensible.Paul Robinson2019-01-291-0/+11
| | | | | | Depends on LLVM r352541. llvm-svn: 352542
* [DWARF] Emit reasonable debug info for empty .s files.Paul Robinson2019-01-292-0/+9
| | | | llvm-svn: 352541
* OpenCL: Use length modifier for warning on vector printf argumentsMatt Arsenault2019-01-2910-33/+245
| | | | | | | | | | | | Re-enable format string warnings on printf. The warnings are still incomplete. Apparently it is undefined to use a vector specifier without a length modifier, which is not currently warned on. Additionally, type warnings appear to not be working with the hh modifier, and aren't warning on all of the special restrictions from c99 printf. llvm-svn: 352540
* Revert "OpenCL: Extend argument promotion rules to vector types"Matt Arsenault2019-01-295-36/+22
| | | | | | | | | | | | This reverts r348083. This was based on a misreading of the spec for printf specifiers. Also revert r343653, as without a subsequent patch, a correctly specified format for a vector will incorrectly warn. Fixes bug 40491. llvm-svn: 352539
* [Reproducers] Add file providerJonas Devlieghere2019-01-2915-15/+606
| | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the file provider which is responsible for capturing files used by LLDB. When capturing a reproducer, we use a file collector that is very similar to the one used in clang. For every file that we touch, we add an entry with a mapping from its virtual to its real path. When we decide to generate a reproducer we copy over the files and their permission into to reproducer folder. When replaying a reproducer, we load the VFS mapping and instantiate a RedirectingFileSystem. The latter will transparently use the files available in the reproducer. I've tested this on two macOS machines with an artificial example. Still, it is very likely that I missed some places where we (still) use native file system calls. I'm hoping to flesh those out while testing with more advanced examples. However, I will fix those things in separate patches. Differential revision: https://reviews.llvm.org/D54617 llvm-svn: 352538
* Fix the tests from r350970Steven Wu2019-01-291-2/+2
| | | | | | Relax the tests from r350970 to allow non-standard path for ld. llvm-svn: 352537
* [InstCombine] canonicalize cmp/select form of uadd saturate with constantSanjay Patel2019-01-292-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | I'm circling back around to a loose end from D51929. The backend (either CGP or DAG) doesn't recognize this pattern, so we end up with different asm for these IR variants. Regardless of any future changes to canonicalize to saturation/overflow intrinsics, we want to get raw IR variations into the minimal number of raw IR forms. If/when we can canonicalize to intrinsics, that will make that step easier. Pre: C2 == ~C1 %a = add i32 %x, C1 %c = icmp ugt i32 %x, C2 %r = select i1 %c, i32 -1, i32 %a => %a = add i32 %x, C1 %c2 = icmp ult i32 %x, C2 %r = select i1 %c2, i32 %a, i32 -1 https://rise4fun.com/Alive/pkH Differential Revision: https://reviews.llvm.org/D57352 llvm-svn: 352536
* Fix the behavior of clang's -w flag.James Y Knight2019-01-297-16/+38
| | | | | | | | | | It is intended to disable _all_ warnings, even those upgraded to errors via `-Werror=warningname` or `#pragma clang diagnostic error' Fixes: https://llvm.org/PR38231 Differential Revision: https://reviews.llvm.org/D53199 llvm-svn: 352535
* [analyzer] [RetainCountChecker] Track input parameters to the top-level functionGeorge Karpenkov2019-01-299-6484/+6619
| | | | | | | | | | Track them for ISL/OS objects by default, and for NS/CF under a flag. rdar://47536377 Differential Revision: https://reviews.llvm.org/D57356 llvm-svn: 352534
* [analyzer] [RetainSummaryManager] [NFC] Split one function into two, as it's ↵George Karpenkov2019-01-292-60/+58
| | | | | | | | really doing two things Differential Revision: https://reviews.llvm.org/D57201 llvm-svn: 352533
* [analyzer] [ARCMT] [NFC] Unify entry point into RetainSummaryManagerGeorge Karpenkov2019-01-294-98/+49
| | | | | | | | Just use one single entry point, since we have AnyCall utility now. Differential Revision: https://reviews.llvm.org/D57346 llvm-svn: 352532
* Extend AnyCall to handle callable declarations without the call expressionsGeorge Karpenkov2019-01-292-11/+45
| | | | | | | | | | That weakens inner invariants, but allows the class to be more generic, allowing usage in situations where the call expression is not known (or should not matter). Differential Revision: https://reviews.llvm.org/D57344 llvm-svn: 352531
* [analyzer] [RetainCountChecker] Support 'taggedRetain' and 'taggedRelease'George Karpenkov2019-01-294-8/+23
| | | | | | Differential Revision: https://reviews.llvm.org/D57211 llvm-svn: 352530
* [MinGW] Don't define names for ignored options. NFC.Martin Storsjo2019-01-291-22/+20
| | | | | | | | | | | Move them to the same section as the newly added ignored options without a defined name. Also move options that actually weren't ignored to the right section. Differential Revision: https://reviews.llvm.org/D57374 llvm-svn: 352529
* [DAGCombiner] fold extract_subvector of extract_subvectorSanjay Patel2019-01-2919-400/+417
| | | | | | | | | | | | | | | This is the sibling fold for insert-of-insert that was added with D56604. Now that we have x86 shuffle narrowing (D57156), this change shows improvements for lots of AVX512 reduction code (not sure that we would ever expect extract-of-extract otherwise). There's a small regression in some of the partial-permute tests (extracting followed by splat). That is tracked by PR40500: https://bugs.llvm.org/show_bug.cgi?id=40500 Differential Revision: https://reviews.llvm.org/D57336 llvm-svn: 352528
* [VFS] Fix warning and use better check.Michael J. Spencer2019-01-291-1/+1
| | | | llvm-svn: 352527
* [OPENMP]Make the loop with unsigned counter countable.Alexey Bataev2019-01-294-22/+81
| | | | | | | | According to the report, better to keep the original strict compare operation as the loop condition with unsigned loop counters to make the loop countable. This allows further loop transformations. llvm-svn: 352526
* [libc++] Fix Windows build error in include/filesystemThomas Anderson2019-01-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | _LIBCPP_FUNC_VIS is redundant since the class is already annotated with _LIBCPP_EXCEPTION_ABI. Fixes this build error: In file included from fstream:188: filesystem(1350,3): error: attribute 'dllimport' cannot be applied to member of 'dllimport' class _LIBCPP_FUNC_VIS __config(674,37): note: expanded from macro '_LIBCPP_FUNC_VIS' #define _LIBCPP_FUNC_VIS _LIBCPP_DLL_VIS __config(666,38): note: expanded from macro '_LIBCPP_DLL_VIS' # define _LIBCPP_DLL_VIS __declspec(dllimport) filesystem(1313,7): note: previous attribute is here class _LIBCPP_EXCEPTION_ABI filesystem_error : public system_error { __config(675,37): note: expanded from macro '_LIBCPP_EXCEPTION_ABI' #define _LIBCPP_EXCEPTION_ABI _LIBCPP_DLL_VIS __config(666,38): note: expanded from macro '_LIBCPP_DLL_VIS' # define _LIBCPP_DLL_VIS __declspec(dllimport) Differential Revision: https://reviews.llvm.org/D57354 llvm-svn: 352525
* Rollback unwindlib patch.Sterling Augustine2019-01-296-149/+28
| | | | llvm-svn: 352524
* GlobalISel: Fix narrowScalar for load/store with different mem sizeMatt Arsenault2019-01-294-4/+181
| | | | | | | | | | This was ignoring the memory size, and producing multiple loads/stores if the operand size was different from the memory size. I assume this is the intent of not having an explicit G_ANYEXTLOAD (although I think that would probably be better). llvm-svn: 352523
* Fix PR40495 - is_invokable_v<void> does not compileEric Fiselier2019-01-293-199/+376
| | | | | | | | | | | The meta-programming that attempted to form the invoke call expression was not in a SFINAE context. This made it a hard error to provide non-referencable types like 'void' or 'void (...) const'. This patch fixes the error by checking the validity of the call expression within a SFINAE context. llvm-svn: 352522
* Make Type::GetByteSize optional (NFC)Adrian Prantl2019-01-297-68/+92
| | | | | | | | | | | This is a continuation of my quest to make the size 0 a supported value. This reapplies r352394 with additional PDB parser fixes prepared by Pavel Labath! Differential Revision: https://reviews.llvm.org/D57273 llvm-svn: 352521
* [x86] add tests for vector bool math; NFCSanjay Patel2019-01-291-0/+25
| | | | llvm-svn: 352520
* [AArch64] add tests for vector bool math; NFCSanjay Patel2019-01-291-0/+29
| | | | llvm-svn: 352519
* [X86][Btver2] Improved latency/throughput model for scalar int-to-float ↵Andrea Di Biagio2019-01-299-63/+66
| | | | | | | | | | | | | | conversions. Account for bypass delays when computing the latency of scalar int-to-float conversions. On Jaguar we need to account for an extra 6cy latency (see AMD fam16h SOG). This patch also fixes the number of micropcodes for the register-memory variants of scalar int-to-float conversions. Differential Revision: https://reviews.llvm.org/D57148 llvm-svn: 352518
* [InstCombine] regenerate test checks; NFCSanjay Patel2019-01-291-63/+63
| | | | llvm-svn: 352517
* Add .clang-tidy and .clang-format files to the toplevel of theJames Y Knight2019-01-292-0/+18
| | | | | | repository (the same content as those in llvm/ and clang/). llvm-svn: 352516
* [InstCombine] add tests for ext-of-bool + add/sub; NFCSanjay Patel2019-01-291-0/+87
| | | | | | | | | | | | | | | We should choose one of these as canonical: %z = zext i1 %cmp to i32 %r = sub i32 %x, %z => %s = sext i1 %cmp to i32 %r = add i32 %x, %s The test comments assume that the zext form is better, but we can adjust that if we decide to go the other way. llvm-svn: 352515
* Adjust documentation for git migration.James Y Knight2019-01-2968-498/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes most references to the paths: llvm.org/svn/ llvm.org/git/ llvm.org/viewvc/ github.com/llvm-mirror/ github.com/llvm-project/ reviews.llvm.org/diffusion/ to instead point to https://github.com/llvm/llvm-project. This is *not* a trivial substitution, because additionally, all the checkout instructions had to be migrated to instruct users on how to use the monorepo layout, setting LLVM_ENABLE_PROJECTS instead of checking out various projects into various subdirectories. I've attempted to not change any scripts here, only documentation. The scripts will have to be addressed separately. Additionally, I've deleted one document which appeared to be outdated and unneeded: lldb/docs/building-with-debug-llvm.txt Differential Revision: https://reviews.llvm.org/D57330 llvm-svn: 352514
OpenPOWER on IntegriCloud