- May 15, 2024
-
-
mingmingl authored
-
- May 10, 2024
-
-
mingmingl authored
-
Mark de Wever authored
The completed chrono parts no longer need an implementation.
-
Peter Klausler authored
Avoid calling GetArguments() if a fatal error has been detected. Fixes https://github.com/llvm/llvm-project/issues/91114.
-
Mingming Liu authored
The indirect-call-promotion pass will look up the vtable to find out the virtual function [1], and add vtable-derived information in icall candidate [2] for cost-benefit analysis. [1] https://github.com/llvm/llvm-project/pull/81442/files#diff-a95d1ac8a0da69713fcb3346135d4b219f0a73920318d2549495620ea215191bR395-R416 [2] https://github.com/llvm/llvm-project/pull/81442/files#diff-a95d1ac8a0da69713fcb3346135d4b219f0a73920318d2549495620ea215191bR195-R199
-
Med Ismail Bennani authored
This patch makes sure that scripted process are compatible with target stop-hooks. This wasn't tested in the past, but it turned out to be working out of the box. rdar://124396534 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Peter Klausler authored
Parse and represent compiler directives in a modules module-subprogram-part between the module subprograms.
-
Chelsea Cassanova authored
Removes the debugger broadcast bits from `Debugger.h` and instead uses the enum from `lldb-enumerations.h` and adds the `eBroadcastSymbolChange` bit to the enum in `lldb-enumerations.h`. This fixes a bug wherein the incorrect broadcast bit could be referenced due both of these enums previously existing and being out-of-sync with each other.
-
Med Ismail Bennani authored
This patch rephrases the crashlog `--no-crashed-only` option help message. This option is mainly used in batch mode to symbolicate and dump all the threads backtraces, instead of only doing it for the crashed thread which is the default behavior. rdar://127391524 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Peter Klausler authored
Fortran has an ambiguously defined rule about the typing of index variables of implied DO loops in DATA statements and array constructors that omit an explicit type specification. Such indices have the type that they would have "if they were variables" in the innermost enclosing scope. Although this could, and perhaps should, be read to mean that implicit typing rules active in that innermost enclosing scope should be applied, every other Fortran compiler interprets that language to mean that if there is a type declaration for that name that is visible from the enclosing scope, it is applied, and it is an error if that type is not integer. Fixes https://github.com/llvm/llvm-project/issues/91053.
-
Med Ismail Bennani authored
In `27f27d15`, we changed the image loading logic to conform to the various options (`-a|--load-all` & `-c|--crashed-only`) and loaded them concurrently. However, instead of the subset of images that matched the user option, the thread pool would always run on all the crashlog images, causing them to be all loaded in the target everytime. This matches the `-a|--load-all` option behaviour but depending on the report, it can cause lldb to load thousands of images, which can take a very long time if the images are downloaded over the network. This patch fixes that issue by keeping a list of `images_to_load` based of the user-provided option. This list will be used with our executor thread pool to load the images according to the user selection, and reinstates the expected default behaviour, by only loading the crashed thread images and skipping all the others. This patch also unifies the way we load images into a single method that's shared by both the batch mode & the interactive scripted process. rdar://123694062 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Florian Hahn authored
After supporting non-constant dependence distances in 933f4924, applying information from loop guards can help further disambiguate dependencies.
-
lntue authored
-
Danny Mösch authored
Fixes #89194.
-
Adam Siemieniuk authored
Pack a matmul MxNxK operation into 4D blocked layout. Any present batch dimensions remain unchanged and the result is unpacked back to the original layout. Matmul block packing splits the operands into major blocks (outer dimensions) and minor blocks (inner dimensions). The desired block layout can be controlled through packing options.
-
Peter Klausler authored
As the kinds of the integer types of type parameters may well depend on the values of other type parameters, defer the attempt to convert their values to the point of type instantiation instead of doing it during declaration processing.
-
Philip Reames authored
Two cases where folding the and (which could be a zext.w) through shifts in generic DAG result in net worse code quality. And one negative case where keeping a zext.h would result in a longer critical path.
-
Xiang Li authored
This reapplies https://github.com/llvm/llvm-project/commit/c5509fedc5757fffece385d9d068e36b26793ade "[HLSL] Support packoffset attribute in AST (https://github.com/llvm/llvm-project/pull/89836)" with a fix for the test failure caused by missing -fnative-half-type. Since we have to parse the attribute manually in ParseHLSLAnnotations, we could create the ParsedAttribute with an integer offset parameter instead of string. This approach avoids parsing the string if the offset is saved as a string in HLSLPackOffsetAttr. For #57914
-
Tulio Magno Quites Machado Filho authored
Use llvm::Triple:aarch64 as the little-endian triple. Fixes commit 3e54768d.
-
Peter Klausler authored
Multiple definitions of a procedure pointer with DATA statements should elicit an error message, not a compiler crash. Fixes https://github.com/llvm/llvm-project/issues/90944.
-
Benoit Jacob authored
-
Tacet authored
Addresses the comment: https://github.com/llvm/llvm-project/pull/79536#discussion_r1593652240 Changes the type to `void` instead of `false_type`. The value is used here: https://github.com/llvm/llvm-project/blob/6f1013a5b3f92d3ae6e378d6706584a2a44e6964/libcxx/include/__type_traits/is_trivially_relocatable.h#L35-L38
-
Mark de Wever authored
The issue in nasty_char_traits was discovered by @StephanTLavavej who provided the solution they use in MSVC STL. This solution is based on that example. The same issue affects the constexpr_char_traits which was discovered in https://github.com/llvm/llvm-project/pull/88389. This uses the same fix. Fixes: https://github.com/llvm/llvm-project/issues/74221
-
David Green authored
-
Yinying Li authored
1. Remove the trailing comma for the last element of memref and add closing parenthesis. 2. Change integration tests to use the new format.
-
Simon Pilgrim authored
Avoids a problem identified in #90503
-
- May 09, 2024
-
-
Congcong Cai authored
This XFAIL test is written in 4 years ago and still todo. 4 is already in DefaultIgnoredIntegerValues so I do not think this XFAIL case can be passed.
-
Andrzej Warzyński authored
* adds comments in tile-spills-and-fills.mlir * adds comments in ArmSMEIntrinsicOps.td * updates test in tile-spills-and-fills.mlir not to return 2D scalable vectors (e.g. vector<[4]x[4]xf32>) - that's not supported and not needed for that test
-
Joe Nash authored
AMDGPUMnemonicAlias is a MnemonicAlias that inherits from GCNPredicateControl, so that we can set predicates on the alias the same way as Instructions. Use AssemblerPredicate instead of Requires on aliases NFC.
-
Yuxuan Chen authored
This patch contains no functional changes. The main goal of this patch is to get better clarity out of the code, to make intentions and assumptions clear. One major design problem I had in the past were `Lowerer`. It previously inherited from `coro::LowererBase` but it doesn't use any of the fields or methods from `LowererBase`. It might be an artifact leftover from previous designs of this code. Furthermore, we should clarify that although one such instance is bound to the function, `Lowerer` was dedicated to one `CoroId` instruction at a time. We rely on a sequence of fragile constructs like `CoroBegins.clear(); DestroyAddr.clear()`. This doesn't help understand the code. What's worse is that we have confusing calls like `elideHeapAllocations(CoroId->getFunction(), ...` and it might get confused with `CoroId->getCoroutine()`. The new structure intends to make it clear that we always operate on one `CoroId` at a time, which may have multiple `CoroBegin`s. Such structure doesn't rely on frequent `.clear()` that's prone to miss.
-
Sander de Smalen authored
Reverts llvm/llvm-project#90617
-
Zequan Wu authored
Dwarf 5 says "There is no requirement that the entries be ordered in any particular way" in 2.17.3 Non-Contiguous Address Ranges for rnglist. Some places assume the ranges are already sorted but it's not. For example, when [parsing function info](https://github.com/llvm/llvm-project/blob/bc8a42762057d7036f6871211e62b1c3efb2738a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp#L922-L927), it validates low and hi address of the function: GetMinRangeBase returns the first range entry base and GetMaxRangeEnd returns the last range end. If low >= hi, it stops parsing this function. This causes missing inline stack frames for those functions. This change fixes it and updates the test `lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s` so that two ranges in `.debug_rnglists` are out of order and `image lookup -v -s lookup_rnglists` is still able to produce sorted ranges for the inner block.
-
Joseph Huber authored
This patch overhauls the `libomptarget` and plugin interface. Currently, we define a C API and compile each plugin as a separate shared library. Then, `libomptarget` loads these API functions and forwards its internal calls to them. This was originally designed to allow multiple implementations of a library to be live. However, since then no one has used this functionality and it prevents us from using much nicer interfaces. If the old behavior is desired it should instead be implemented as a separate plugin. This patch replaces the `PluginAdaptorTy` interface with the `GenericPluginTy` that is used by the plugins. Each plugin exports a `createPlugin_<name>` function that is used to get the specific implementation. This code is now shared with `libomptarget`. There are some notable improvements to this. 1. Massively improved lifetimes of life runtime objects 2. The plugins can use a C++ interface 3. Global state does not need to be duplicated for each plugin + libomptarget 4. Easier to use and add features and improve error handling 5. Less function call overhead / Improved LTO performance. Additional changes in this plugin are related to contending with the fact that state is now shared. Initialization and deinitialization is now handled correctly and in phase with the underlying runtime, allowing us to actually know when something is getting deallocated. Depends on https://github.com/llvm/llvm-project/pull/86971 https://github.com/llvm/llvm-project/pull/86875 https://github.com/llvm/llvm-project/pull/86868
-
Mehdi Amini authored
The current pass rate on the bot is ~50%. https://github.com/llvm/llvm-project/issues/91287
-
Joseph Huber authored
This apparently breaks AMDGPU offloading for unknown reasons. Reverting for now. This reverts commit aa16de63.
-
Momchil Velikov authored
Reverts llvm/llvm-project#88266 due to test failures error: 'expected-error' diagnostics seen but not expected: (frontend): '-fsyntax-only' action ignored; '-emit-llvm' action specified previously
-
Nico Weber authored
See my comments on https://github.com/llvm/llvm-project/pull/88257. (The AMDGPU target internal depencencies were among the messiest among all targets even before that.)
-
Jake Egan authored
This fixes matching `clang: error: argument unused during compilation: '-Werror' [-Werror,-Wunused-command-line-argument]` on AIX. --------- Co-authored-by:Hubert Tong <hubert-reinterpretcast@users.noreply.github.com>
-
alx32 authored
In ObjC we can have categories that define a `+load` method that is called when the category is loaded. In such cases, we shouldn't optimize the category. These categories are present in the `__objc_nlcatlist` section. So we scan these section for such categories and ignore them from optimization.
-
erichkeane authored
'wait' takes a few int-exprs (well, a series of async-arguments, but those are effectively just an int-expr), plus a pair of tags. This patch adds the support for this to the AST, and does the appropriate semantic analysis for them.
-