- Mar 25, 2023
-
-
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
-
Stefan Gränitz authored
-
Sven van Haastregt authored
-
Kadir Cetinkaya authored
Fixes https://github.com/llvm/llvm-project/issues/61652 Differential Revision: https://reviews.llvm.org/D146732
-
Karl-Johan Karlsson authored
When compiling compiler-rt with -fsanitize=undefined and running testcases you end up with the following warning: UBSan:/repo/uabkaka/llvm-project/compiler-rt/lib/builtins/int_mulo_impl.inc:24:23: signed integer overflow: -1 * -2147483648 cannot be represented in type 'si_int' (aka 'long') This can be avoided by doing the multiplication in a matching unsigned variant of the type. This was found in an out of tree target. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D146623
-
Ben Shi authored
The 'LPM' instruction has three forms: ------------------------ | form | feature | | ---------- | --------| | LPM | hasLPM | | LPM Rd, Z | hasLPMX | | LPM Rd, Z+ | hasLPMX | ------------------------ The second form is always selected in ISelDAGToDAG, even on devices without FeatureLPMX. This patch emits "LPM + MOV" on devices with only FeatureLPM. Reviewed By: jacquesguan Differential Revision: https://reviews.llvm.org/D141246
-
David Sherwood authored
Quite a few vectoriser tests were using a trip count of 1024, which meant: 1. For fixed-length VFs we would never actually tail-fold, e.g. see Transforms/LoopVectorize/RISCV/uniform-load-store.ll. This is because we can prove at compile-time there will never be a scalar tail. 2. As of D146199 the same optimisation mentioned above will also apply to scalable VFs too. I've changed all such trip counts to be 1025 instead. Differential Revision: https://reviews.llvm.org/D146219
-
Akshay Khadse authored
Fixes some usages of the "auto" keyword to avoid creation of copies. Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D146694
-
mydeveloperday authored
Regenerate the style documentation, requires some minor sphinx changes to avoid warnings Reviewed By: klimek Differential Revision: https://reviews.llvm.org/D146704
-
Stefan Gränitz authored
This first version lays the foundations for AArch32 support in JITLink. ELFLinkGraphBuilder_aarch32 processes REL-type relocations and populates LinkGraphs from ELF object files for both big- and little-endian systems. The ArmCfg member controls subarchitecture-specific details throughout the linking process (i.e. it's passed to ELFJITLinker_aarch32). Relocation types follow the ABI documentation's division into classes: Data (endian-sensitive), Arm (32-bit little-endian) and Thumb (2x 16-bit little-endian, "Thumb32" in the docs). The implementation of instruction encoding/decoding for relocation resolution is implemented symmetrically and is testable in isolation (see AArch32 category in JITLinkTests). Callable Thumb functions are marked with a ThumbSymbol target-flag and stored in the LinkGraph with their real addresses. The thumb-bit is added back in when the owning JITDylib requests the address for such a symbol. The StubsManager can generate (absolute) Thumb-state stubs for branch range extensions on v7+ targets. Proper GOT/PLT handling is not yet implemented. This patch is based on the backend implementation in ez-clang and has just enough functionality to model the infrastructure and link a Thumb function `main()` that calls `printf()` to dump "Hello Arm!" on Armv7a. It was tested on Raspberry Pi with 32-bit Raspbian OS. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D144083
-
Luke Lau authored
Reviewed By: reames Differential Revision: https://reviews.llvm.org/D146710
-