- May 13, 2022
-
-
bzcheeseman authored
C-style casting can create a temporary when compiled by a C++ compiler, which was emitting a warning casting a reference to another reference. We can't use C++-style casting directly because it doesn't always work with incomplete types. In order to support the current use-cases, for references we switch to pointer space to perform the cast. Reviewed By: qiongsiwu1 Differential Revision: https://reviews.llvm.org/D125482
-
Chen Zheng authored
address code review comments for D123995
-
Ping Deng authored
Reviewed By: sunshaoce, asb, craig.topper Differential Revision: https://reviews.llvm.org/D125363
-
Xiang Li authored
Change Bitwriter to BitWriter. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D125507
-
Chenbing Zheng authored
This patch fix bug left in D124503. We should do sub(add(X,Z),umin(Y,Z)) --> add(X,usub.sat(Z,Y)) instead of sub(add(X,Z),umin(Y,Z)) --> add(X,usub.sat(Y,Z)). Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D125352
-
Julian Lettner authored
Thread create/destroy events are not guaranteed to belivered on the parent thread, e.g., output from a CI job: ``` 5: THREAD_CREATE 0x7e8000104000, self: 0x1102ebdc0, name: n/a 6: THREAD_START 0x7e8000104000, self: 0x7e8000104000, name: n/a 7: Hello from pthread 8: THREAD_TERMINATE 0x7e8000104000, self: 0x7e8000104000, name: child thread 9: THREAD_DESTROY 0x7e8000104000, self: 0x7e8000104000, name: child thread ``` Here, THREAD_DESTROY is delivered on the thread being destroyed. rdar://92679941
-
Joseph Huber authored
Summary: Static libraries need to be handled differently from regular inpout files, namely they are loaded lazily. Previously we used a flag to indicate a file camm from a static library. This patch simplifies this by simply keeping a different array that contains the static libraries so we don't need to parse them out again.
-
Joseph Huber authored
Summary: The linker wrapper previously had functionality to strip the sections manually. We don't use this at all because this is much better done by the linker via the `SHF_EXCLUDE` flag. This patch simply removes the support for thi sfeature to simplify the code.
-
Med Ismail Bennani authored
Following 8b9caad8 , this only skips TestCppIncompleteTypeMembers.py on macOS if we test with `-gmodules` enabled. Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Jim Ingham authored
a debug session with only a remote path to the file you are debugging using the SB API's. This patch makes it possible to do this using target create --remote-file <some_path> without supplying a local file as well. Prior to this change we errored out saying that we haven't implemented copying the binary back from the remote. I didn't implement the copy back (in the case I'm interested in - iOS debugging - we don't actually have a way for lldb to do that). This patch doesn't impede doing that, I just didn't need it. I think for some object file formats debugging w/o the binary file is hard because of what doesn't get mapped in. I didn't try to arbitrate that, I'm assuming anybody who has to do this knows what they are going to get. If there's a connected platform that can check that the remote file exists, it will do so, otherwise we trust the user's input - if it isn't there the process launch is going to fail with no-such-file so it will be pretty clear what went wrong. Differential Revision: https://reviews.llvm.org/D124947
-
wren romano authored
Work towards fixing: https://github.com/llvm/llvm-project/issues/51652 Depends On D122928 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D122060
-
Med Ismail Bennani authored
This skips `TestCppIncompleteTypeMembers.py` on Darwin platforms since it requires `-flimit-debug-info` which is not supported. This should fix the Green Dragon bot test run: https://green.lab.llvm.org/green/job/lldb-cmake/43678 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Med Ismail Bennani authored
This patch adds a new `GetIndexForLineEntry` method to the `SBCompileUnit` class. As the name suggests, given an `SBLineEntry` object, this will return the line entry index within a specific compile unit. This method can take a `exact` boolean that will make sure that the provided line entry matches perfectly another line entry in the compile unit. rdar://47450887 Differention Revision: https://reviews.llvm.org/D125437 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
owenca authored
If a closing brace is followed by a non-trailing comment, the newline before the closing brace must also be removed. Differential Revision: https://reviews.llvm.org/D125451
-
David Goldman authored
This behaves just like the sh/cmd.exe equivalents. pushd/popd are useful to verify path handling of the driver, typically testing prefix maps or relative path handling. Differential Revision: https://reviews.llvm.org/D125502
-
Tobias Ribizel authored
Currently, LLVM's LineEditor and LLDB both use libedit, but find them in different (inconsistent) ways. This causes issues e.g. when you are using a locally installed version of libedit, which will not be used by clang-query, but by lldb if picked up by FindLibEdit.cmake Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D124673
-
Aart Bik authored
Implements a floating-point sign operator (using the new semi-ring ops) that accomodates +/-Inf and +/-NaN in consistent way. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D125494
-
River Riddle authored
The syntax highlighting for mlir has gotten a significant facelift, we also have some recent bug fixes for server launches.
-
River Riddle authored
The current grammar is really crusty, only supports a handful of cases, and is also out-of-date after various refactorings. This commit refactors the textmate grammar to handle significantly more cases, and now provides proper coloring for a majority of cases (including dialect attributes, operations, types, etc.) Differential Revision: https://reviews.llvm.org/D125458
-
Simon Dardis authored
Add the instructions and patterns for loads and stores in microMIPSr3 when a 64 bit FPU is present. Previously, this would lead to an instruction selection failure. This resolves PR/49200. Thanks to jdeguire for reporting the issue! Differential Revision: https://reviews.llvm.org/D124723
-
Florian Hahn authored
-
Simon Dardis authored
The MIPS backend attempts to combine integer multiply and addition or subtraction into a madd or msub operation. This optimization is heavily restricted due to its utility in many cases. PR/51114 highlighted that the optimization was performed on an associative basis which is correct in the `add` case but not in the `sub` case. Resolve this bug by performing an early exit in the case where the multiply is the LHS operand of the subtraction. This resolves PR/51114. Thanks to digitalseraphim for reporting the issue! Differential Revision: https://reviews.llvm.org/D124742
-
Jim Ingham authored
plugin to get queried earlier on in the startup, so that for .s files we call the language "unknown" not "not-loaded". This test was checking against that string, so I fixed it for the change.
-
Martin Storsjö authored
When we add `--unwindlib=none` during the CMake configure phase (to make CMake linking tests succeed before the unwind library has been built for the first time - when bootstrapping a cross toolchain from scratch), we add it to `CMAKE_REQUIRED_FLAGS` to make later CMake tests pass. When the option is added to `CMAKE_REQUIRED_FLAGS`, it gets added to both compilation and linking commands. When --unwindlib=none is added to the compilation command, it causes warnings (about being unused during compilation, as it only affects linking). When all CMake test compilations produce warnings, later CMake tests for `-Werror` fail. Add `--{start,end}-no-unused-arguments` around `--unwindlib=none`, if supported, to avoid unnecessary warnings due to this option. If the CMake requirement is bumped to 3.14, we could use `CMAKE_REQUIRED_LINK_OPTIONS` instead, removing the need for the `--{start,end}-no-unused-arguments` options. (However... -
Karl Meakin authored
Differential revision: https://reviews.llvm.org/D123781
-
Karl Meakin authored
`performFlagSettingCombine` is a generalised version of `performANDSCombine` which also works on `ADCS` and `SBCS`. Differential revision: https://reviews.llvm.org/D124464
-
Eli Friedman authored
-
River Riddle authored
We shouldn't be making assumptions about the result of llvm::getTypeName, which may have different results for anonymous namespaces depending on the platform.
-
River Riddle authored
This commit refactors the current pass manager support to allow for operation agnostic pass managers. This allows for a series of passes to be executed on any viable pass manager root operation, instead of one specific operation type. Op-agnostic/generic pass managers only allow for adding op-agnostic passes. These types of pass managers are extremely useful when constructing pass pipelines that can apply to many different types of operations, e.g., the default inliner simplification pipeline. With the advent of interface/trait passes, this support can be used to define FunctionOpInterface pass managers, or other pass managers that effectively operate on specific interfaces/traits/etc (see #52916 for an example). Differential Revision: https://reviews.llvm.org/D123536
-
Michael Jones authored
This adds the main pieces of the last piece of printf, the converter. This takes the completed format section from the parser and then converts it to a string for the writer, which is why it was the last piece to be written. So far it supports chars and strings, but more pieces are coming. Additionally, it supports replacing all of the conversion functions with user supplied versions at compile time to allow for additional functionality. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D125327
-
Michael Jones authored
This patch adds a document describing the status of the string functions in LLVM-libc. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D123823
-
Craig Topper authored
Differential Revision: https://reviews.llvm.org/D125491
-
Martin Storsjö authored
If the function has homed parameters but the number of saved registers is odd, the homed parameters are aligned at the top of the stack (so they line up with later varargs on the stack), not tightly after the other saved registers. Differential Revision: https://reviews.llvm.org/D125462
-
Jim Ingham authored
symbol name matches. Instead, we extract the incoming path's base name, look up all the symbols with that base name, and then compare the rest of the context that the user provided to make sure it matches. However, we do this comparison using just a strstr. So for instance: break set -n foo::bar will match not only "a::foo::bar" but "notherfoo::bar". The former is pretty clearly the user's intent, but I don't think the latter is, and results in breakpoints picking up too many matches. This change adds a Language::DemangledNameContainsPath API which can do a language aware match against the path provided. If the language doesn't provide this we fall back to the strstr (though that's changed to StringRef::contains in the patch). Differential Revision: https://reviews.llvm.org/D124579
-
Martin Storsjö authored
We add `--unwindlib=none` to `CMAKE_REQUIRED_FLAGS` to make sure that builds with a yet-incomplete toolchain succeed, to avoid linker failures about missing unwindlib. When this option is added to `CMAKE_REQUIRED_FLAGS`, it gets added to both compile and link commands in CMake compile tests. If `--unwindlib=none` is included in compilation commands, it causes warnings about unused arguments, as the flag only is relevant for linking. Due to the warnings in CMake tests, the later CMake test for the `-Werror` option failed (as the tested `-Werror` option caused the preexisting warning due to unused `--unwindlib=none` to become a hard error). Therefore, most CI configurations that build with `LIBCXX_ENABLE_WERROR` didn't actually end up enabling `-Werror` after all. When looking at the CI build log of recent CI builds, they do end up printing: -- Performing Test LIBCXX_SUPPORTS_WERROR_FLAG -- Performing Test LIBCXX_SUPPORTS_WERROR_FLAG - Failed -- Performing Test LIBCXX_SUPPORTS_WX_FLAG -- Performing Test LIBCXX_SUPPORTS_WX_FLAG - Failed Thus while the configurations are meant to error out on warnings, they actually haven't done that, due to the interaction of these options. To fix this, remove the individual cases of adding `--unwindlib=none` into `CMAKE_REQUIRED_FLAGS` in libcxx and libunwind. `runtimes/CMakeLists.txt` still adds `--unwindlib=none` if needed, but not otherwise. (The same issue with enabling `-Werror` does remain if `--unwindlib=none` strictly is needed though - that can be fixed separately afterwards.) These individual cases in libunwind and libcxx were added while standalone builds of the runtimes still were supported - but no longer are necessary now. Differential Revision: https://reviews.llvm.org/D124375 -
Ashay Rane authored
This patch references code for translating memref.reinterpret_cast ops to add translation rules for memref.reshape ops that have a static shape argument. Since reshape ops don't have offsets, sizes, or strides, this patch simply sets the allocated and aligned pointers of the MemRef descriptor. Reviewed By: ftynse, cathyzhyi Differential Revision: https://reviews.llvm.org/D125039
-
Louis Dionne authored
Otherwise, we might get errors with modules in pre-C++23 when mixing <atomic> and <stdatomic.h>. This should fix breakage on Green Dragon.
-
Michael Jones authored
This patch fixes the includes for the new UInt class so that the api test now passes, additionally it fixes the bazel files to account for the new dependencies. Differential Revision: https://reviews.llvm.org/D125490
-
Florian Hahn authored
Scaffolding support for generating runtime checks for multiple SCEV expressions per pointer. The initial version just adds support for looking through a single pointer select. The more sophisticated logic for analyzing forks is in D108699 Reviewed By: huntergr Differential Revision: https://reviews.llvm.org/D114487
-
Vasileios Porpodas authored
This is to support 0950d406. External users that can affect reordering, with range == VL.size() but non consecutive (like stores to A[0],A[0],A[3],A[3]) would escape the check for consecutive accesses and would cause a crash.
-