- Jan 11, 2023
-
-
Max Kazantsev authored
-
Owen Anderson authored
Fixes https://github.com/llvm/llvm-project/issues/59777 Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D140836
-
Alex Brachet authored
Differential Revision: https://reviews.llvm.org/D141236
-
Max Kazantsev authored
-
Max Kazantsev authored
This patch allows optimizeLoopExitWithUnknownExitCount to deal with branches by conditions that are not immediately ICmp's, but aggregates of ICmp's joined by arithmetic or logical AND/OR. Each ICmp is optimized independently. Differential Revision: https://reviews.llvm.org/D139832 Reviewed By: nikic
-
LLVM GN Syncbot authored
-
Owen Anderson authored
This has been obsoleted by C++ thread_local for a long time. As far as I know, Xcode was the last supported toolchain to add support for C++ thread_local in 2016. As a precaution, use LLVM_THREAD_LOCAL which provides even greater backwards compatibility, allowing this to function even pre-C++11 versions of GCC. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D141349
-
Owen Anderson authored
Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D141344
-
Emilia Dreamer authored
This patch properly recognizes the generic selection expression introduced in C11, by adding an additional token type for the colons present in such expressions. Previously, they would be recognized as "inline ASM colons" purely by the fact that those are the last thing checked for. I tried to avoid adding an addition token type, but since colons by default like having spaces around them, I chose to add a new type so that no space is added after the type selector. Currently, no aspect of the formatting of these expressions in able to be configured, as I'm not sure what could even be configured here. One notable thing is that association list is always formatted as either entirely on one line, if it can fit, or with line breaks after every comma in the expression (also after the controlling expr.) This visually makes them more similar to switch statements when long, matching the behaviour of the selection expression, being that of a sort of swit...
-
Emilia Dreamer authored
D119599 added the ability to align compound assignments, right aligning them in order to line up at the equals sign. However, that patch didn't account for AlignTokens being called recursively across scopes, which reset the right justification to be false in any scope besides the top scope. This meant the compound assignments were aligned, just not at the right place. (No tests also ever introduced any scopes) This patch makes sure to inherit the right justification value, just as every other parameter is passed on. Fixes https://github.com/llvm/llvm-project/issues/58029 Reviewed By: HazardyKnusperkeks, owenpan, MyDeveloperDay Differential Revision: https://reviews.llvm.org/D141288
-
chenglin.bi authored
-
chenglin.bi authored
https://alive2.llvm.org/ce/z/Uy_x_b Fix: https://github.com/llvm/llvm-project/issues/59902 Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D141359
-
Thomas Raoux authored
Prevent creating a vector of size 0 that would fail verifier. Vector 1d with a single element should be treated like 0d vectors. Differential Revision: https://reviews.llvm.org/D141452
-
Wang, Xin10 authored
When use llc -mattr=+avx512fp16, it will crash. ``` define half @test(<64 x half> %x, i64 %idx){ %res = extractelement <64 x half> %x, i64 %idx ret half %res } ``` The root cause is when we enable avx512fp16 we lose custom handler for extract f16 from big vectors which is not loaded from pointer. Reviewed By: pengfei Differential Revision: https://reviews.llvm.org/D141348 -
Kudryashov Evgeny authored
libLLVM.so is empty if it is built with Android NDK (`-DLLVM_BUILD_LLVM_DYLIB=ON`). The patch fixes it. Reviewed By: xbolva00 Differential Revision: https://reviews.llvm.org/D140268
-
Kai Sasaki authored
Canonicalize identity affine.min/max to allow further optimization to follow the def-use chain of the given values. The reported issue is https://github.com/llvm/llvm-project/issues/59399. Differential Revision: https://reviews.llvm.org/D141354
-
Ruiling Song authored
For D16 memory load instructions, the hardware usually only write to half of the 32bit register, but we define the destination register using 32bit register for the MachineIR instruction. Without the extra tied source register, LLVM framework will think previous write to the other half of the register being dead. This is because by using 32bit register as the destination register, LLVM will think the instruction will always overwrite the whole 32bit register. By adding the extra tied source, LLVM will think we are reading the register, so previous write to the register will not be dead. This dummy tied source is introducing unnecessary read-after-write dependency. The change here is to bypass the tied source that can be skipped, thus avoiding an unnecessary s_waitcnt. Reviewed by: foad Differential Revision: https://reviews.llvm.org/D140537
-
Ruiling Song authored
This bit is not set/reserved in td file. Let's remove it for now, we can always add it back if we need it. Reviewed by: foad Differential Revision: https://reviews.llvm.org/D141223
-
Ruiling Song authored
Reviewed by: arsenm Differential Revision: https://reviews.llvm.org/D140599
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Matt Arsenault authored
-
Matt Arsenault authored
The runtime initializes this.
-
Matt Arsenault authored
-
Weining Lu authored
This reverts commit b5cb91fc. This commit causes expensive check fail: https://lab.llvm.org/buildbot/#/builders/16/builds/41677.
-
Jennifer Yu authored
The problem is happened when base class member field is used in target region , the size is wrong, cause runtime to fail. Currently the size of calculation is depended on index of field, since field is in base class, the calculation is wrong. According OpenMP 5.2 148:21: If the target construct is within a class non-static member function, and a variable is an accessible data member of the object for which the non-static data member function is invoked, the variable is treated as if the this[:1] expression had appeared in a map clause with a map-type of tofrom. One way to fix this is emitting code to generate this[:1] instead only when class has any base class. Differential Revision: https://reviews.llvm.org/D141350
-
Jake Egan authored
Previous attempt to restrict this test to x86 and aarch64 targets only didn't work. So XFAIL this test while investigating to get the AIX bot back to green.
-
Vasileios Porpodas authored
Differential Revision: https://reviews.llvm.org/D141415
-
yronglin authored
[libc++] Use _LIBCPP_HIDE_FROM_ABI_VIRTUAL instead of _LIBCPP_INLINE_VISIBILITY attribute on virtual function Reviewed By: #libc, philnik, ldionne Differential Revision: https://reviews.llvm.org/D141388
-
Jonas Devlieghere authored
The Xcode standalone build doesn't have the install-liblldb and install-liblldb-stripped targets. Fix the resulting CMake error "Cannot add target-level dependencies to non-existent target" by only adding the dependency when the targets exist.
-
Joe Loser authored
There's a bit of duplication in use of `common_input_iterator` as noted in https://reviews.llvm.org/D141216. Lift `common_input_iterator` into `test_iterators.h`. Differential Revision: https://reviews.llvm.org/D141238
-
Kirill Stoimenov authored
Implemented LSAN interface on HwasanThreadList and added os_id to __hwasan::Thread. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D141143
-
Weining Lu authored
This follows the [[ https://discourse.llvm.org/t/rfc-promoting-the-loongarch-backend-from-experimental-to-official/67506/ | RFC ]]. Follow-on commits will add appropriate release notes changes etc. Submit this now and in a minimal form so there is reasonable time before 16.0.0 is branched to resolve any issues arising from e.g. the backend being exposed on different compiler/sanitizer setups. The current builder for LoongArch is on the [[ https://lab.llvm.org/staging/#/builders/236 | staging area ]]. Reviewed By: jyknight, MaskRay, echristo, myhsu, tstellar, arsenm Differential Revision: https://reviews.llvm.org/D141191
-
Kirill Stoimenov authored
Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D141438
-
Sebastian Peryt authored
This is part of effort in removing -enable-new-pm flag. As a prat of this effort one of example passes SimplifyCFG must be ported to new PM which will allow to remove the flag calls from the tests that are using this pass. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D137103
-
Craig Topper authored
Fold them into their only callers, getRealMinVLen()/getArchMaxVLen(). It is unclear right now when these are needed so removing to discourage misuse. Between Zvl*b extensions, vector length command line options, and vscale range, we have several ways to influence vector length. We need to try to keep all code on the same page.
-
Alexander Yermolovich authored
According to DWARF5 specification and gnu specification for DWARF4 the offset entry in the CU/TU Index is 32 bits. This presents a problem when .debug_info.dwo in DWP file grows beyond 4GB. The CU Index becomes partially corrupted. This diff adds manual parsing of .debug_info.dwo/.debug_abbrev.dwo to reconstruct CU index in general, and TU index for DWARF5. This is a work around until DWARF6 spec is finalized. Next patch will change internal CU/TU struct to 64 bit, and change uses as necessary. The plan is to land all the patches in one go after all are approved. This patch originates from the discussion in: https://discourse.llvm.org/t/dwarf-dwp-4gb-limit/63902 Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D137882
-
Vasileios Porpodas authored
This helps print instructions with detached operands in the debugger. Differential Revision: https://reviews.llvm.org/D141343
-
Arthur Eubanks authored
Recent Android NDKs don't ship with libgcc
-
Johannes Doerfert authored
The Attributor has logic to run only on assumed live functions and this is exposed to users now. OpenMP-opt will (mostly) ignore dead internal functions now but run the same deduction as before if an internal function is marked live. This should lower compile time as we run on less code and delete more code early on. For the full OpenMC module compiled with noinline and JITed at runtime, we save ~25%, or ~10s on my machine during JITing.
-