- Feb 03, 2023
-
-
Mitch Phillips authored
This reverts commit b1e9ab74. Reason: Looks like it broke the MSan buildbot, more details in the phabricator review: https://reviews.llvm.org/D139395
-
Mitch Phillips authored
It's better and easier for us to just have threads contend against each other in the tests if it's more than the maximum supported number of hardware threads available. Specifically, the recoverable test fails on Android because the GTEST_SKIP in a called function, and it only properly works from the TEST_* harness function. Android tests run on cuttlefish, which can be a single core with two hyperthreads. Reviewed By: fmayer Differential Revision: https://reviews.llvm.org/D143221
-
Ilia Diachkov authored
The patch fixes gcc's warning in SPIRVUtils.cpp after D142532. Also it fixes compilation error by MSVC in SPIRVBuiltins.cpp. Differential Revision: https://reviews.llvm.org/D142937
-
bixia1 authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D142913
-
Med Ismail Bennani authored
Signed-off-by:Med Ismail Bennani <medismail.bennani@gmail.com>
-
Med Ismail Bennani authored
This patch should fix the creation and addition of the `scripted_platform` python module into the `lldb.plugins` module. Previously, we were creating the `plugins` submodule, each time with a different source file (either `scripted_process` or `scripted_platform`). The removes the redundant `create_python_package` call and group both python source files toghether. Differential Revision: https://reviews.llvm.org/D143122 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Steven Wu authored
Fix a non-deterministic issue in clang module generation, which the anonymous declaration number from a function context is not deterministic. This is due to the unstable iteration order for decls in scope so the order after moving the decls into function decl context is not deterministic. From https://reviews.llvm.org/D135118, we can't use a set that preserves the order without the performance penalty. Fix the issue by sorting the decls based on raw encoding of their source location. rdar://104097976 Reviewed By: akyrtzi, vsapsai Differential Revision: https://reviews.llvm.org/D141625
-
Fangrui Song authored
Remarks.exports is only intended for NOT (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) builds. For (unintended use case) BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB (the latter is used by some Linux distros), the library defines just one symbol on ELF. There is no need to use a version script. I think this is a more proper solution than D139932 and fixes `symbol not defined` errors after lld default change D135402.
-
Fangrui Song authored
These dissembler symbols are not used by LTO (see Apple ld64's use in check-llvm-tools-lto). On ELF platforms, these symbols are not defined and are rejected by ld --no-undefined-version. I think this is a more proper solution than D139932 and this fixes -DBUILD_SHARED_LIBS=on for ELF as well.
-
Chris Bieneman authored
This patch continues implementing DirectX pipeline state validation information by adding support for resource binding metadata. Reviewed By: python3kgae Differential Revision: https://reviews.llvm.org/D143130
-
Mircea Trofin authored
Small refactoring in preparation for tests for the interactive mode. This allows reading the header, and performing observations, as explicit steps. The latter is in particular necessary because the exit condition for the interactive host will be that the child process (the compiler) exited.
-
Johannes Doerfert authored
We know kernels (generally) cannot be called from within the module. Thus, for reachability we would need to step back from a kernel which would allow us to reach anything anyway. Even if a kernel is invoked from another kernel, values like allocas and shared memory are not accessible. We implicitly check for this situation to avoid costly lookups.
-
Johannes Doerfert authored
We used to check the query instructions for effects but that does not work well with complex accesses we will probably support in the future. Now we simply let the user decide what accesses to look for.
-
Jim Ingham authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Joseph Huber authored
Summary: We added a new agent information enum in a previous commit. This was not added to the dynamic HSA implementation so it failed to compile without a local HSA install to use.
-
Joshua Batista authored
mistake in the log commit neglected to place a space after the `` literal, which messed up the build by incapacitating the sphinx generator. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D143208
-
Amir Ayupov authored
Follow the code style of fallible constructors in [LLVM Programmer's Manual] (https://llvm.org/docs/ProgrammersManual.html#fallible-constructors) and rename `RewriteInstance::createRewriteInstance` to `RewriteInstance::create` Reviewed By: #bolt, rafauler Differential Revision: https://reviews.llvm.org/D143119
-
James Y Knight authored
This is a follow-on to https://reviews.llvm.org/D134073. Currently, all of the "memri"-style complex operands, which contain both a register and an immediate, are encoded into a single field in the instruction definition. This requires complex encoders/decoders, and instruction definitions that insert and extract the correct parts of the bits. Now, switch to naming and encoding/decoding the sub-operands separately. Thus, we can now disable useDeprecatedPositionallyEncodedOperands. Reviewed By: barannikov88 Differential Revision: https://reviews.llvm.org/D137670
-
James Y Knight authored
This is a follow-on to https://reviews.llvm.org/D134073. After https://reviews.llvm.org/D137653 we can now switch the PPC target away from positional operand matching. This patch fixes all of the "easy" cases. While this changes a large number of lines of tablegen source, it results in only a single non-comment change in the code generated by tablegen: the (unused) codegen-only "MTVRSAVEv" instruction was previously incorrectly encoding operand 0, and now encodes (correctly) operand 1. Changes which result in generated-code changes have been split off into the next (smaller) patch, for ease of review. Reviewed By: barannikov88 Differential Revision: https://reviews.llvm.org/D137661
-
Craig Topper authored
-
Tom Honermann authored
Previously, a warning that C++20 deprecated implicit capture of 'this' for lambda captures specified with a capture default of '=' was only issued when '-Wdeprecated' or '-Wdeprecated-this-capture' was specified. This change enables the warning by default (it is still only issued when compiling for C++20 or later). This is consistent with gcc which warns by default (MSVC requires '/Wall'). Reviewed By: erichkeane, shafik Differential Revision: https://reviews.llvm.org/D142639
-
Amir Ayupov authored
Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D143117
-
Amir Ayupov authored
Reviewed By: #bolt, rafauler Differential Revision: https://reviews.llvm.org/D143019
-
Valentin Clement authored
According to 7.5.6.3 point 5, only nonpointer function result need to be finalized. Update the condition to exclude pointer function result. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D143156
-
Joshua Batista authored
Add codegen for llvm log elementwise builtin The log elementwise builtin is necessary for HLSL codegen. Tests were added to make sure that the expected errors are encountered when these functions are given inputs of incompatible types. The new builtin is restricted to floating point types only. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D140489
-
Craig Topper authored
[RISCV] Merge rv32-vsetvli-intrinsics.ll and rv64-vsetvli-intrinsics.ll into a single test using sed. NFC
-
YongKang Zhu authored
Here is a similar change that adds `split-file` as compiler-rt test dependency: https://reviews.llvm.org/rG0eb01a9c4581a24c163f3464cebdb20534fbda35 Reviewed By: thevinster Differential Revision: https://reviews.llvm.org/D143123
-
Joseph Huber authored
The next-gen plugin properly prints errors. This patch improves the error messages by including the Node-ID of the GPU that failed as well as a textual representation of the enumeration values. Reviewed By: kevinsala Differential Revision: https://reviews.llvm.org/D143192
-
Joseph Huber authored
The LLVM runtime build is used to bootstrap projects with the built LLVM toolchain. This effectively re-runs CMake with the current build directory. One problem is that this passes every common CMake variable to the projects individually, some of which are not necessarily used. This patch suppresses the unused variable warnings for the runtimes. The standard CMake invocation should still be able to print out the unused variables so it should not impact code quality. Reviewed By: thieta Differential Revision: https://reviews.llvm.org/D143199
-
Mariya Podchishchaeva authored
`--` should be added before input.
-
Nemanja Ivanovic authored
There is an assert in the disassembler functions to ensure that the immediate is the appropriate width. However, sometimes what is being disassembled is not instructions but data that happens to have the bit pattern of an existing instruction but invalid operands. It is valid for such things to exist in the text section so we don't want to crash when disassembling such a thing. This patch removes the asserts and produces a disassembler failure for such cases.
-
Craig Topper authored
This option will control the vscale min/max. I have left out the '+' support that SVE supports for now. We already have minimum controlled by the Zvl*b extension so this didn't seem that useful. I've added "scalable" from SVE to allow the option to be cancelled later on command line. Though this name might make less sense for RISC-V since the word "scalable" does not appear in the V spec. Maybe something like "unknown" or "runtime" or "variable" would be better? In addition to "scalable", 64, 128, 256, 512, ..., 65536, I have added an extra value "zvl" that will use the value from Zvl*b as the min and max. This avoids repeating the numeric value in two places or to get min/max from -mcpu. The primary effect of this option today is simplification of stack address calculations for RVV vectors and avoiding the use of vrgatherei16 in some cases if we know there are less than 256 elements. Future patches may add something similar to the arm_sve_vector_bits attribute to allow RVV vectors to be used in structs and global variables. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D142144
-
Tom Honermann authored
When support for declaring the c8rtomb() and mbrtoc8() functions within the std namespace was added in commit 7e7013c5, internal glibc macros were used to determine if C2X extensions are enabled. Specifically, a check for whether `__GLIBC_USE` is defined and whether `__GLIBC_USE(ISOC2X)` is non-0 was added. `__GLIBC_USE` is an internal detail of the glibc implementation that may be changed or removed in the future potentially leading to inconsistency or compilation failures. This change removes the use of the internal glibc macro to avoid such problems. Unfortunately, without another mechanism to determine if C2X extensions are enabled, this removal will result in inconsistent declarations of the c8rtomb() and mbrtoc8() functions; when C++ char8_t support is not enabled, but C2X extensions are, these functions will be declared in the global namespace but not in the std namespa...
-
lipracer authored
When the memory is written by dma, its user is moved Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D141106
-
Kirill Stoimenov authored
Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D143126
-
Craig Topper authored
Not completely sure what effect this has, but it's certainly true. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D143103
-
Nemanja Ivanovic authored
For big endian targets that need a node such as this: v2i8 = bitcast i16:tN legalized by: 1. Promoting the i16 input type 2. Widening the v2i32 result type The result will be incorrect because the legalizer will promote the input type and then produce a scalar_to_vector from that wider type to a vector of N elements of that type. That puts the desired bits into the low order bytes of element zero and they need to be in the high order bytes on big endian systems. This patch changes the legalization to widen to a vector with elements of the original scalar size. Differential revision: https://reviews.llvm.org/D140365
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D143168
-