- Jan 10, 2022
-
-
Dave Lee authored
Ensure that errors in `frame variable` are reflected in result object. The statistics for `frame variable` show invocations as being successful, even when executing one of the error paths. This change replaces `result.GetErrorStream()` with `result.AppendError()`, which also sets the status to `eReturnStatusFailed`. Differential Revision: https://reviews.llvm.org/D116788 (cherry picked from commit 2c7d10c4)
-
Dave Lee authored
-
Kazu Hirata authored
Identified by modernize-use-bool-literals.
-
Kazu Hirata authored
-
Kazu Hirata authored
Identified by bugprone-argument-comment.
-
Kazu Hirata authored
-
Dave Lee authored
Fixes incomplete command names in `apropos` results. The full command names given by `apropos` have come from command name string literals given to `CommandObject` constructors. For most commands, this has been accurate, but some commands have incorrect strings. This results in `apropos` output that doesn't tell the user the full command name they might want learn more about. These strings can be fixed. There's a seperate issue that can't be fixed as easily: plugin commands. With the way they're implemented, plugin commands have to exclude the root command from their command name string. To illustrate, the `language objc` subcommand has to set its command name string to "objc", which results in apropos printing results as `objc ...` instead of `language objc ...`. To fix both of these issues, this commit changes `FindCommandsForApropos` to derive the fully qualified command name using the keys of subcommand maps. Differential Revision: https://reviews.llvm.org/D116491 (cherry picked from commit b3bfd595)
-
Dave Lee authored
Simplify getting the length of `NSPathStore2` strings. `NSStringSummaryProvider` uses a single field from `NSPathStore2` instances, its first ivar: `_lengthAndRefCount`. This change uses `GetSyntheticChildAtOffset` to replace the use of `ProcessStructReader`, and removes the hard coded `CompilerType` definition of `NSPathStore2`. Differential Revision: https://reviews.llvm.org/D116461
-
Nicolas Vasilache authored
-
Johannes Doerfert authored
There is no guarantee we strip all GEPOperators and the conservative handling doesn't even require us to.
-
Nicolas Vasilache authored
Differential Revision: https://reviews.llvm.org/D116893
-
Florian Hahn authored
There is no need to sort inserted instructions by dominance, as the deletion loop still requires RAUW with undef before deleting. Removing instructions in reverse insertion order should still insure that the number of uselist updates is kept to a minimum.
-
Jake Egan authored
The modified tests fail because 64-bit XCOFF object files are not currently supported on AIX. This patch disables these tests on 64-bit AIX for now. This patch is similar to D111887 except the failures on this patch are on a 64-bit build. Reviewed By: shchenz, #powerpc Differential Revision: https://reviews.llvm.org/D113049
-
- Jan 09, 2022
-
-
Sanjay Patel authored
This is the last step in a series to improve lowering via "SBB" asm: 68defc01 aab1f55e ...and fixes #53006
-
Florian Hahn authored
9345ab3a updated generateOverflowCheck to skip creating checks that always evaluate to false. This in turn means that we only need to check for overflows if the result of the multiplication is actually used. Sink the Or for the overflow check into ComputeEndCheck, so it is only created when there's an actual check.
-
Sanjay Patel authored
This is part of a set of 2-variable logic optimizations suggested here: https://lists.llvm.org/pipermail/llvm-dev/2021-December/154470.html The 'not' op must not propagate undef elements of a vector, so this patch creates a new 'full' not, but I am not counting that as an extra-use restriction because it should get folded with the existing value by CSE. https://alive2.llvm.org/ce/z/7v65im
-
Sanjay Patel authored
-
Sanjay Patel authored
This is a suggested follow-up to D116765. This removes a clear of the register operand, so it is better for code size, but it does potentially create a false register dependency on surrounding code. If that is a problem, it should be solvable using dependency-breaking code that is used for other instructions. Differential Revision: https://reviews.llvm.org/D116804
-
Kazu Hirata authored
Identified with readability-redundant-member-init.
-
Kazu Hirata authored
Identified with bugprone-argument-comment.
-
Kazu Hirata authored
Identified with modernize-use-bool-literals.
-
Casey Carter authored
-
Johannes Doerfert authored
The `EmitDeclareOfAutoVariable` introduced in D114504 and D115510 has a precondition that cannot be violated. It is unclear if we should call it directly given the sparse usage in clang but for now we should at least not crash if the debug info kind is too low. Fixes #52938. Differential Revision: https://reviews.llvm.org/D116865
-
Johannes Doerfert authored
If we have multiple references into a map we need to ensure the ones created late do not invalidate the ones created early. To do that we need to make sure all but the first are not modifying the map, hence for them the keys have to be present already. Fixes #52875.
-
Craig Topper authored
Use signext/zeroext return attributes to show unnecessary ands or shifts in the saturating tests.
-
Eric Schweitz authored
See https://github.com/llvm/llvm-project/issues/53064 The original test required a cast to be correct. Correct the CHECK lines. Prune unused ones. Differential Revision: https://reviews.llvm.org/D116842
-
Arthur O'Dwyer authored
Casey Carter says, "We run std/thread/thread.mutex/thread.lock.algorithm/lock.pass.cpp on every CI and it works fine with MSVC STL. I'm guessing this annotation predates Billy's rewrite of std::lock in 2017-ish." Differential Revision: https://reviews.llvm.org/D116712
-
Craig Topper authored
-
Florian Hahn authored
Update the check lines in 2 existing tests to use patterns + variables to match some IR to make them independent of value naming.
-
Craig Topper authored
-
Craig Topper authored
Previously this was documented as having the behavior of the "target's native float-to-int conversion". After D115804, clang uses saturating FP cast intrinsics which have the same behavior on all targets. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D116856
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Kazu Hirata authored
Identified with readability-redundant-member-init.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
Identified with bugprone-argument-comment.
-
Philip Reames authored
Goal is to remove use of isOpNewLike. I looked at a couple approaches to this, and this turned out to be the cheapest one. Just letting deref_or_null be generated causes a bunch of test diffs, and I couldn't convince myself there wasn't a real regression somewhere. A generic instcombine to convert deref_or_null + nonnull to deref is annoying complicated since you have to mix facts from callsite and declaration while manipulating only existing call site attributes. It just wasn't worth the code complexity. Note that the change in new-delete-itanium.ll is a real regression. If you have a callsite which overrides the builtin status of a nobuiltin declaration, *and* you don't put the apppriate attributes on that callsite, you may lose the deref fact. I decided this didn't matter; if anyone disagrees, you can add this case to the generic non-null inference.
-
Arthur O'Dwyer authored
The reason for those nested namespaces is explained in D115315: > AIUI, this keeps the CPO's own type from ADL'ing into the `std::ranges` > namespace; e.g. `foobar(std::ranges::uninitialized_default_construct)` > should not consider `std::ranges::foobar` a candidate, even if > `std::ranges::foobar` is not a CPO itself. Also, of course, consistency > (Chesterton's Fence, the economist's hundred-dollar bill): if it were > safe to omit the namespace, we'd certainly want to do it everywhere, > not just here. This makes these three niebloids more consistent with the other Ranges niebloids we've already implemented, such as the `ranges::begin` group and the `ranges::uninitialized_default_construct` group. FWIW, we still have three different indentation-and-comment styles among these three groups. Differential Revision: https://reviews.llvm.org/D116569
-