summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Split two sub-tests into separate top-level methods.Adrian Prantl2019-01-071-1/+7
| | | | llvm-svn: 350559
* [MemorySSA] Refactor CachingWalker.Alina Sbirlea2019-01-072-49/+97
| | | | | | | | | | | | | | Summary: Refactor caching walker to make creating a walker that skips the starting access strightforward. Reviewers: george.burgess.iv Subscribers: sanjoy, jlebar, Prazek, llvm-commits, jfb Differential Revision: https://reviews.llvm.org/D55957 llvm-svn: 350558
* Refactor test, no changes expected.Adrian Prantl2019-01-071-7/+4
| | | | llvm-svn: 350557
* [TSan] Support Objective-C @synchronized with tagged pointersJulian Lettner2019-01-072-19/+32
| | | | | | | | | | | | | | | | | | | Summary: Objective-C employs tagged pointers, that is, small objects/values may be encoded directly in the pointer bits. The resulting pointer is not backed by an allocation/does not point to a valid memory. TSan infrastructure requires a valid address for `Acquire/Release` and `Mutex{Lock/Unlock}`. This patch establishes such a mapping via a "dummy allocation" for each encountered tagged pointer value. Reviewers: dcoughlin, kubamracek, dvyukov, delcypher Reviewed By: dvyukov Subscribers: llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D56238 llvm-svn: 350556
* [X86] Use funnel shift intrinsics for the VBMI2 vshld/vshrd builtins.Craig Topper2019-01-076-417/+407
| | | | | | Differential Revision: https://reviews.llvm.org/D56365 llvm-svn: 350555
* [X86] Remove AVX512VBMI2 concat and shift intrinsics. Replace with target ↵Craig Topper2019-01-079-878/+1841
| | | | | | | | independent funnel shift intrinsics. Differential Revision: https://reviews.llvm.org/D56377 llvm-svn: 350554
* [ARM] ComputeKnownBits to handle extract vectorsDiogo N. Sampaio2019-01-072-23/+128
| | | | | | | | | This patch adds the sign/zero extension done by vgetlane to ARM computeKnownBitsForTargetNode. Differential revision: https://reviews.llvm.org/D56098 llvm-svn: 350553
* [MemorySSA] Extend the clobber walker with the option to skip the starting ↵Alina Sbirlea2019-01-071-8/+19
| | | | | | | | | | | | | | | | | | | access. Summary: The option enables loop transformations to hoist accesses that do not have clobbers in the loop. If the clobber queries skips the starting access, the result may be outside the loop instead of the header Phi. Adding the walker that uses this option in a separate patch. Reviewers: george.burgess.iv Subscribers: sanjoy, jlebar, Prazek, llvm-commits Differential Revision: https://reviews.llvm.org/D55944 llvm-svn: 350551
* Mark more tests as flakyEric Fiselier2019-01-075-0/+10
| | | | llvm-svn: 350550
* Revert "[DemandedBits] Use SetVector for Worklist"Nikita Popov2019-01-071-6/+7
| | | | | | | | This reverts commit r350547. Seeing assertion failures on clang tests. llvm-svn: 350549
* [X86] Add OR(AND(X,C),AND(Y,~C)) bit select testsSimon Pilgrim2019-01-071-0/+592
| | | | | | Based off work for D55935 llvm-svn: 350548
* [DemandedBits] Use SetVector for WorklistNikita Popov2019-01-071-7/+6
| | | | | | | | | | | | DemandedBits currently uses a simple vector for the worklist, which means that instructions may be inserted multiple times into it. Especially in combination with the deep lattice, this may cause instructions too be recomputed very often. To avoid this, switch to a SetVector. Differential Revision: https://reviews.llvm.org/D56362 llvm-svn: 350547
* Use the minidump exception record if presentLeonard Mosescu2019-01-078-16/+82
| | | | | | | | If the minidump contains a saved exception record use it automatically. Differential Revision: https://reviews.llvm.org/D56293 llvm-svn: 350546
* [elfabi] Add option to manually specify file read formatArmando Montanez2019-01-073-10/+62
| | | | | | Although llvm-elfabi will attempt to read input files without needing the format to be manually specified, doing so has the potential to introduce extraneous errors that can hinder debugging (since multiple readers may fail in attempts to read the file). This change allows the input file format to be manually specified to force elfabi to use a single reader. This makes it easier to test and debug errors specific to a given reader. llvm-svn: 350545
* [pstl] Avoid shadowing explicit lambda capture with lambda parameterLouis Dionne2019-01-071-24/+24
| | | | | | | | | | | | | | | Summary: Recent Clangs give an error for this. Note that the size of this diff is caused by running clang-format on the result of removing the captures. I guess we'll see how well that works for us. Reviewers: jfb, rodgert Subscribers: jkorous, dexonsmith, libcxx-commits, mclow.lists Differential Revision: https://reviews.llvm.org/D55945 llvm-svn: 350544
* Fine-tune and document the barrier in TestQueues.Adrian Prantl2019-01-071-10/+16
| | | | llvm-svn: 350543
* [clangd] Fix Windows build after r350531Ilya Biryukov2019-01-071-1/+1
| | | | llvm-svn: 350542
* [llvm-objcopy] Handle -O <format> flag.Jordan Rupprecht2019-01-077-3/+290
| | | | | | | | | | | | | | | | | Summary: The -O flag is currently being mostly ignored; it's only checked whether or not the output format is "binary". This adds support for a few formats (e.g. elf64-x86-64), so that when specified, the output can change between 32/64 bit and sizes/alignments are updated accordingly. This fixes PR39135 Reviewers: jakehehrlich, jhenderson, alexshap, espindola Reviewed By: jhenderson Subscribers: emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D53667 llvm-svn: 350541
* [clangd] Include <cstdio> instead of <stdio.h>. NFCIlya Biryukov2019-01-072-2/+2
| | | | | | This fixes the only clang-tidy check currently enabled by clangd. llvm-svn: 350540
* [NFC] Fix formatting of README.md for better renderingLouis Dionne2019-01-071-26/+20
| | | | | | Reviewed as https://reviews.llvm.org/D56051. llvm-svn: 350539
* [CMake] Fix standalone builds: make dependency to LLVM's `count` conditionalStefan Granitz2019-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In standalone builds of LLDB we currently have no target `count` that tests can depend on. This may be fixed in the future by exporting the target from LLVM similar to targets llvm-config, dsymutil and others. In-tree build with this patch: ``` $ ninja -t query tools/lldb/lit/check-lldb-lit tools/lldb/lit/check-lldb-lit: input: phony tools/lldb/lit/CMakeFiles/check-lldb-lit bin/FileCheck bin/clang bin/count bin/darwin-debug bin/debugserver bin/dsymutil bin/llc bin/lldb bin/lldb-mi bin/lldb-server bin/lldb-test bin/llvm-config bin/llvm-mc bin/llvm-objcopy bin/not bin/yaml2obj lib/liblldb.dylib projects/libcxx/lib/cxx tools/lldb/unittests/LLDBUnitTests outputs: tools/lldb/test/check-lldb check-lldb-lit ``` Standalone build with this patch: ``` $ ninja -t query lit/check-lldb-lit lit/check-lldb-lit: input: phony lit/CMakeFiles/check-lldb-lit bin/darwin-debug bin/debugserver bin/lldb bin/lldb-mi bin/lldb-server bin/lldb-test lib/liblldb.dylib unittests/LLDBUnitTests outputs: test/check-lldb check-lldb-lit ``` Reviewers: davide, aprantl, JDevlieghere, alexshap Reviewed By: davide Subscribers: mgorny, lldb-commits, #lldb Differential Revision: https://reviews.llvm.org/D56389 llvm-svn: 350538
* Simplify testcase by using lldbutil.run_to_source_breakpoint()Adrian Prantl2019-01-071-15/+2
| | | | llvm-svn: 350537
* [lit] Respect PYTHONPATHDavid Greene2019-01-072-2/+18
| | | | | | | | | | | If a user has PYTHONPATH set in the environment, append new entries to it rather than blindly setting PYTHONPATH to a fixed string. This allows tests to, for example, find psutil if it is in PYTHONPATH. Without this change, lit will detect psutil but then various tests will fail because PYTHONPATH has been overwritten and psutil cannot be found. llvm-svn: 350536
* Add the feature test macros that were defined in p1353r0 to the headers of ↵Marshall Clow2019-01-073-1/+35
| | | | | | the appropriate tests. No actual tests yet, so NFC. llvm-svn: 350535
* [llvm-demangle-fuzzer] Also fuzz microsoftDemangle().Matt Morehouse2019-01-076-2/+52
| | | | | | | | | | | | | | | | | | Summary: Use first byte of input to determine whether to call itaniumDemangle() or microsoftDemangle(). Addresses https://bugs.llvm.org/show_bug.cgi?id=39582. Reviewers: kcc, thakis Reviewed By: kcc, thakis Subscribers: mgorny, thakis, erik.pilkington, llvm-commits Differential Revision: https://reviews.llvm.org/D54780 llvm-svn: 350534
* [x86] add more tests for LowerToHorizontalOp(); NFCSanjay Patel2019-01-071-0/+236
| | | | | | | These tests show missed optimizations and a miscompile similar to PR40243 - https://bugs.llvm.org/show_bug.cgi?id=40243 llvm-svn: 350533
* AMDGPU: test for uniformity of branch instruction, not its conditionRhys Perry2019-01-073-9/+100
| | | | | | | | | | | | | | | | | Summary: If a divergent branch instruction is marked as divergent by propagation rule 2 in DivergencePropagator::exploreSyncDependency() and its condition is uniform, that branch would incorrectly be assumed to be uniform. Reviewers: arsenm, tstellar Reviewed By: arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D56331 llvm-svn: 350532
* [clangd] Remove 'using namespace llvm' from .cpp files. NFCIlya Biryukov2019-01-0780-1745/+1822
| | | | | | | | The new guideline is to qualify with 'llvm::' explicitly both in '.h' and '.cpp' files. This simplifies moving the code between header and source files and is easier to keep consistent. llvm-svn: 350531
* [OPENMP][NVPTX]Reduce number of barriers in reductions.Alexey Bataev2019-01-073-12/+0
| | | | | | | After the fix for the syncthreads we don't need to generate extra barriers for the parallel reductions. llvm-svn: 350530
* [Sema] Fix unused variable warning in Release buildsBenjamin Kramer2019-01-071-2/+1
| | | | llvm-svn: 350529
* [analyzer] Pass the correct loc Expr from VisitIncDecOp to evalStoreRafael Stahl2019-01-072-18/+41
| | | | | | | | | | | | | | Summary: The LocationE parameter of evalStore is documented as "The location expression that is stored to". When storing from an increment / decrement operator this was not satisfied. In user code this causes an inconsistency between the SVal and Stmt parameters of checkLocation. Reviewers: NoQ, dcoughlin, george.karpenkov Reviewed By: NoQ Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, cfe-commits Differential Revision: https://reviews.llvm.org/D55701 llvm-svn: 350528
* [AST] Store some data of CXXNewExpr as trailing objectsBruno Ricci2019-01-078-156/+288
| | | | | | | | | | | | | | | | | Store the optional array size expression, optional initialization expression and optional placement new arguments in a trailing array. Additionally store the range for the parenthesized type-id in a trailing object if needed since in the vast majority of cases the type is not parenthesized (not a single new expression in the translation unit of SemaDecl.cpp has a parenthesized type-id). This saves 2 pointers per CXXNewExpr in all cases, and 2 pointers + 8 bytes per CXXNewExpr in the common case where the type is not parenthesized. Differential Revision: https://reviews.llvm.org/D56134 Reviewed By: rjmccall llvm-svn: 350527
* [clang-tidy] Use the public hasInit matcher, rather than defining our own, NFCHyrum Wright2019-01-071-21/+7
| | | | llvm-svn: 350526
* [AST][NFC] Pack DependentScopeDeclRefExpr and CXXUnresolvedConstructExprBruno Ricci2019-01-075-110/+123
| | | | | | | | | | | Use the newly available space in the bit-fields of Stmt. This saves 1 pointer per DependentScopeDeclRefExpr/CXXUnresolvedConstructExpr. Additionally rename "TypeSourceInfo *Type;" to "TypeSourceInfo *TSI;" as was done in D56022 (r350003) (but this is an internal detail anyway), and clang-format both classes. NFC. llvm-svn: 350525
* [OPENMP][NVPTX]Fix dynamic scheduling.Alexey Bataev2019-01-072-22/+47
| | | | | | | | | | | | | | | Summary: Previous implementation may cause the runtime crash when the number of teams is > 1024. Patch fixes this problem + reduces number of the atomic operations by 32 times. Reviewers: grokos, gtbercea, kkwli0 Subscribers: guansong, jfb, openmp-commits, caomhin Differential Revision: https://reviews.llvm.org/D56332 llvm-svn: 350524
* [clang] Add AST matcher for initializer list membersHyrum Wright2019-01-074-1/+36
| | | | | | | | | | | | | Summary: Much like hasArg for various call expressions, this allows LibTooling users to match against a member of an initializer list. This is currently being used as part of the abseil-duration-scale clang-tidy check. Differential Revision: https://reviews.llvm.org/D56090 llvm-svn: 350523
* [llvm-nm] Add --portability as alias for --format=posixJames Henderson2019-01-072-0/+7
| | | | | | | | | | | | | GNU nm supports this alias, so supporting it in llvm-nm makes it easier to transition between the two. Fixes https://bugs.llvm.org/show_bug.cgi?id=40002 Reviewed by: mstorsjo, rupprecht Differential Revision: https://reviews.llvm.org/D56312 llvm-svn: 350522
* [CTU] Make loadExternalAST return with non nullptr on successGabor Marton2019-01-072-5/+6
| | | | | | | | | | | | | | | Summary: In loadExternalAST we return with either an error or with a valid ASTUnit pointer which should not be a nullptr. This prevents in the call site any superfluous check for being a nullptr. Reviewers: xazax.hun, a_sidorin, Szelethus, balazske Subscribers: rnkovacs, dkrupp, gamesh411, cfe-commits Differential Revision: https://reviews.llvm.org/D55280 llvm-svn: 350521
* [CodeView] More appropriate name and type for a Microsoft precompiled ↵Alexandre Ganea2019-01-075-32/+32
| | | | | | headers parameter. NFC llvm-svn: 350520
* [AST][NFC] Pack OpaqueValueExprBruno Ricci2019-01-073-10/+12
| | | | | | | Use the newly available space in the bit-fields of Stmt. This saves 1 pointer per OpaqueValueExpr. NFC. llvm-svn: 350519
* AMDGPU: Remove v16i8 from register classesMatt Arsenault2019-01-071-3/+3
| | | | llvm-svn: 350518
* AMDGPU: Remove VS/SV mappings from selectMatt Arsenault2019-01-072-117/+69
| | | | | | These would violate the constant bus restriction llvm-svn: 350517
* clang-format: [JS] support goog.requireType.Martin Probst2019-01-072-0/+3
| | | | | | | | | | | | | | Summary: It's a new primitive for importing symbols, and should be treated like the (previously handled) `goog.require` and `goog.forwardDeclare`. Reviewers: krasimir Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D56385 llvm-svn: 350516
* [clangd] Fix a regression issue caused by r348365.Haojian Wu2019-01-072-5/+18
| | | | | | | | | | | | | | | | | | | | | Summary: With r348365, we now detect libc++ dir using the actual compiler path (from the compilation command), rather than the resource-dir. This new behavior will cause clangd couldn't find libc++ dir (even the libc++ is built from the source) when using a fallback compilation command (`clang xxx`) The fix is to use `<clangd_install_dir>/clang` as the actual compiler path. Reviewers: ilya-biryukov Reviewed By: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D56380 llvm-svn: 350515
* Regenerate test.Simon Pilgrim2019-01-071-13/+44
| | | | | | Prep work towards enabling SimplifyDemandedBits vector support for TRUNCATE as discussed on D56118. llvm-svn: 350514
* Regenerate test.Simon Pilgrim2019-01-071-64/+390
| | | | | | Prep work towards enabling SimplifyDemandedBits vector support for TRUNCATE as discussed on D56118. llvm-svn: 350513
* [clangd] Disable BackgroundIndexTest.PeriodicalIndexIlya Biryukov2019-01-071-1/+3
| | | | | | It sometimes fails on AArch64. llvm-svn: 350512
* ObjectFileBreakpad: Implement sectionsPavel Labath2019-01-078-2/+238
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch allows ObjectFileBreakpad to parse the contents of Breakpad files into sections. This sounds slightly odd at first, but in essence its not too different from how other object files handle things. For example in elf files, the symtab section consists of a number of "records", where each record represents a single symbol. The same is true for breakpad's PUBLIC section, except in this case, the records will be textual instead of binary. To keep sections contiguous, I create a new section every time record type changes. Normally, the breakpad processor will group all records of the same type in one block, but the format allows them to be intermixed, so in general, the "object file" may contain multiple sections with the same record type. Reviewers: clayborg, zturner, lemo, markmentovai, amccarth Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D55434 llvm-svn: 350511
* ProcessLaunchInfo: remove Debugger referencePavel Labath2019-01-078-22/+14
| | | | | | | | | | | | | | | | | | | | | | Summary: The Debuffer object was being used in "GetListenerForProcess" to provide a default listener object if one was not specified in the launch_info object. Since all the callers of this function immediately passed the result to Target::CreateProcess, it was easy to move this logic there instead. This brings us one step closer towards being able to move the LaunchInfo classes to the Host layer (which is there the launching code that consumes them lives). Reviewers: zturner, jingham, teemperor Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D56174 llvm-svn: 350510
* [CallSite removal] Move the rest of IR implementation code away fromChandler Carruth2019-01-076-54/+56
| | | | | | | | | | | | | | `CallSite`. With this change, the remaining `CallSite` usages are just for implementing the wrapper type itself. This does update the C API but leaves the names of that API alone and only updates their implementation. Differential Revision: https://reviews.llvm.org/D56184 llvm-svn: 350509
OpenPOWER on IntegriCloud