- Aug 13, 2020
-
-
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
-
Ali Tamur authored
This reverts commit e441b7a7. This patch causes a compile error in tensorflow opensource project. The stack trace looks like: Point of crash: llvm/include/llvm/Analysis/LoopInfoImpl.h : line 35 (gdb) ptype *this type = const class llvm::LoopBase<llvm::BasicBlock, llvm::Loop> [with BlockT = llvm::BasicBlock, LoopT = llvm::Loop] (gdb) p *this $1 = {ParentLoop = 0x0, SubLoops = std::vector of length 0, capacity 0, Blocks = std::vector of length 0, capacity 1, DenseBlockSet = {<llvm::SmallPtrSetImpl<llvm::BasicBlock const*>> = {<llvm::SmallPtrSetImplBase> = {<llvm::DebugEpochBase> = {Epoch = 3}, SmallArray = 0x1b2bf6c8, CurArray = 0x1b2bf6c8, CurArraySize = 8, NumNonEmpty = 0, NumTombstones = 0}, <No data fields>}, SmallStorage = {0xfffffffffffffffe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, IsInvalid = true} (gdb) p *this->DenseBlockSet->CurArray $2 = (const void *) 0xfffffffffffffffe I will try to get a case from tensorflow or use creduce to get a small case.
-
Nadav Rotem authored
The method optionMatches() constructs 9865 std::string instances when comparing different options. Many of these instances exceed the size of the internal storage and force memory allocations. This patch adds an early exit check that eliminates most of the string allocations while keeping the code simple. Example inputs: Prefix: /, Name: Fr Prefix: -, Name: Fr Prefix: -, Name: fsanitize-address-field-padding= Prefix: -, Name: fsanitize-address-globals-dead-stripping Prefix: -, Name: fsanitize-address-poison-custom-array-cookie Prefix: -, Name: fsanitize-address-use-after-scope Prefix: -, Name: fsanitize-address-use-odr-indicator Prefix: -, Name: fsanitize-blacklist= Differential Revision: D85538
-
Aditya Kumar authored
-
Jez Ng authored
-
Carl Ritson authored
-