- Mar 25, 2023
-
-
Alex Langford authored
I accidentally broke the FreeBSD lldb-server build in 0c5cee77 because it now depends on PlatformFreeBSD. PlatformFreeBSD depends on PlatformPOSIX but this dependency was not explicitly tracked in CMake. As a result, the FreeBSD lldb-server build broke. Credit to John F. Carr <jfc@mit.edu> for pointing out the issue and providing a fix.
-
-
Artem Belevich authored
It turns out, 4GB+ large arrays are a thing and a 32-bit integer is just not enough to handle them. Differential Revision: https://reviews.llvm.org/D146767
-
Luke Lau authored
Selects get lowered to a vmerge with a mask, and insertsubvectors get lowered to a vslideup. Differential Revision: https://reviews.llvm.org/D146747
-
Luke Lau authored
They are functionally equivalent but currently one fails to vectorize because the cost of an insert subvector shuffle is too expensive. D146747 will update the cost of these types of shuffles, so add a test case for it.
-
Luke Lau authored
Horizontal reduction can still kick in even when the max VF is set to 0, but strange stuff can happen as it affects the cost model. Enable it for these tests as eventually the goal will be to have SLP enabled.
-
Luke Lau authored
These map to SK_InsertSubvector and SK_Select shuffle kinds
-
Luke Lau authored
Since they no longer involve a merge
-
Luke Lau authored
A shuffle with an insert subvector mask is functionally equivalent to: (insert_subvector v0, (extract_subvector v1, len), index) We can emulate by doing a vslideup on v1 into the right index, and carefully selecting VL so that we don't overwrite any more destination elements than what we have to. This avoids the need for a select with a mask.
-
Sergio Afonso authored
This patch adds support for producing MLIR files when using -save-temps on flang. One MLIR file will be produced before lowering and optimization passes, containing the operations produced by the PFT-to-MLIR lowering bridge, and another at the end of the process, just before LLVM IR generation. This is accomplished by forwarding the -save-temps flag from the driver to the frontend, and modifying it to output MLIR files accordingly. Differential Revision: https://reviews.llvm.org/D146075
-
Chia-hung Duan authored
Tracking the pushed bytes between to releaseToOSMaybe calls may lead to a overestimated case that if we do malloc 2KB -> free 2KB -> malloc 2KB -> free 2KB, we may think we have released 4KB but it only releases 2KB actually. Switch to use bytes-in-freelist excludes more cases that can't release the pages Reviewed By: cferris Differential Revision: https://reviews.llvm.org/D146400
-
yijia1212 authored
Remove unused header file in VectorTransformOps.h Differential Revision: https://reviews.llvm.org/D146825
-
Kazu Hirata authored
This patch fixes: clang/lib/Driver/ToolChains/OHOS.cpp:410:18: warning: unused variable ‘A’ [-Wunused-variable] clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp:293:15: warning: unused variable ‘II’ [-Wunused-variable] llvm/lib/ProfileData/RawMemProfReader.cpp:364:68: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
-
Doru Bercea authored
Patch: https://reviews.llvm.org/D146812
-
Paul Kirth authored
NaN and Inf are still causing some problems in a formatting test. This patch makes the checked format string exactly match the internal JSON format string. If there are still problems, we should disable testing Inf and NaN values until we can come to a portable solution. Reviewed By: abhina.sreeskantharajan Differential Revision: https://reviews.llvm.org/D146818
-
Tomas Matheson authored
As described in a comment on D140637, PluginInlineOrderTest.NoInlineFoo will fail with: InlineOrderPlugin.so: undefined symbol: _ZN4llvm13AllAnalysesOnINS_6ModuleEE6SetKeyE The symbol is unique in libLLVMCore and ends up local in AnalysisTests. Fix this by exporting all unique symbols found in libraries. AnalysisTests.symbols change in line count: 12464 -> 12499 Differential Revision: https://reviews.llvm.org/D146731
-
- Mar 24, 2023
-
-
Quinn Dawkins authored
Differential Revision: https://reviews.llvm.org/D146816
-
Augie Fackler authored
-
Mariusz Sikora authored
Differential Revision: https://reviews.llvm.org/D146808
-
Nikita Popov authored
Nowadays MSSA is required for LICM/LoopSink, so drop the checks for whether its available or not.
-
Alvin Wong authored
When `llvm-symbolizer.exe` is on the PATH in an entry containing two consecutive backslashes, sanitizers will try to launch llvm-symbolizer with its absolute path containing these consecutive backslashes. This fails a sanity check in `sanitizer_symbolizer_win.cpp`. According to the documentation of `CommandLineToArgvW` [1] and a MS blog post [2], backslashes in general, regardless of how many of them in a row, do not have any special effect, unless when immediately followed by a double quote. There already exists a check that fails when the command line arguments contains double quote, therefore the check for double backslashes can simply be removed. [1]: https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-commandlinetoargvw [2]: https://learn.microsoft.com/en-us/archive/blogs/twistylittlepassagesallalike/everyone-quotes-command-line-arguments-the-wrong-way Differential Revision: https://reviews.llvm.org/D146621
-
Xiaodong Liu authored
Fix the lld link error on ppc64le builders: ``` ld.lld: error: undefined symbol: llvm::createLoopDataPrefetchPass() >>> referenced by LoongArchTargetMachine.cpp >>> lib/Target/LoongArch/CMakeFiles/LLVMLoongArchCodeGen.dir/LoongArchTargetMachine.cpp.o:((anonymous namespace)::LoongArchPassConfig::addIRPasses()) collect2: error: ld returned 1 exit status` ``` Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D146806
-
Nemanja Ivanovic authored
This DAG combine is correct on little endian targets but is incorrect on big endian targets. Add big endian code to correct it. Differential revision: https://reviews.llvm.org/D146460
-
Joseph Huber authored
Summary: These stored previously used `RELEASE`. This was done originally to ensure that the stores to the shared memory buffer were flushed prior to signaling that the other side can begin accessing it. However, this should be accomplished by the memory fence above the store. This change is required because NVPTX does not support non-relaxed atomics used on unified shared memory.
-
Sander de Smalen authored
[AArch64][SME] SelectSMETileSlice should also match to 'reg+0' when slice is ADD with non-constant RHS. It would decompose an address into a `reg + 0` when the slice was not an ADD, but when the RHS of the ADD was not a constant, it would simply not match. This patch fixes that, by always resolving to a `reg + 0` slice.
-
Vlad Serebrennikov authored
Extend `#pragma clang __debug dump` to support not only single identifier, but an expression as well. This makes it possible to test ADL and overload resolution directly, without being creative to make them observable via diagnostics (e.g. when [[ http://eel.is/c++draft/over.match.best | over.match.best ]] is involved). This implementation has a known limitation of not supporting dependent expressions properly, but it's quite useful even without such support. Differential Revision: https://reviews.llvm.org/D144115
-
Nikita Popov authored
-
Dmitry Makogon authored
-
Dmitry Makogon authored
Currently it fails as LSR doesn't preserve LCSSA in some cases.
-
Nicolas Vasilache authored
This revision adds vector transform operations that allow us to better inspect the composition of various lowerings that were previously very opaque. This commit is NFC in that it does not change patterns beyond adding `rewriter.notifyFailure` messages and it does not change the tests beyond breaking them into pieces and using transforms instead of throwaway opaque test passes. Reviewed By: ftynse, springerm Co-authored-by:
Alex Zinenko <zinenko@google.com> Differential Revision: https://reviews.llvm.org/D146755
-
Nikita Popov authored
Don't merge invokes if this replaces constant operands with phis in a place where this is not legal. This also disallows converting operand bundles from constant to non-constant, in line with the restriction we use in other transforms. Fixes https://github.com/llvm/llvm-project/issues/61265. Differential Revision: https://reviews.llvm.org/D146723
-
Rainer Orth authored
The `Flang :: Driver/lto-flags.f90` test `FAIL`s on Solaris: /vol/llvm/src/llvm-project/dist/flang/test/Driver/lto-flags.f90:30:13: error: THIN-LTO: expected string not found in input ! THIN-LTO: "-plugin-opt=thinlto" ^ This is no wonder since the native Solaris `ld` doesn't support the linker plugin interface at all, so this patch marks the test as `UNSUPPORTED`. Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`. Differential Revision: https://reviews.llvm.org/D146807 -
Nikita Popov authored
Rather than cleanup up dead constant expressions as we go along, do this once at the end. This aligns it with the CleanupConstantGlobalUsers() implementation and avoids any invalidation issues. Fixes https://github.com/llvm/llvm-project/issues/61674.
-
khei4 authored
Differential Revision: https://reviews.llvm.org/D146798 Reviewed By: nikic
-
Mariusz Sikora authored
Introducing Subtarget Features for instructions: - ds_pk_add_bf16 - ds_pk_add_f16 - ds_pk_add_rtn_bf16 - ds_pk_add_rtn_f16 - flat_atomic_pk_add_f16 - flat_atomic_pk_add_bf16 - global_atomic_pk_add_f16 - global_atomic_pk_add_bf16 - buffer_atomic_pk_add_f16 Differential Revision: https://reviews.llvm.org/D146701
-
Nico Weber authored
-
Nikita Popov authored
Peculiarly, the non-permissive variant handled this gracefully, but the permissive one did not.
-
Dmitry Makogon authored
-
Aaron Ballman authored
This addresses the issues found in: https://lab.llvm.org/buildbot/#/builders/92/builds/41772
-
Kiran Chandramohan authored
This is a temporary message until the feature is implemented and merged. Note: There is a proposed patch (https://reviews.llvm.org/D127215) Reviewed By: peixin Differential Revision: https://reviews.llvm.org/D146768
-