- Jul 26, 2023
-
-
Sander de Smalen authored
Reviewed By: bryanpkc Differential Revision: https://reviews.llvm.org/D156128
-
Timm Bäder authored
Differential Revision: https://reviews.llvm.org/D150566
-
pvanhout authored
Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D156208
-
Chuanqi Xu authored
See https://discourse.llvm.org/t/clang-cl-exe-support-for-c-modules/72257 for details. Simply, the user of clang-cl.exe can't get a good experience with C++20 modules now. While we don't have resources to support it well now, we should make it clear in the documentation.
-
Johannes Doerfert authored
The case was wrong before, and somehow I only looked at the condition before.
-
Johannes Doerfert authored
-
Timm Bäder authored
We will use this opcode for conditionally executed statements that are invalid in a constant expression. Differential Revision: https://reviews.llvm.org/D150364
-
NAKAMURA Takumi authored
-
Timm Bäder authored
When calling functions in the checkingPotentialConstantExpression mode, we cannot have arguments (including This + RVO pointers) for the toplevel callee, but the functions called from within can work just fine, or at least we succeed in pushing their arguments on the stack, so we must also succeed in removing them again. Differential Revision: https://reviews.llvm.org/D150358
-
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
-