- Jul 26, 2023
-
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D150111
-
Jianjian GUAN authored
The flags, initialization of the flags, and the getter methods for features defined in AVR.td can be generated by TableGen. Reviewed By: benshi001 Differential Revision: https://reviews.llvm.org/D155918
-
Petr Hosek authored
This contains compiler-rt builtins and llvm-libc for baremetal use. Differential Revision: https://reviews.llvm.org/D155337
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D148982
-
Timm Bäder authored
First, we need to handle void types in visitExpr, so we don't run into an assertion there when we try to pop a return value from the stack that isn't there. Secondly, we need to handle it when visiting comma expressions so we don't do the same thing there. Differential Revision: https://reviews.llvm.org/D148925
-
Timm Bäder authored
This is a CXXConstructExpr, so create a local temporary variable and initialize it. Differential Revision: https://reviews.llvm.org/D147591
-
Timm Bäder authored
We need to call them like any other function, so we can generate proper diagnostics. Differential Revision: https://reviews.llvm.org/D150040
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D148690
-
Jim Lin authored
[RISCV] Merge rv32/rv64 vector slideup and slidedown intrinsic tests that have the same content. NFC.
-
Timm Bäder authored
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D144164
-
David CARLIER authored
Allow to have a name for workers in case the fuzzed code is itself using threads. Reviewers: vitalybuka Reviewed-By: vitalybuka Differential Revision: https://reviews.llvm.org/D155754
-
Johannes Doerfert authored
We can improve our deduction if we stop at PHI and select instructions and also iterate the returned values explicitly. The latter helps with isImpliedByIR deductions.
-
Johannes Doerfert authored
-
Johannes Doerfert authored
We use to deal with multiple values but not in the handleCmp function. Now we also allow multiple simplified operands there.
-
Johannes Doerfert authored
-
Jianjian GUAN authored
Because we have STRICT_FCVT_W_RV64 equal to ISD::FIRST_TARGET_STRICTFP_OPCODE, the check needs to be splitted into 2 parts. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D155683
-
Kai Luo authored
After PrePrunePass `claimOrExternalizeWeakAndCommonSymbols`, a defined symbol might become external. So determine a function call is external or not when building the linkgraph is not accurate. This largely affects updating TOC pointer on PowerPC. TOC pointer is supposed to be the same in one object file(if no mulitple TOC appears) and is updated when control flow transferred to another object file. This patch defers checking a function call is external or not, in `buildTables_ELF_ppc64` which is a PostPrunePass. This patch fixes failures when `jitlink -orc-runtime=/path/to/libort_rt.a` is used. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D155925
-
Michael Maitland authored
BEXT[I] is available on A and B pipes, and has single-cycle latency. The other instructions are only available on B-pipe, but otherwise have single-cycle latency.
-
esmeyi authored
Summary: D80642 added support for emitting AvailableExternally Linkage on AIX. However, an assertion of "Trying to get csect representation of this symbol but none was set." occurred when a function is declared as available_externally. This is due to we missing to generate a csect for the function. This patch fixes it. Reviewed By: hubert.reinterpretcast, shchenz Differential Revision: https://reviews.llvm.org/D156213 Signed-off-by:
Esme Yi <esme.yi@ibm.com>
-
Weining Lu authored
As described in [1][2], `-mtune=` is used to select the type of target microarchitecture, defaults to the value of `-march`. The set of possible values should be a superset of `-march` values. Currently possible values of `-march=` and `-mtune=` are `native`, `loongarch64` and `la464`. D136146 has supported `-march={loongarch64,la464}` and this patch adds support for `-march=native` and `-mtune=`. A new ProcessorModel called `loongarch64` is defined in LoongArch.td to support `-mtune=loongarch64`. `llvm::sys::getHostCPUName()` returns `generic` on unknown or future LoongArch CPUs, e.g. the not yet added `la664`, leading to `llvm::LoongArch::isValidArchName()` failing to parse the arch name. In this case, use `loongarch64` as the default arch name for 64-bit CPUs. And these two preprocessor macros are defined: - __loongarch_arch - __loongarch_tune [1]: https://github.com/loongson/LoongArch-Documentation/blob/2023.04.20/docs/LoongArch-toolchain-conventions-EN.adoc [2]: https://github.com/loongson/la-softdev-convention/blob/v0.1/la-softdev-convention.adoc Reviewed By: xen0n, wangleiat Differential Revision: https://reviews.llvm.org/D155824 -
Fangrui Song authored
The current implementation has two primary issues: * Matching `a*a*a*b` against `aaaaaa` has exponential complexity. * BitVector harms data cache and is inefficient for literal matching. and a minor issue that `\` at the end may cause an out of bounds access in `StringRef::operator[]`. Switch to an O(|S|*|P|) greedy algorithm instead: factor the pattern into segments split by '*'. The segment is matched sequentianlly by finding the first occurrence past the end of the previous match. This algorithm is used by lots of fnmatch implementations, including musl and NetBSD's. In addition, `optional<StringRef> Exact, Suffix, Prefix` wastes space. Instead, match the non-metacharacter prefix against the haystack, then match the pattern with the rest. In practice `*suffix` style patterns are less common and our new algorithm is fast enough, so don't bother storing the non-metacharacter suffix. Note: brace expansions (D153587) can leverage the `matchOne` function. Differential Revision: https://reviews.llvm.org/D156046
-
Fangrui Song authored
-
Craig Topper authored
Q extension does not require RV64. E extenion is not incompatible with F or D extensions.
-
Johannes Doerfert authored
Also, first check inter fn reachability as it seems to be cheaper in practise.
-
Johannes Doerfert authored
-
Johannes Doerfert authored
This adds the deduction also if the function is not IPO amendable.
-
Johannes Doerfert authored
If the new signature has only readnone pointers we can remove any argmem effect from the function signature.
-
Johannes Doerfert authored
See @nosync_convergent_callee_test() in nosync.ll. The other changes are call sites now annotated with `nosync`.
-
Johannes Doerfert authored
-
Jonas Devlieghere authored
Increase the default timeouts when running under ASan. We had something similar before we adopted tablegen, but the larger timeouts got lost in the transition, possibly because tablegen's preprocessor support is very limited. This patch passes a new define (LLDB_SANITIZED) to lldb-tablegen on which we can base the default value. Differential revision: https://reviews.llvm.org/D156279
-
Florian Mayer authored
This has been in use for a long time without any issues. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D156267
-
Jim Lin authored
-
Mehdi Amini authored
-
Florian Mayer authored
They pass on x86_64 host, arm64 host, and Android. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D156273
-
Florian Mayer authored
Tested on Android and ARM Linux and it passes. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D156269
-
Fangrui Song authored
[unittest] Remove some tests from f5ae7e34 that current GlobPattern cannot handle
-
Fangrui Song authored
This restores D132311, which was reverted in 29c841ce (Sep 2022) due to certain files not buildable with GCC 7.3.0. The previous attempt was reverted by 6cd9608f (Dec 2020). This time, GCC 7.3.0 has existing build errors for a long time due to structured bindings for many files, e.g. ``` llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:9098:13: error: cannot decompose class type ‘std::pair<llvm::Value*, const llvm::SCEV*>’: both it and it s base class ‘std::pair<llvm::Value*, const llvm::SCEV*>’ have non-static data members for (auto [_, Stride] : Legal->getLAI()->getSymbolicStrides()) { ^~~~~~~~~~~ ``` ... and also some `error: duplicate initialization of` instances due to llvm/Transforms/IPO/Attributor.h. --- GCC 7.5.0 has a bug that, without this change, certain `SmallVector` with a `std::pair` element type like `SmallVector<std::pair<Instruction * const, Info>, 0> X;` lead to spurious ``` /tmp/opt/gcc-7.5.0/include/c++/7.5.0/type_traits:878:48: error: constructor required before non-static data member for ‘...’ has been parsed ``` Switching to std::is_trivially_{copy/move}_constructible fixes the error.
-
Vitaly Buka authored
OnUnmap tags to zero already.
-
Andrés Villegas authored
Switch the parse of command line options from llvm::cl to OptTable. The motivation for this change is to continue adding llvm based tools to the llvm driver multicall. For more information about the proposal and motivation, please see https://discourse.llvm.org/t/rfc-llvm-busybox-proposal/58494 Reviewed By: leonardchan Differential Revision: https://reviews.llvm.org/D155119
-