- Sep 08, 2023
-
-
Valentin Clement (バレンタイン クレメン) authored
Remove unused argument `pft::Evaluation` from higher level lowering API.
-
Arthur Eubanks authored
-
Markus Böck authored
The LLVM Dialect in MLIR, which the `mlir-llvm` team is supposed to provide notifications for, is 98% not nested in a directory called LLVM but rather LLVMIR. The former only contains some tests. This should make PRs such as https://github.com/llvm/llvm-project/pull/65508 add the team as codeowner.
-
Michael Jones authored
The %p format wasn't correctly passing along flags and modifiers to the integer conversion behind the scenes. This patch fixes that behavior, as well as changing the nullptr behavior to be a string conversion behind the scenes. Reviewed By: lntue, jhuber6 Differential Revision: https://reviews.llvm.org/D159458
-
Elvina Yakubova authored
Fix tests that are failing in cross-compilation after D151920 (https://lab.llvm.org/buildbot/#/builders/221/builds/17715): - instrumentation-ind-call, basic-instrumentation: add -mno-outline-atomics flag to runtime lib - bolt-address-translation-internal-call, internal-call-instrument: add %cflags - meta-merge-fdata: restrict to x86_64 Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D159094
-
Jan Svoboda authored
This PR introduces new copy-on-write `CompilerInvocation` class (`CowCompilerInvocation`), which will be used by the dependency scanner to reduce the number of copies performed when generating command lines for discovered modules.
-
stefanp-ibm authored
This patch turns the string pooling pass on by default. Some tests are updated as required.
-
Raghu Maddhipatla authored
Added support for following semantic check for MAP clause. - A list item cannot appear in both a map clause and a data-sharing attribute clause on the same target construct. Reviewed By: NimishMishra Differential Revision: https://reviews.llvm.org/D158807
-
Ralf Jung authored
- For a long time I assumed that `inbounds` means "in-bounds of a *live* allocation". @nikic told me that is not correct. I think this definitely needs clarification in the docs. - The point about successively adding the offsets to the current address confused be because it talked about the successive addition of "an" offset -- which one? My interpretation was, the total accumulated offset computed in the previous step. But @nikic told me that's not correct, adding each offset individually has to stay in-bounds for each step. I hope by saying "each offset" this becomes more clear; I then also change the previous bullet to use the same terminology.
-
Giuliano Belinassi authored
Previously clang AST prints the following declaration: int fun_var_unused() { int x __attribute__((unused)) = 0; return x; } and int __declspec(thread) x = 0; as: int fun_var_unused() { int x = 0 __attribute__((unused)); return x; } and int x = __declspec(thread) 0; which is rejected by C/C++ parser. This patch modifies the logic to print old C attributes for variables as: int __attribute__((unused)) x = 0; and the __declspec case as: int __declspec(thread) x = 0; Fixes: https://github.com/llvm/llvm-project/issues/59973 Previous version: D141714. Differential Revision:https://reviews.llvm.org/D141714 -
Harald van Dijk authored
InferAddressSpaces failed to call its initialization function. It was still called through initializeScalarOpts in llc and opt, but it was skipped entirely in clang. When the initialization function is not called, this results in confusing behavior where the pass appears to run, but not entirely as it should, e.g. the pass is excluded from -print-before-all and -print-after-all.
-
Martin Storsjö authored
The trick we use (since cbc2a062) for exporting the __chkstk function (with various per-arch names) that is defined in a different object file, relies on the function already being linked in (by some function referencing it). This function does end up referenced if there's a function that allocates more than 4 KB on the stack. In most cases, it's referenced somewhere, but in the case of builds with LLVM_LINK_LLVM_DYLIB enabled (so most of the code resides in a separate libLLVM-<ver>.dll) the only code in lli.exe is the lli tool specific code and the mingw-w64 crt startup code. In the case of GCC based MinGW i386 builds with LLVM_LINK_LLVM_DYLIB, nothing else references it though. Manually add a reference to the function to make sure it is linked in (from libgcc or compiler-rt builtins) so that it can be exported. This fixes one build issue encountered in https://github.com/msys2/MINGW-packages/pull/18002. Differential Revision: https://reviews.llvm.org/D159085
-
lorenzo chelini authored
Both `TileOp` and `TileToScfForOp` use the tiling interface and the `tileUsingSCFForOp` method. This duplication was introduced in https://github.com/llvm/llvm-project/commit/44cfea0279a4fb9ea8cb0c68a2b5ee7a81654071 as a way to retire `linalg::tileLinalgOp,` now there is not more need for this duplication, and it seems that `tileOp` has more recent changes, thus retire `TileToScfForOp.`
-
Jan Svoboda authored
This enables making the whole `CompilerInvocation` more efficient through copy-on-write.
-
Jeffrey Byrnes authored
Differential Revision: https://reviews.llvm.org/D155995 Change-Id: I794f540217f0f84141338757b41b1be0493c7207
-
Min-Yih Hsu authored
TableGen's lexer was unable to handle nested #ifndef when the outer `#ifdef` / `#ifndef` scope is subject to skip. This was caused by returning the canonicalized token when it should have returned the original one. Fix #65100. Differential Revision: https://reviews.llvm.org/D159236
-
Cyndy Ishida authored
TBD files now record minimum deplyoment versions and tapi interfaces with apple system linker by a packed version encoding. Support mapping between that and `VersionTuple`s.
-
Emilia Kond authored
When encountering braces, such as those of a designated initializer, clang-format scans ahead to see what is contained within the braces. If it found a statement, like an if-statement of for-loop, it would deem the braces as not an initializer, but as a block instead. However, this heuristic incorrectly included a preprocessor `#if` line as an if-statement. This manifested in strange results and discrepancies between `#ifdef` and `#if defined`. With this patch, `if` is now ignored if it is preceeded by `#`. Fixes most of https://github.com/llvm/llvm-project/issues/56685
-
Yitzhak Mandelbaum authored
This change makes widening act the same as equivalence checking. When the analysis does not provide an answer regarding the equivalence of two distinct values, the framework treats them as equivalent. This is an unsound choice that enables convergence. Differential Revision: https://reviews.llvm.org/D159355
-
Mikhail R. Gadelha authored
libc uses SYS_prlimit64 (which takes a struct rlimit64) to implement setrlimt and getrlimit (which take a struct rlimit). In 64-bit bits systems this is not an issue since the members of struct rlimit64 and struct rlimit are 64 bits long, however, in 32-bit systems the members of struct rlimit are only 32 bits long, causing wrong values being passed to SYS_prlimit64. This patch changes rlim_t to be __UINT64_TYPE__ (which also changes rlimit as a side-effect), fixing the problem of mismatching types in the syscall. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D159104
-
Philip Reames authored
-
Xing Xue authored
This reverts commit cd34e89c. See https://reviews.llvm.org/D158215#inline-1544266 for details.
-
Slava Zakharin authored
A Cray pointee reference must be done using the characteristics (bounds, type params) of the original pointee declaration, but using the actual address value of the associated Cray pointer. There might be multiple Cray pointees associated with the same Cray pointer. The proposed solution is to lower each Cray pointee into a POINTER variable with a descriptor. The descriptor is initialized at the point of declaration of the pointee, though its base_addr is set to null. Before each reference of the Cray pointee its descriptor's base_addr is updated to the current value of the Cray pointer. The update of the base_addr is done using PointerAssociateScalar runtime call, which just updates the base_addr of the descriptor. This is a temporary solution just to make Cray pointers work to the same extent they work with FIR lowering.
-
Mark de Wever authored
Fixes a conflict with adding the no experimental module build. Disables some tests that need further investigation, this should fix the CI runners. These issues were reported on Discord and in D154282.
-
Felipe de Azevedo Piovezan authored
ObjectiveC has its own extra accelerator table entries that are helpful for the debugger. This patch relaxes the DWARFVerifier so that it accepts those in DWARF 5's debug_names. Differential Revision: https://reviews.llvm.org/D159471
-
Vitaly Buka authored
Suspecting incorrect lifetime markers. This reverts commit 3a1409f9.
-
Natasha Kononenko authored
Reviewed By: rsuderman Differential Revision: https://reviews.llvm.org/D159473
-
Philip Reames authored
-
Vy Nguyen authored
Details: We often use wildcard symbols in the exported_symbols list, and sometimes they match autohide symbols, which triggers these "cannot export hidden symbols" warnings that can be a bit noisy. It'd be more user-friendly if LLD could truncate these. Differential Revision: https://reviews.llvm.org/D159095
-
Joseph Huber authored
A recent patch required the implementation to define `LIBC_NAMESPACE`. For GPU offloading we provide a static library whose internal implementation relies on the `libc` headers. This is a separate library that is constructed during the "bootstrap" phase. This patch moves the definition of the `LIBC_NAMESPACE` CMake variable up so its available during bootstrapping and adds it to the definition of the RPC server.
-
Wael Yehia authored
With ThinLTO, when compiling SPEC 2017 omnetpp_r with -threads=4, two small modules can end up with the same timestamp in their sinit symbols when calculating time in seconds, creating duplicate definitions. This patch uses a timestamp in nanoseconds. Because the race can be between threads, embed the thread ID as well. Reviewed By: xingxue, daltenty Differential Revision: https://reviews.llvm.org/D159319
-
Lang Hames authored
This reverts commit 75c48760 while I investigate some build failures, e.g. https://lab.llvm.org/buildbot/#/builders/217/builds/27769
-
Jeremy Morse authored
As outlined in my proposal of how to get rid of debug intrinsics, this patch adds a moveBefore method that signals the caller /intends/ the order of moved instructions is to stay the same. This semantic difference has an effect on debug-info, as it signals whether debug-info needs to move with instructions or not. The patch just replaces a few calls to moveBefore with calls to moveBeforePreserving -- and the latter just calls the former, so it's all NFC right now. A future patch will add an implementation of moveBeforePreserving that takes action to correctly preserve debug-info, but that's tightly coupled with our non-instruction debug-info representation that's still being reviewed. [0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939 Differential Revision: https://reviews.llvm.org/D156369
-
Lang Hames authored
Adds a utility for creating MachO objects. In this patch we use this utility to construct "debug objects" for the debugger support plugin; however, this utility should be reusable for other purposes, e.g. constructing object files for registration with the ObjC runtime. The debug objects in this patch are created by the MachO JIT debugging-support plugin. The debug objects hold the debug info for object files loaded under the JIT, and are registered with the debugger via the GDB-JIT interface. Previously the plugin created these objects manually using direct writes to a buffer, but this was difficult to read and modify and had become an impediment to improving debugger support (e.g. getting source debugging working in the presence of dead-stripping). Using the MachOBuilder utility should make the debugger support plugin easier to maintain and improve. This initial change to MachO JIT'd code debugging aims for feature parity with the existing plugin (though the debug objects produced are slightly different). Improvements to JIT'd code debugging will be tackled in follow-up patches.
-
Brad Smith authored
Submitting upstream from OpenBSD tree. Differential Revision: https://reviews.llvm.org/D94569
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Will Hawkins authored
Add a warning to the `Building Libcxx` documentation about the limitations of the utility of `--fresh` at the top level. Signed-off-by:Will Hawkins <hawkinsw@obs.cr>
-
Alex authored
lldb already has a `ValueSP` type. This was confusing to me when reading TypeCategoryMap, especially when `ValueSP` is not qualified. From first glance it looks like it's referring to a `std::shared_ptr<lldb_private::Value>` when it's really referring to a `std::shared_ptr<lldb_private::TypeCategoryImpl>`.