- Apr 23, 2024
-
-
Mogball authored
The comment is misleading because `propertiesAttr` is not actually ignored when the operation isn't unregistered. stack-info: PR: https://github.com/llvm/llvm-project/pull/89634, branch: users/Mogball/stack/2
-
Sirraide authored
This addresses two problems observed in #89407 wrt user-defined `static_assert` messages: 1. In `Expr::EvaluateCharRangeAsString`, we were calling `getExtValue()` instead of `getZExtValue()`, which would assert if a negative or very large number was returned from `size()`. 2. If the value could not be converted to `std::size_t`, attempting to diagnose that would crash because `ext_cce_narrowing` was missing two `%select` cases. This fixes #89407.
-
Farzon Lotfi authored
- `clang/lib/CodeGen/CGBuiltin.cpp` - switch to using `getLerpIntrinsic()` to abstract backend intrinsic - `clang/lib/CodeGen/CGHLSLRuntime.h` - add `getLerpIntrinsic()` - `llvm/include/llvm/IR/IntrinsicsSPIRV.td` - add SPIRV intrinsic for lerp - `llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp` - add mapping of HLSL's lerp to GLSL's Fmix. resolves #88940
-
Mircea Trofin authored
Reverts llvm/llvm-project#89304 Some build bot failures - will fix and reland. Example: https://lab.llvm.org/buildbot/#/builders/165/builds/52789
-
Simon Pilgrim authored
Once #89115 has landed, we can handle per-element rotates as well using (V)GF2P8MULB
-
Alexey Bataev authored
Introduced transformNodes() function to perform transformation of the nodes (cost-based, instruction count based, etc.). Implemented transformation of consecutive loads + reverse order to strided loads with stride -1, if profitable. Reviewers: RKSimon, preames, topperc Reviewed By: RKSimon Pull Request: https://github.com/llvm/llvm-project/pull/88530
-
Mircea Trofin authored
Add the component structure for contextual instrumented PGO and the bump allocator + test. (Tracking Issue: #89287, RFC referenced there)
-
Krystian Stasiowski authored
Removes an unused static function `IsOverloaded` from `SemaOverload.cpp` that is unused after #88731.
-
Paul Kirth authored
Upcoming patches will add TP relative stack checks for Android, and Linux currently uses the default GOT based stack protector.
-
Alex MacLean authored
Use the datalayout directly to determine the correct `cvta` instruction for converting shared/local/const pointers. This is cleaner as it eliminates the need to keep a redundant copy of this info in the TM and makes clear which address spaces short pointers are applicable for.
-
- Apr 22, 2024
-
-
Aaron Ballman authored
Bit-fields of bit-precise integer type do not promote to int, but instead promote to the type of the field. Fixes #87641
-
Erich Keane authored
num_gangs takes an 'int-expr-list', for 'parallel', and an 'int-expr' for 'kernels'. This patch changes the parsing to always parse it as an 'int-expr-list', then correct the expression count during Sema. It also implements the rest of the semantic analysis changes for this clause.
-
Krystian Stasiowski authored
Reapply "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function (#87541, #88311)" (#88731) Reapplies #87541 and #88311 (again) addressing the bug which caused expressions naming overload sets to be incorrectly rebuilt, as well as the bug which caused base class members to always be treated as overload sets. The primary change since #88311 is `UnresolvedLookupExpr::Create` is called directly in `BuildPossibleImplicitMemberExpr` with `KnownDependent` as `true` (which causes the expression type to be set to `ASTContext::DependentTy`). This ensures that any further semantic analysis involving the type of the potentially implicit class member access expression is deferred until instantiation.
-
Alexey Bataev authored
Need to relax assertion and check ReuseShuffleIndices is not empty, if the root phi node has reorder indices.
-
Alexey Bataev authored
The compiler should not take into account the type of the cmp instruction, otherwise it may treat the size incorrectly and it may lead to incorrect codegen.
-
Alexey Bataev authored
-
Kai Nacke authored
The implementation follows the ELF implementation.
-
Simon Pilgrim authored
[VectorCombine] foldShuffleOfShuffles - fold "shuffle (shuffle x, undef), (shuffle y, undef)" -> "shuffle x, y" (#88743) Another step towards cleaning up shuffles that have been split, often across bitcasts between SSE intrinsic. Strip shuffles entirely if we fold to an identity shuffle.
-
Florian Hahn authored
Extra tests with strides with different signs for https://github.com/llvm/llvm-project/pull/88039.
-
Haojian Wu authored
The argument types are not modeled as children of TypeTraitExpr, therefore they are not dumped with the default implementation. Dumping them is really useful for ad-hoc debugging, context #89358
-
Zequan Wu authored
This removes `m_forward_decl_die_to_compiler_type` which is a map from `const DWARFDebugInfoEntry *` to `lldb::opaque_compiler_type_t`. This map is currently used in `DWARFASTParserClang::ParseEnum` and `DWARFASTParserClang::ParseStructureLikeDIE` to avoid creating duplicate CompilerType for the specific DIE. But before entering these two functions in `DWARFASTParserClang::ParseTypeFromDWARF`, we already checked with `SymbolFileDWARF::GetDIEToType()` if we have a Type created from this DIE to avoid trying to parse the same DIE twice. So, this map is unnecessary and not useful.
-
Krystian Stasiowski authored
#84050 resolves class member access expressions naming members of the current instantiation prior to instantiation. In testing, it has revealed a mem-initializer in the move constructor of `invocable_with_telemetry` that uses an unparenthesized comma expression to initialize a non-static data member of pointer type. This patch fixes it.
-
Nico Weber authored
-
Alexey Bataev authored
Need to check all possible entries, before trying looking for the minbitwidth in the user node. Otherwise we may incorrectly get signedness info.
-
Timm Bäder authored
-
Timm Bäder authored
The assertion doesn't work if there are multiple declarations for a variable involved.
-
Timm Bäder authored
Move the iterator declarations into the if statements and return std::nullopt explicitly.
-
Alex Zinenko authored
Some docs were emitted into the wrong location (Polynomial/ instead of Dialect/). Furthermore, `-gen-dialect-docs` subsumes `-gen-attr/typedef-docs` so the latter are not required. Add a top-level entry that includes both other files in a proper order.
-
Leandro Lupori authored
COMMON block names must be declared in the same scoping unit in which the OpenMP directive or clause appears, but OpenMP constructs must not be considered as scoping units. Instead, consider only program units and block constructs as such.
-
Florian Hahn authored
As suggested in https://github.com/llvm/llvm-project/pull/88039, add extra documentation for reasoning in isDependent. PR: https://github.com/llvm/llvm-project/pull/89381
-
Shilei Tian authored
-
David Green authored
-
Phoebe Wang authored
Failed on main trunk: https://godbolt.org/z/edWMz8chE
-
Steven Varoumas authored
This transformation, inspired by what is done in hoist_redundant_transfers, hoists pairs of extract/broadcast operations out of scf.for loops. It changes a loop of the form: ``` %res = scf.for _ = _ to _ step _ iter_args(%iarg = %v) -> (t1) { %e = vector.extract %iarg : t1 to t2 %u = "some_use"(%e) : (t2) -> t2 %b = vector.broadcast %u : t2 to t1 scf.yield %b : t1 } ``` into the following: ``` %e = vector.extract %v: t1 to t2 %res' = scf.for _ = _ to _ step _ iter_args(%iarg = %e) -> (t2) { %u' = "some_use"(%iarg) : (t2) -> t2 scf.yield %u' : t2 } %res = vector.broadcast %res' : t2 to t1 ``` -
Oleksandr "Alex" Zinenko authored
-
Louis Dionne authored
The modulemap file is not generated anymore, so it's just part of our list of includes and gets installed like every other header. We don't need a special step to install it anymore. This was overlooked when I removed the generation of the modulemap file.
-
Louis Dionne authored
We can instead generate it on-the-fly when we install the headers. This reduces the amount of boilerplate we have to re-generate whenever we add, remove or relocate header files. Fixes #88529
-
Jay Foad authored
-
Timm Bäder authored
-
Timm Bäder authored
-