This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Jan 22, 2022
-
-
eopXD authored
The `zve` extension specifies the maximum ELEN for both integer and floating point mode - defined by macro `__riscv_v_elen` and `__riscv_v_elen_fp`. This commit restricts the functions in riscv_vector.h by the zve defined macro-s. Change enum `RISCVExtension` to `RISCVPredefinedMacro` since now it contains not only extensions. Also added type alignment to it. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D112986
-
John Paul Adrian Glaubitz authored
Currently, clang defines the three macros __sparcv9, __sparcv9__ and __sparc_v9__ when targeting the V8+ baseline, i.e. using the V9 instruction set on a 32-bit target. Since neither gcc nor SolarisStudio define __sparcv9 and __sparcv9__ when targeting V8+, some existing code such as the glibc breaks when defining either of these two macros on a 32-bit target as they are used to detect a 64-bit target. Update the tests accordingly. Fixes PR49562. Reviewed By: jrtc27, MaskRay, hvdijk Differential Revision: https://reviews.llvm.org/D98574
-
Petr Hosek authored
This reverts commit 4af11272.
-
Valentin Clement authored
Fix failure from 68db0e25 on arm buildbot.
-
David Tenty authored
This reverts commit 8c9f62ea, which is causing build failures on the bots because it inadvertently changes the output directory of the compiler-rt libs when built as a runtime. Differential Revision: https://reviews.llvm.org/D117815
-
Marek Kurdej authored
-
Mark de Wever authored
This reverts commit cab96169. This breaks the CI.
-
Bixia Zheng authored
Add TACO tests to test/Integration/Dialect/SparseTensor/taco. Add the MLIR PyTACO implementation as tools under the directory. Reviewed By: aartbik, mehdi_amini Differential Revision: https://reviews.llvm.org/D117260
-
Mark de Wever authored
This addresses the usage of `operator&` in `<unordered_map>`. (Note there are still more headers with the same issue.) Reviewed By: #libc, Quuxplusone, ldionne Differential Revision: https://reviews.llvm.org/D117393
-
Jake Egan authored
Currently, Clang on AIX uses the system assembler to generate object files from assembly. The use of `-o -` results in a file named `-` instead of output to stdout. This patch uses a temporary object file instead. Reviewed By: DiggerLin, hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D117587
-
serge-sans-paille authored
-
- Jan 21, 2022
-
-
Chris Bieneman authored
This change moves EOL detection out of the clang::InclusionRewriter into llvm::StringRef so that it can be easily reused elsewhere. It also adds additional explicit test cases to verify the correct and expected return results. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D117626
-
Vy Nguyen authored
-
Nico Weber authored
-
serge-sans-paille authored
-
Nico Weber authored
-
Benjamin Kramer authored
That's undefined behavior. Found by -fsanitize=null.
-
Kristof Beyls authored
Differential Revision: https://reviews.llvm.org/D117872
-
Caroline Concatto authored
This patch checks in the masked gather when the first operand value is a splat and the mask is all one, because the masked gather is reloading the same value each time. This patch replaces this pattern of masked gather by a scalar load of the value and splats it in a vector. Differential Revision: https://reviews.llvm.org/D115726
-
serge-sans-paille authored
The tryLockFor method from raw_fd_sotreamis the sole user of that header, and it's not referenced in the mono repo. I still chose to keep it (may be useful for downstream user) but added a transient type that's forward declared to hold the duration parameter. Notable changes: - "llvm/Support/Duration.h" must be included in order to use tryLockFor. - "llvm/Support/raw_ostream.h" no longer includes <chrono> This sole change has an interesting impact on the number of processed line, as measured by: clang++ -E -Iinclude -I../llvm/include ../llvm/lib/Support/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before: 7917500 after: 7835142 Discourse thread on the topic: https://llvm.discourse.group/t/include-what-you-use-include-cleanup/5831
-
Kai Nacke authored
Registering the passes enables use of -stop-before=/-stop-after options. Reviewed By: uweigand Differential Revision: https://reviews.llvm.org/D117823
-
serge-sans-paille authored
-
Jan Svoboda authored
LLVM Programmer’s Manual strongly discourages the use of `std::vector<bool>` and suggests `llvm::BitVector` as a possible replacement. Currently, some users of `std::vector<bool>` cannot switch to `llvm::BitVector` because it doesn't implement the `pop_back()` and `back()` functions. To enable easy transition of `std::vector<bool>` users, this patch implements `llvm::BitVector::pop_back()` and `llvm::BitVector::back()`. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D117115
-
serge-sans-paille authored
-
serge-sans-paille authored
-
Archibald Elliott authored
The error messages in tests are far better when a test fails if the test is written using ASSERT_/EXPECT_<operator>(A, B) rather than ASSERT_/EXPECT_TRUE(A <operator> B). This commit updates all of llvm/unittests/Support to use these macros where possible. This change has not been possible in: - llvm/unittests/Support/FSUniqueIDTest.cpp - due to not overloading operators beyond ==, != and <. - llvm/unittests/Support/BranchProbabilityTest.cpp - where the unchanged tests are of the operator overloads themselves. There are other possibilities of this conversion not being valid, which have not applied in these tests, as they do not use NULL (they use nullptr), and they do not use const char* (they use std::string or StringRef). Reviewed By: mubashar_ Differential Revision: https://reviews.llvm.org/D117319
-
serge-sans-paille authored
-
serge-sans-paille authored
The cleanup was manual, but assisted by "include-what-you-use". It consists in 1. Removing unused forward declaration. No impact expected. 2. Removing unused headers in .cpp files. No impact expected. 3. Removing unused headers in .h files. This removes implicit dependencies and is generally considered a good thing, but this may break downstream builds. I've updated llvm, clang, lld, lldb and mlir deps, and included a list of the modification in the second part of the commit. 4. Replacing header inclusion by forward declaration. This has the same impact as 3. Notable changes: - llvm/Support/TargetParser.h no longer includes llvm/Support/AArch64TargetParser.h nor llvm/Support/ARMTargetParser.h - llvm/Support/TypeSize.h no longer includes llvm/Support/WithColor.h - llvm/Support/YAMLTraits.h no longer includes llvm/Support/Regex.h - llvm/ADT/SmallVector.h no longer includes llvm/Support/MemAlloc.h nor llvm/Support/ErrorHandling.h You may need to add some of these headers in your compilation units, if needs be. As an hint to the impact of the cleanup, running clang++ -E -Iinclude -I../llvm/include ../llvm/lib/Support/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before: 8000919 lines after: 7917500 lines Reduced dependencies also helps incremental rebuilds and is more ccache friendly, something not shown by the above metric :-) Discourse thread on the topic: https://llvm.discourse.group/t/include-what-you-use-include-cleanup/5831
-
Simon Pilgrim authored
Revert rG4727d29d908f9dd608dd97a58c0af1ad579fd3ca "[X86] Remove __builtin_ia32_pabs intrinsics and use generic __builtin_elementwise_abs" Some build bots are referencing the `__builtin_ia32_pabs` intrinsics via alternative headers
-
Simon Pilgrim authored
Revert rG8ee135dcf8ff060656ad481c3e980fe8763576f5 "[X86] Remove `__builtin_ia32_pmax/min` intrinsics and use generic `__builtin_elementwise_max/min`" Some build bots are referencing the `__builtin_ia32_pmax/min` intrinsics via alternative headers
-
Simon Pilgrim authored
D111985 added the generic `__builtin_elementwise_max` and `__builtin_elementwise_min` intrinsics with the same integer behaviour as the SSE/AVX instructions This patch removes the `__builtin_ia32_pmax/min` intrinsics and just uses `__builtin_elementwise_max/min` - the existing tests see no changes: ``` __m256i test_mm256_max_epu32(__m256i a, __m256i b) { // CHECK-LABEL: test_mm256_max_epu32 // CHECK: call <8 x i32> @llvm.umax.v8i32(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}) return _mm256_max_epu32(a, b); } ``` This requires us to add a `__v64qs` explicitly signed char vector type (we already have `__v16qs` and `__v32qs`). Sibling patch to D117791 Differential Revision: https://reviews.llvm.org/D117798
-
Valentin Clement authored
tco is a tool to test the FIR to LLVM IR pipeline of the Flang compiler. This patch update tco pipelines and adds the translation to LLVM IR. A simple test is added to make sure the tool is working with a simple FIR program. More tests will be upstream in follow up patch from the fir-dev branch. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: schweitz, mehdi_amini Differential Revision: https://reviews.llvm.org/D117781 Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com> Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
Andrzej Warzynski <andrzej.warzynski@arm.com>
-
Jan Svoboda authored
The minimizing and caching filesystem used by the dependency scanner can be configured to **not** minimize some files. That's necessary when scanning a TU with prebuilt inputs (i.e. PCH) that refer to the original (non-minimized) files. Minimizing such files in the dependency scanner would cause discrepancy between the current perceived state of the filesystem and the file sizes stored in the AST file. By not minimizing such files, we avoid creating the discrepancy. The problem with the current approach is that files that should not be minimized are identified by their path. This breaks down when the prebuilt input (PCH) and the current TU refer to the same file via different paths (i.e. symlinks). This patch switches from paths to `llvm::sys::fs::UniqueID` when identifying ignored files. This is consistent with how the rest of Clang treats files. Depends on D114966. Reviewed By: dexonsmith, arphaman Differential Revision: https://reviews.llvm.org/D114971
-
Jan Svoboda authored
The minimizing filesystem used by the dependency scanner isn't great when it comes to the consistency of its caches. There are two problems that can be exposed by a filesystem that changes during dependency scan: 1. In-memory cache entries for original and minimized files are distinct, populated at different times using separate stat/open syscalls. This means that when a file is read with minimization disabled, its contents might be inconsistent when the same file is read with minimization enabled at later point (and vice versa). 2. In-memory cache entries are indexed by filename. This is problematic for symlinks, where the contents of the symlink might be inconsistent with contents of the original file (for the same reason as in problem 1). This patch ensures consistency by always stating/reading a file exactly once. The original contents are always cached and minimized contents are derived from that on demand. The cache entries are now indexed by their `UniqueID` ensuring consistency for symlinks too. Moreover, the stat/read syscalls are now issued outside of critical section. Depends on D115935. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D114966
-
Jan Svoboda authored
The return types of some `CachedFileSystemEntry` member function are needlessly complex. This patch attempts to simplify the code by unwrapping cached entries that represent errors early, and then asserting `!isError()`. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D115935
-
Simon Pilgrim authored
D111986 added the generic `__builtin_elementwise_abs()` intrinsic with the same integer absolute behaviour as the SSE/AVX instructions (abs(INT_MIN) == INT_MIN) This patch removes the `__builtin_ia32_pabs*` intrinsics and just uses `__builtin_elementwise_abs` - the existing tests see no changes: ``` __m256i test_mm256_abs_epi8(__m256i a) { // CHECK-LABEL: test_mm256_abs_epi8 // CHECK: [[ABS:%.*]] = call <32 x i8> @llvm.abs.v32i8(<32 x i8> %{{.*}}, i1 false) return _mm256_abs_epi8(a); } ``` This requires us to add a `__v64qs` explicitly signed char vector type (we already have `__v16qs` and `__v32qs`). Differential Revision: https://reviews.llvm.org/D117791
-
Kadir Cetinkaya authored
This should improve the overall UX by making the labels less jumpy. Differential Revision: https://reviews.llvm.org/D117776
-
Fraser Cormack authored
This patch brings better splat-matching to our VP support, by sinking splat operands of VP intrinsics back into the same block as the VP operation. The list of VP intrinsics we are interested in matches that of the regular instructions. Some optimization is still lacking. For instance, our VL nodes aren't recognized as commutative, so splats must be on the RHS. Because of this, we limit our sinking of splats to just the RHS operand for now. Improvement in this regard can come in another patch. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D117703
-
Siddharth Bhat authored
The LangRef currently lacks a top-level production, leaving the productions attribute-alias-def and type-alias-defunused. Clarify the situation by declaring what is to be parsed by an MLIR parser at the toplevel. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D117668
-
OCHyams authored
Fix PR53163 by rounding the byte size of DW_TAG_base_type types up. Without this fix we risk emitting types with a truncated size (including rounding less-than-byte-sized types' sizes down to zero). Reviewed By: probinson Differential Revision: https://reviews.llvm.org/D117124
-