summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [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
* [NFC] Add missing revision for removal of bad_array_length in ABI changelogLouis Dionne2019-01-291-1/+1
| | | | llvm-svn: 352513
* Mark some of the behavior in the move w/allocator constructors of ↵Marshall Clow2019-01-295-36/+41
| | | | | | deque/unordered containers as 'libc++-specific'. Thanks to Andrey Maksimov for pointing this out. llvm-svn: 352512
* [clangd] Remove extra ';' to fix -Wpedantic warning. NFCIlya Biryukov2019-01-291-1/+1
| | | | llvm-svn: 352511
* [clangd] Attempt to fix failing buildbots after r352494Ilya Biryukov2019-01-291-1/+1
| | | | | | | For failures see: http://lab.llvm.org:8011/builders/clang-x86_64-linux-abi-test/builds/38501/steps/build-unified-tree/logs/stdio llvm-svn: 352510
* [clangd] Make -clang-tidy-checks a non-hidden command-line argIlya Biryukov2019-01-291-2/+2
| | | | | | | | | | | | | | | | | | Summary: This looks like a useful user-facing configuration parameter, which should be discoverable. Also fix a small typo in the description. Reviewers: hokein Reviewed By: hokein Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D57384 llvm-svn: 352509
* lld-link: Allow backward references between associated comdatsNico Weber2019-01-292-14/+16
| | | | | | | | | | | | | | | | | References between associated comdats are invalid per COFF spec, but the newest Windows SDK contains obj files that have these references (https://bugs.chromium.org/p/chromium/issues/detail?id=925943#c13). So add back support for them and add tests for them. The old code handled them fine. This makes lld-link match the behavior of newer link.exe versions as far as I can tell. (The behavior before this change matched the behavior of older link.exe versions.) This mostly reverts r352254. Differential Revision: https://reviews.llvm.org/D57387 llvm-svn: 352508
* BreakpadRecords: Add parsing code for FILE and LINE recordsPavel Labath2019-01-293-0/+107
| | | | | | | | The two records aren't used by anything yet, but this part can be separated out easily, so I am comitting it separately to simplify reviews of the followup patch. llvm-svn: 352507
* [SelectionDAGBuilder] Remove redundant variable. NFCI.Nirav Dave2019-01-291-7/+3
| | | | llvm-svn: 352506
* [llvm-objcopy] Implement --set-section-flags.Jordan Rupprecht2019-01-298-38/+218
| | | | | | | | | | | | | | | | | Summary: --set-section-flags is used to change the section flags (e.g. SHF_ALLOC) for given sections. The flags allowed are the same from the existing --rename-section=.old=.new[,flags] feature. Additionally, make sure that --set-section-flag cannot be used with --rename-section (either the source or destination), since --rename-section accepts flags. This avoids ambiguity for something like "--rename-section=.foo=.bar,alloc --set-section-flag=.bar,code". Reviewers: jhenderson, jakehehrlich, alexshap, espindola Reviewed By: jhenderson, jakehehrlich Subscribers: llvm-commits, emaste, arichardson Differential Revision: https://reviews.llvm.org/D57198 llvm-svn: 352505
* Reversing the checkin for version 352484 as tests are failing.Ayonam Ray2019-01-295-193/+91
| | | | llvm-svn: 352504
* [Tooling] Handle #pragma once header guard in include insertion.Eric Liu2019-01-292-21/+55
| | | | | | | | | | Reviewers: ilya-biryukov Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D57223 llvm-svn: 352503
OpenPOWER on IntegriCloud