- Aug 13, 2020
-
-
David Stenberg authored
When removing instructions from unreachable blocks, and only debug info intrinsics were removed, InstCombine could incorrectly return a false Modified status. This is fixed by making removeAllNonTerminatorAndEHPadInstructions() also return how many debug info intrinsics that were removed, and take that into account. This was caught using the check introduced by D80916. Reviewed By: majnemer Differential Revision: https://reviews.llvm.org/D85839
-
Michael Forster authored
ns_error_domain can be used by, e.g. NS_ERROR_ENUM, in order to identify a global declaration representing the domain constant. Introduces the attribute, Sema handling, diagnostics, and test case. This is cherry-picked from https://github.com/llvm/llvm-project-staging/commit/a14779f504b02ad0e4dbc39d6d10cadc7ed4cfd0 and adapted to updated Clang APIs. Reviewed By: gribozavr2, aaron.ballman Differential Revision: https://reviews.llvm.org/D84005
-
Carl Ritson authored
SIPreEmitPeephole does not process all terminators, which means it can fail to handle SI_RETURN_TO_EPILOG if immediately preceeded by a branch to the early exit block. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D85872
-
Louis Dionne authored
-
Aaron Ballman authored
WG14 N2481 was adopted with minor modifications at the latest WG14 meetings. The only modification to the paper was to correct the date for the deprecated attribute to be 201904L (the corrected date value will be present in WG14 N2553 when it gets published).
-
Louis Dionne authored
This also fixes an issue where the benchmarks were being built with C++14 instead of C++17, as they should be.
-
Dávid Bolvanský authored
This reverts commit 44587e2f. Sanitizer tests need to be updated.
-
Sam McCall authored
-
Dávid Bolvanský authored
Similarly as for pointers, even for integers a == b is usually false. GCC also uses this heuristic. Reviewed By: ebrevnov Differential Revision: https://reviews.llvm.org/D85781
-
Raphael Isemann authored
-
Simon Pilgrim authored
For HADD/HSUB/PACKS ops with repeated operands the lower/upper half element of each lane are known to be equivalent
-
Paul Walker authored
Differential Revision: https://reviews.llvm.org/D85724
-
Kerry McLaughlin authored
This patch changes SplitVecOp_EXTRACT_VECTOR_ELT to work correctly for scalable vectors and also fixes an a bug in DAGCombiner where the scalable property is dropped in visitTRUNCATE when attempting to fold an extract + a truncate. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D85754
-
Anna Welker authored
Fix to include non-predicated version of write-back gather in special case treatment for deducting the instruction type. (This is fixing https://reviews.llvm.org/D85138 for corner cases) Differential Revision: https://reviews.llvm.org/D85889
-
Simon Pilgrim authored
-
Florian Hahn authored
We are re-using tryToMergePartialOverlappingStores, which requires earlier to domiante Later. In the long run, tryToMergeParialOverlappingStores should be re-written using MemorySSA. Fixes PR46513.
-
Georgii Rymar authored
`getElfSegmentType` and `getElfPtType` are methods that are used for printing segment types for LLVM and GNU styles accordingly. This patch does a cleanup and simplification that allows to avoid the code duplication and to get rid of one macro. Differential revision: https://reviews.llvm.org/D85830
-
Paul Walker authored
Differential Revision: https://reviews.llvm.org/D85831
-
Dávid Bolvanský authored
This reverts commit 385c9d67.
-
Paul Walker authored
Differential Revision: https://reviews.llvm.org/D85640
-
Georgii Rymar authored
Specifying --headers is equivalent to setting --file-headers, --program-headers and --section-headers at the same time. The existent test case uses a precompiled object and doesn't test the output properly. This patch fixes it. Differential revision: https://reviews.llvm.org/D85832
-
Dávid Bolvanský authored
Similarly as for pointers, even for integers a == b is usually false. GCC also uses this heuristic. Reviewed By: ebrevnov Differential Revision: https://reviews.llvm.org/D85781
-
Simon Pilgrim authored
Don't duplicate includes already provided by the module header.
-
Simon Pilgrim authored
Don't duplicate includes already provided by the module header.
-
Xing GUO authored
This change replaces the InitialLength of pub-tables with Format and Length. All the InitialLength fields have been removed. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D85880
-
Raphael Isemann authored
-
Sam McCall authored
This lets basic AST-consuming actions be defined outside clangdserver. (it essentially exposes TUScheduler::runWithAST). Two use cases for now: - replace ClangdServer::dumpAST, which doesn't really belong in the public interface (a followup patch will do this) - allow embedders to add/experiment with extra features (e.g. I know some who want to try crazy AST+ML code completion...) Maybe in the future we should use this sort of mechanism to make ClangdServer less of a monolith, but that's not in scope for now. This would probably require a richer and more carefully-thought-out API. Differential Revision: https://reviews.llvm.org/D85883
-
David Sherwood authored
In DAGTypeLegalizer::GenWidenVectorStores the algorithm assumes it only ever deals with fixed width types, hence the offsets for each individual store never take 'vscale' into account. I've changed the main loop in that function to use TypeSize instead of unsigned for tracking the remaining store amount and offset increment. In addition, I've changed the loop to use the new IncrementPointer helper function for updating the addresses in each iteration, since this handles scalable vector types. Whilst fixing this function I also fixed a minor issue in IncrementPointer whereby we were not adding the no-unsigned-wrap flag for the add instruction in the same way as the fixed width case does. Also, I've added a report_fatal_error in GenWidenVectorTruncStores, since this code currently uses a sequence of element-by-element scalar stores. I've added new tests in CodeGen/AArch64/sve-intrinsics-stores.ll CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll for the changes in GenWidenVectorStores. Differential Revision: https://reviews.llvm.org/D84937
-
David Sherwood authored
In narrowExtractedVectorLoad there is an optimisation that tries to combine extract_subvector with a narrowing vector load. At the moment this produces warnings due to the incorrect calls to getVectorNumElements() for scalable vector types. I've got this working for scalable vectors too when the extract subvector index is a multiple of the minimum number of elements. I have added a new variant of the function: MachineFunction::getMachineMemOperand that copies an existing MachineMemOperand, but replaces the pointer info with a null version since we cannot currently represent scaled offsets. I've added a new test for this particular case in: CodeGen/AArch64/sve-extract-subvector.ll Differential Revision: https://reviews.llvm.org/D83950
-
Florian Hahn authored
-
Rainer Orth authored
Currently only two test failures remain on Sparc, both `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`: LLVM :: DebugInfo/Generic/debug-label-inline.ll LLVM :: Linker/subprogram-linkonce-weak.ll They seem related in that debug info isn't generated for instruction bundles (like `retl+add` in the delay slot). I've filed separate bugs for both files (Bug 47129 and 47131), though it's probably the same issue. This patch `XFAIL`s the tests. Tested on `sparcv9-sun-solaris2.11` and `amd64-pc-solaris2.11`. Differential Revision: https://reviews.llvm.org/D85827
-
Sebastian Neubauer authored
-
Rainer Orth authored
When building on `sparc64-unknown-linux-gnu`, I found that a large number of `SanitizerCommon-asan-sparc*-Linux` tests were `FAIL`ing, like SanitizerCommon-asan-sparc-Linux :: Linux/aligned_alloc-alignment.cpp [...] SanitizerCommon-asan-sparcv9-Linux :: Linux/aligned_alloc-alignment.cpp [...] many of them due to fatal error: error in backend: Function "_Z14User_OnSIGSEGViP9siginfo_tPv": over-aligned dynamic alloca not supported. which breaks ASan on Sparc. Currently ASan is only built for the benefit of `gcc` where it does work. However, when enabling the compilation in `compiler-rt` to make certain it continues to build, I missed `compiler-rt/test/sanitizer_common` when disabling ASan testing on Sparc (it's not yet enabled on Solaris). This patch fixes the issue. Tested on `sparcv9-sun-solaris2.11` with the `sanitizer_comon` testsuite enabled. Differential Revision: https://reviews.llvm.org/D85732
-
Eduardo Caldas authored
-
Eduardo Caldas authored
We do that because: * Big tests generated big tree dumps that could hardly serve as documentation. * In most cases the tests didn't share setup, thus there was not much addition in lines of code. We split tests for: * `UserDefinedLiteral` * `NestedBinaryOperator` * `UserDefinedBinaryOperator` * `UserDefinedPrefixOperator` * `QualifiedId` Differential Revision: https://reviews.llvm.org/D85819
-
Michael Kruse authored
unlink() was changed to llvm::sys::fs::remove() in f18.cpp, but the same change also has to be applied to f18-parse-demo.cpp.
-
Sam McCall authored
This is motivated by tooling (clangd, libclang etc) - headers without declarations are legitimate even if they're not valid TUs. The other use -x c-header cases (PCH/modules) are nonstandard anyway and this warning doesn't seem necessary there either. Differential Revision: https://reviews.llvm.org/D85789
-
Saiyedul Islam authored
Many OpenMP Clang tests do not RUN for version 4.5 and the default version. This first patch in the series only handles test cases which do not require any modifications in the CHECK lines after adding RUN lines for default version. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D84844
-
Michael Kruse authored
Use functions for process launching, temporary file creation and file deletion from LLVM support library instead of POSIX-specific ones. This patch is part of the series to [[ http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html | make flang compilable with MS Visual Studio ]]. Reviewed By: DavidTruby Differential Revision: https://reviews.llvm.org/D85660
-
Qiu Chaofan authored
-