- May 10, 2024
-
-
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. -
erichkeane authored
It was discovered while writing the 'wait' clause ast tests that the 'endloc' wasn't set correctly when there was no arguments. This patch ensures we set it right, and adds an assert to prevent us from messing it up in the future.
-
lntue authored
Fix ctad-maybe-unsupported warnings for `cpp::lock_guard`.
-
Momchil Velikov authored
According to the specification in https://github.com/ARM-software/acle/pull/309 this adds the intrinsics void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn) __arm_streaming __arm_inout("za"); void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn) __arm_streaming __arm_inout("za"); void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn) __arm_streaming __arm_inout("za"); void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn) __arm_streaming __arm_inout("za"); as well as the corresponding `bf16` variants.
-
Lang Hames authored
In the event of a serialization error (e.g. due to a network dropout) we should only run the Complete handler once, passing the serialization error value. No test-case: This would require a deliberately injected failure in a remote-JIT test and we don't have the infrastructure for that at the moment. rdar://126772381
-
Lang Hames authored
Test that (1) errors returned from a manually suspended generator are propagated as expected, and (2) automatic suspension does not interfere with our ability to resume (and return errors from) a generator.
-
Nico Weber authored
-
Hongbin Jin authored
This patch fixes cases where G_AND creating the shift mask is eliminated if one of its source operands is a constant, resulting from an incorrect predicate.
-
Danny Mösch authored
Fixes #91197.
-
Jay Foad authored
Use the form of CreateIntrinsic that takes an explicit return type and works out the mangling based on that and the types of the arguments. The advantage is that this still works if intrinsics are changed to have type mangling, e.g. if readlane/readfirstlane/writelane are changed to work on any type.
-
Matt Arsenault authored
dc9664a8 changed the documentation to assume these order -0 as less than +0.
-
Daniil Kovalev authored
Depends on #87545 Emit PAuth ABI compatibility tag values as llvm module flags: - `aarch64-elf-pauthabi-platform` - `aarch64-elf-pauthabi-version` For platform 0x10000002 (llvm_linux), the version value bits correspond to the following LangOptions defined in #85232: - bit 0: `PointerAuthIntrinsics`; - bit 1: `PointerAuthCalls`; - bit 2: `PointerAuthReturns`; - bit 3: `PointerAuthAuthTraps`; - bit 4: `PointerAuthVTPtrAddressDiscrimination`; - bit 5: `PointerAuthVTPtrTypeDiscrimination`; - bit 6: `PointerAuthInitFini`. --------- Co-authored-by:Ahmed Bougacha <ahmed@bougacha.org>
-
Jie Fu authored
/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:733:30: error: lambda capture 'Ctx' is not used [-Werror,-Wunused-lambda-capture] auto TryGetMCExprValue = [&Ctx](const MCExpr *Value, uint64_t &Res) -> bool { ~^~~ 1 error generated.
-