- Dec 09, 2021
-
-
Florian Hahn authored
Make sure various accessors do not modify any state, in preparation for D115111.
-
Ties Stuij authored
If the extension string "+pacbti" was given in -march=... or -mcpu=... options the compiler shall define the following preprocessor macros: __ARM_FEATURE_PAUTH with value 1. __ARM_FEATURE_BTI with value 1. This patch is part of a series that adds support for the PACBTI-M extension of the Armv8.1-M architecture, as detailed here: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension The PACBTI-M specification can be found in the Armv8-M Architecture Reference Manual: https://developer.arm.com/documentation/ddi0553/latest The following people contributed to this patch: - Momchil Velikov - Ties Stuij Reviewed By: miyuki Differential Revision: https://reviews.llvm.org/D112431 -
mydeveloperday authored
https://bugs.llvm.org/show_bug.cgi?id=48916 Left and Right Alignment inside a loop is misaligned. Reviewed By: HazardyKnusperkeks, curdeius Differential Revision: https://reviews.llvm.org/D115050
-
Jan Svoboda authored
This patch avoids unnecessarily copying contents of `mmap`-ed files into `CachedFileSystemEntry` by storing `MemoryBuffer` instead. The change leads to ~50% reduction of peak memory footprint when scanning LLVM+Clang via `clang-scan-deps`. Depends on D115331. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D115043
-
Jan Svoboda authored
Most of `MemoryBuffer` interfaces expose a `RequiresNullTerminator` parameter that's being used to: * determine how to open a file (`mmap` vs `open`), * assert newly initialized buffer indeed has an implicit null terminator. This patch adds the paramater to the `SmallVectorMemoryBuffer` constructors, meaning: * null terminator can now be added to `SmallVector`s that didn't have one before, * `SmallVectors` that had a null terminator before keep it even after the move. In line with existing code, the new parameter is defaulted to `true`. This patch makes sure all calls to the `SmallVectorMemoryBuffer` constructor set it to `false` to preserve the current semantics. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D115331
-
Jan Svoboda authored
-
Michel Weber authored
This patch provides functionality for simplifying `PresburgerSet`s by checking if any `FlatAffineConstraints` in the set is contained in another, and removing such redundant FACs. This is part of a series of patches to provide functionality for [integer set coalescing](http://impact.gforge.inria.fr/impact2015/papers/impact2015-verdoolaege.pdf) in MLIR. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D110617
-
Shraiysh Vaishay authored
This patch supports the atomic construct (update) following section 2.17.7 of OpenMP 5.0 standard. Also added tests and verifier for the same. Reviewed By: kiranchandramohan, peixin Differential Revision: https://reviews.llvm.org/D112982
-
Martin Storsjö authored
This was changed incorrectly by accident in 99023627. Differential Revision: https://reviews.llvm.org/D113254
-
Jan Svoboda authored
This patch changes uses of `std::unique_lock` to `std::lock_guard`. The `std::unique_lock` template provides some advanced capabilities (deferred locking, time-constrained locking attempts, etc.) we don't use in the caching filesystem. Plain `std::lock_guard` will do here. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D115332
-
Dmitry Makogon authored
-
Mikael Holmen authored
gcc warned with ../lib/Target/ARM/ARMFrameLowering.cpp:797:31: warning: enumeral and non-enumeral type in conditional expression [-Wextra] 797 | Reg == ARM::R12 ? ARM::RA_AUTH_CODE : Reg, true); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ -
Mikael Holmen authored
gcc warned about ../lib/Target/PowerPC/PPCTargetTransformInfo.cpp:1401:13: warning: unused variable 'VecTy' [-Wunused-variable] 1401 | if (auto *VecTy = dyn_cast<FixedVectorType>(DataType)) { | ^~~~~ -
Dmitry Vyukov authored
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutimes Depends on D112602. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D112603
-
Fraser Cormack authored
Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D115361
-
Nicolas Vasilache authored
Offset-specific verification seems to have been lost in one of the recent refactorings. Also add proper tests that would have caught this omission. This addresses the immediate issues discussed in: https://llvm.discourse.group/t/memref-subview-affine-map-and-symbols/4851 Differential Revision: https://reviews.llvm.org/D115427
-
Arthur Eubanks authored
The alignment is never 0 since getAlign() returns 1 << bits. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D115388
-
Chuanqi Xu authored
According to [dcl.fct.def.coroutine]/p14: > If the evaluation of the expression promise.unhandled_exception() > exits via an exception, the coroutine is considered suspended at the > final suspend point. But this is not implemented in clang before. This patch would implement this feature by marking the coroutine as done at the place of coro.end(frame, /*InUnwindPath=*/true ). Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D115219
-
Kito Cheng authored
- `vm` constraint is used for masking operand, which always v0. - Update testcase, only masking operand should use `vm`, vector mask operations should just use `vr` for any vector register. - Revise the description of `vm` constraint. - This patch also fix issue on RISCVRegisterInfo.td and RISCVISelLowering.cpp. RISCVRegisterInfo.td: - The first VT in the list must be the largest total size since the SelectionDAGBuilder uses the first register in the list as the canonical type for the register. RISCVISelLowering.cpp: - Fix RISCVTargetLowering::splitValueIntoRegisterParts and RISCVTargetLowering::joinRegisterPartsIntoValue for handling vectors with different total size, that will happened on fractional LMUL since fractional LMUL is always occupy one vector register. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D112599 -
Chuanqi Xu authored
I found that the coroutine intrinsic llvm.coro.param in documentation (https://llvm.org/docs/Coroutines.html#id101) didn't get used actually since there isn't lowering codes in LLVM. I also checked the implementation of libstdc++ and libc++. Both of them didn't use llvm.coro.param. So I am pretty sure that the llvm.coro.param intrinsic is unused. I think it would be better t to remove it to avoid possible misleading understandings. Note: according to [class.copy.elision]/p1.3, this optimization is allowed by the C++ language specification. Let's make it someday. Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D115222
-
MaheshRavishankar authored
The region of `linalg.generic` might contain `tensor` operations. For example, current lowering of `gather` uses a `tensor.extract` in the body of the `LinalgOp`. Bufferize the ops within a `LinalgOp` region as well to catch such cases. Differential Revision: https://reviews.llvm.org/D115322
-
Dmitry Vyukov authored
Fork the current version of tsan runtime before commiting rewrite of the runtime (D112603). The old runtime can be enabled with TSAN_USE_OLD_RUNTIME option. This is a temporal measure for emergencies and is required for Chromium rollout (for context see http://crbug.com/1275581). The old runtime is supposed to be deleted soon. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D115223
-
Chuanqi Xu authored
Previously we would create global module fragment for extern linkage declaration which is alreday in global module fragment. However, it is clearly redundant to do so. This patch would check if the extern linkage declaration are already in GMF before we create a GMF for it.
-
Mircea Trofin authored
-
Mircea Trofin authored
-
Kazu Hirata authored
-
LLVM GN Syncbot authored
-
Mircea Trofin authored
This prepares it for the regalloc work. Part of it is making model evaluation accross 'development' and 'release' scenarios more reusable. This patch: - extends support to tensors of any shape (not just scalars, like we had in the inliner -Oz case). While the tensor shape can be anything, we assume row-major layout and expose the tensor as a buffer. - exposes the NoInferenceModelRunner, which we use in the 'development' mode to keep the evaluation code path consistent and simplify logging, as we'll want to reuse it in the regalloc case. Differential Revision: https://reviews.llvm.org/D115306
-
Zi Xuan Wu authored
Complete basic arithmetic operations such as add/sub/mul/div, and it also includes converions and some specific operations such as bswap.Add load/store patterns to generate different addressing mode instructions. Also enable some infra such as copy physical register and eliminate frame index.
-
Joe Loser authored
No tests are using `libcxx/test/support/tracked_value.h`. So, remove it. Differential Revision: https://reviews.llvm.org/D115411
-
Mircea Trofin authored
Renamed to conform to coding style
-
Noah Shutty authored
A [[ https://lists.llvm.org/pipermail/llvm-dev/2021-December/154203.html | report on llvm-dev ]] indicated that `curl.h` could be found during build configuration but not during compilation. This diff uses the libcurl imported library created by findcurl, so that includes and libs are automatically managed correctly by cmake. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D115189
-
Chen Zheng authored
Now we won't copy the byval parameter (bigger than 8 bytes) to caller's parameter save area. Instead, we will only copy the byval parameter when it can not be passed entirely in registers which means we have to use parameter save area according to the 64 bit SVR4 ABI. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D111485
-
Nico Weber authored
-
Andrew Browne authored
This reverts commit 5c277402. Reverting due to Windows build issue: sanitizer_stackdepot.cpp.obj : error LNK2005: "void __cdecl __sanitizer::StackDepotStopBackgroundThread(void)" (?StackDepotStopBackgroundThread@__sanitizer@@YAXXZ) already defined in sanitizer_common_libcdep.cpp.obj LINK : fatal error LNK1181: cannot open input file 'projects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\asan_rtl_x86_64.S.obj'
-
Duncan P. N. Exon Smith authored
Stop using `SmallVector::set_size()` in zlib. Replace pairs of `reserve()` / `set_size()` with `resize_for_overwrite()` and `truncate()`. Differential Revision: https://reviews.llvm.org/D115391
-
Duncan P. N. Exon Smith authored
Stop using `SmallVector::set_size()` in sys::path APIs. In both cases, use `truncate()` instead. Differential Revision: https://reviews.llvm.org/D115391
-
Nico Weber authored
-
Siva Chandra Reddy authored
Generation of the .yaml has been removed to prevent lint from running with every ninja invocation. The new .clang-tidy file is copied to the libc build directory so that generated files also get checked. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D115405
-
Kirill Stoimenov authored
This reverts commit f71c553a. Reviewed By: kstoimenov Differential Revision: https://reviews.llvm.org/D115407
-