- Feb 24, 2021
-
-
Sander de Smalen authored
This fixes the types of a few more cost variables to be of type InstructionCost.
-
Nico Weber authored
This reverts commit d3740016. Breaks Analysis/./AnalysisTests/ComputeKnownBitsTest.KnownNonZeroShift
-
Simon Pilgrim authored
This no longer affects any tests after the improvements to the KnownBits shift helpers.
-
Alexander Belyaev authored
https://llvm.discourse.group/t/rfc-add-linalg-tileop/2833 Differential Revision: https://reviews.llvm.org/D97372
-
Raphael Isemann authored
The current API for printing errors/warnings/messages from LLDB commands sometimes adds newlines behind the messages for the caller. However, this happens unconditionally so when the caller already specified a trailing newline in the error message (or is trying to print a generated error message that ends in a newline), LLDB ends up printing both the automatically added newline and the one that was in the error message string. This leads to all the randomly appearing new lines in error such as: ``` (lldb) command a error: 'command alias' requires at least two arguments (lldb) apropos a b error: 'apropos' must be called with exactly one argument. (lldb) why is there an empty line behind the second error? ``` This code adds a check that only appends the new line if the passed message doesn't already contain a trailing new line. Also removes the AppendRawWarning which had only one caller and doesn't serve any purpose now. Reviewed By: #lldb, mib Differential Revision: https://reviews.llvm.org/D96947
-
Jay Foad authored
Add all the registers that are currently used by LLPC: https://github.com/GPUOpen-Drivers/llpc This only affects disassembly of PAL metadata generated by LLPC and similar frontends. Differential Revision: https://reviews.llvm.org/D95619
-
Christian Sigg authored
The cuda-runner registers two pass pipelines for nested passes, so that we don't have to use verbose textual pass pipeline specification. Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D97091
-
Jay Foad authored
Update the list of s_sendmsg messages known to the assembler and disassembler and validate the ones that were added or removed in gfx9 and gfx10. Differential Revision: https://reviews.llvm.org/D97295
-
Raphael Isemann authored
NFC refactoring that moves the definitions of all the trivial getters/setters to the header file which is what we usually do in LLVM. Reviewed By: #lldb, JDevlieghere Differential Revision: https://reviews.llvm.org/D97298
-
Raphael Isemann authored
`ValueObject.h` contains the `ValueObject::ValueObjectManager` type which is just a typedef for the ClusterManager that takes care of the whole ValueObject memory management. However, there is also `ValueObjectManager` defined in the same header which is only used in the curses UI implementation and consists mostly of dead and completely untested code. This code been around since a while (it was added in 2016 as 8369b28d), so I think we shouldn't just revert the whole patch. Instead this patch just moves the class to its own header that it isn't just hiding in the ValueObject header and renames it to `ValueObjectUpdater` that it at least has a unique name (which I hope also slightly better reflects the purpose of this class). I also deleted all the dead code branches and functions. Reviewed By: #lldb, mib, JDevlieghere Differential Revision: https://reviews.llvm.org/D97287
-
Anastasia Stulova authored
When '__cl_clang_function_pointers' extension is enabled the parser should allow obtaining the function address. This fixes PR49264! Differential Revision: https://reviews.llvm.org/D97203
-
Raphael Isemann authored
LLDB tracks where any imported `clang::Decl` originally came from via a simple map from 'imported decl' to 'original decl'. That information is used to later complete parts of the Decl when more information is requested about a certain Decl (e.g., via the ExternalASTSource interface from Clang). When finding the 'original decl' for a given decl, the ASTImporterDelegate essentially just recursively follows the previously mentioned map from 'imported' to 'original decl' until it can find any further 'original decl'. The final found decl is then the one that will be imported. The recursion is necessary as in LLDB we don't just import decls from one ASTContext to another, but also from one ASTContext to another via a (potentially temporary) ASTContext. For example, the expression parser creates a temporary ASTContext for parsing the current expression. The problem with the recursion is however that if we somehow get a cycle into our mapping, then the ASTImporterDelegate will just infinite recurse. As the infinite recursion usually happens after the cycle was already created in a code path such as completing a type, the crash backtraces we get for these bugs are not very useful. However having the backtrace where the faulty map entry is created usually makes the code trivial to fix (as there should be some rogue CopyType call or something similar nearby. See for example D96366). This patch tries to make these issues easier to track down by putting a bunch of sanity asserts in the code that fills out the map. All the asserts are just checking that there is no direct cycle (ASTContext maps to itself) when updating the origin tracking map. The assert in the ASTImportDelegate constructor is an `lldbassert` (which also is getting checked in release builds with disabled asserts) as the code path there is pretty cold and we can reliably detect a rogue CopyType call from there. I also had to update some code in `ClangASTImporter::ASTImporterDelegate::Imported`. This code already had a safety check for creating a cycle in the origin tracking map, but it still constructed an ASTImporter while checking for the cycle (by requesting a delegate via `GetDelegate` and passing two identical ASTContexts which looks like a rogue CopyType call to the checks). Reviewed By: shafik Differential Revision: https://reviews.llvm.org/D97300
-
Simon Pilgrim authored
Followup to D72573 - as detailed in https://blog.regehr.org/archives/1709 we don't make use of the known leading/trailing zeros for shifted values in cases where we don't know the shift amount value. Stop ValueTracking returning zero for poison shift patterns and use the KnownBits shift helpers directly. Extend KnownBits::shl to combine all possible shifted combinations if both min/max shift amount values are in range. Differential Revision: https://reviews.llvm.org/D90479
-
Pierre Gousseau authored
Putting globals in a comdat for dead-stripping changes the semantic and can potentially cause false negative odr violations at link time. If odr indicators are used, we keep the comdat sections, as link time odr violations will be dectected for the odr indicator symbols. This fixes PR 47925
-
Simon Pilgrim authored
-
Lang Hames authored
I'll reinstate and continue investigation tomorrow.
-
Lang Hames authored
-
Lang Hames authored
-
OCHyams authored
If the default target and host triple don't match then print the following message when the lit test runs: Forcing dexter tests to use host triple {HOST_TRIPLE}. If we can't target the host arch then, when lit runs, we mark the dexter test directories as UNSUPPORTED and print the message: Host triple {HOST_TRIPLE} not supported. Skipping dexter tests in the debuginfo-tests project. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D96494
-
Kadir Cetinkaya authored
Differential Revision: https://reviews.llvm.org/D97366
-
Simon Pilgrim authored
As noticed on D97160
-
Lang Hames authored
More experiments as I try to placate sphinx.
-
Lang Hames authored
Also awkwardly reformat text to test whether the error is occurring on the line with the '::', or the previous one.
-
Lang Hames authored
-
Lang Hames authored
Try using the literal domain for `ObjectLinkingLayer::Plugin` and literal blocks for multi-line method names.
-
Florian Hahn authored
This reverts the revert commit 437f0bbc. It adds a new toVPRecipeResult, which forces VPRecipeOrVPValueTy to be constructed with a VPRecipeBase *. This should address ambiguous constructor issues for recipe sub-types that also inherit from VPValue.
-
Alexander Belyaev authored
The test did not check whether the operations can be parsed again after printing them once. Differential Revision: https://reviews.llvm.org/D97368
-
Douglas Yung authored
-
Lang Hames authored
cpp domain expr instead.
-
Lang Hames authored
-
Lang Hames authored
The new assertions check that Addressables removed when removing external or absolute symbols are not referenced by another symbol. A comment on post-fixup passes is updated: vmaddrs have all been set up by the time the pre-fixup passes are run, post-fixup passes run after fixups have been applied to content.
-
Lang Hames authored
These comments had gotten out of date with the code.
-
Florian Hahn authored
(CMTST A, A) will only set elements to 0 if the element is 0 in A. Use it for != 0 compares, which currently use (vnot (CMEQz A)). This saves a mvn instruction. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D97303
-
Sven van Haastregt authored
Also ensure all kernel enqueue functions have CL 2.0 as minimum version. Differential Revision: https://reviews.llvm.org/D97060
-
Sven van Haastregt authored
Add the remaining missing builtin function declarations that have enum or typedef argument or return types. Differential Revision: https://reviews.llvm.org/D96860
-
Martin Storsjö authored
Passing the MSVC include dirs via -isystem makes them included before clang's own include resource dir (<prefix>/lib/clang/<version>/include). This causes includes of stddef.h to bypass clang's stddef.h which defines max_align_t, which libc++ needs defined. This was added in 4372f06d when the initial windows testing support was added, and has been brought along since. It's unclear if this was needed back then - now it no longer is needed at least, and since libc++ started depending on max_align_t, this became an issue. Differential Revision: https://reviews.llvm.org/D97167
-
Martin Storsjö authored
Remove a stray -lib argument in guardcf-lto.ll; llvm-lib doesn't support generating import libs from a def file unlike lib.exe. Previously this worked because the -lib argument was ignored (printing only a warning). Differential Revision: https://reviews.llvm.org/D96699
-
David Green authored
Currently the load/store optimizer will only fold in increments of the same size as the load/store. This patch expands that to any legal immediate for the post-inc instruction. This is a recommit of 3b34b06f with correctness fixes and extra tests. Differential Revision: https://reviews.llvm.org/D95885
-
Petr Hosek authored
This reverts commit 6b286d93 because in some cases when the optimizer evaluates the global initializer, __llvm_prf_cnts may not be entirely zero initialized.
-
Marek Kurdej authored
-