[all-commits] [llvm/llvm-project] e71369: [mlir][OpenMP] Add copyprivate support to omp.sing...
NAKAMURA Takumi via All-commits
all-commits at lists.llvm.org
Sun Feb 25 03:17:21 PST 2024
Branch: refs/heads/users/chapuni/mcdc/tvidx
Home: https://github.com/llvm/llvm-project
Commit: e71369fcb039b7a5f555862f49867ee45ec1ccf5
https://github.com/llvm/llvm-project/commit/e71369fcb039b7a5f555862f49867ee45ec1ccf5
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] Add copyprivate support to omp.single (#80477)
This adds a new custom CopyPrivateVarList to the single operation.
Each list item is formed by a reference to the variable to be
updated, its type and the function to be used to perform the copy.
It will be translated to LLVM IR using OpenMP builder, that will
use the information in the copyprivate list to call
__kmpc_copyprivate.
This is patch 2 of 4, to add support for COPYPRIVATE in Flang.
Original PR: https://github.com/llvm/llvm-project/pull/73128
Commit: 594d57e07a92e3a2cefb262114db2608989f874d
https://github.com/llvm/llvm-project/commit/594d57e07a92e3a2cefb262114db2608989f874d
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.cpp
M llvm/utils/TableGen/CodeGenRegisters.h
Log Message:
-----------
[TableGen] New RegUnitSet(Name) constructor. NFC.
Commit: 9f2d8cdf4209638973a0611fa2efd4e2fe38bfa5
https://github.com/llvm/llvm-project/commit/9f2d8cdf4209638973a0611fa2efd4e2fe38bfa5
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[flang][clang][docs] Split out Clang specific doc text for -mrvv-vector-bits
Flang does not set the preprocessor define.
Commit: 32fcfcdc4cc1d68116438f761897953894d65fb1
https://github.com/llvm/llvm-project/commit/32fcfcdc4cc1d68116438f761897953894d65fb1
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Remove unused BUILD dependencies. (#81836)
Commit: 9cc98e336980f00cbafcbed8841344e6ac472bdc
https://github.com/llvm/llvm-project/commit/9cc98e336980f00cbafcbed8841344e6ac472bdc
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Sema/Sema.cpp
A clang/test/CodeGen/aarch64-soft-float-abi.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
A clang/test/Driver/aarch64-soft-float-abi.c
M clang/test/Preprocessor/aarch64-target-features.c
A clang/test/Sema/aarch64-soft-float-abi.c
A llvm/test/CodeGen/AArch64/soft-float-abi.ll
Log Message:
-----------
[AArch64] Add soft-float ABI (#74460)
This adds support for the AArch64 soft-float ABI. The specification for
this ABI was added by https://github.com/ARM-software/abi-aa/pull/232.
Because all existing AArch64 hardware has floating-point hardware, we
expect this to be a niche option, only used for embedded systems on
R-profile systems. We are going to document that SysV-like systems
should only ever use the base (hard-float) PCS variant:
https://github.com/ARM-software/abi-aa/pull/233. For that reason, I've
not added an option to select the ABI independently of the FPU hardware,
instead the new ABI is enabled iff the target architecture does not have
an FPU.
For testing, I have run this through an ABI fuzzer, but since this is
the first implementation it can only test for internal consistency
(callers and callees agree on the PCS), not for conformance to the ABI
spec.
Commit: 43b291cbecca155a905f52f37b2b1bea7e9aba76
https://github.com/llvm/llvm-project/commit/43b291cbecca155a905f52f37b2b1bea7e9aba76
Author: Christian Sigg <csigg at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dependencies to toy BUILD targets.
Commit: c448bd8b043f57ac51145664d2edde6dae98e5ea
https://github.com/llvm/llvm-project/commit/c448bd8b043f57ac51145664d2edde6dae98e5ea
Author: Christian Sigg <csigg at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dependencies to //mlir/unittests/... targets.
Commit: b9cf7f1066cc7ec11c6074d10b0f2ec9a3ae72d9
https://github.com/llvm/llvm-project/commit/b9cf7f1066cc7ec11c6074d10b0f2ec9a3ae72d9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/test/C/C2x/n2934.c
M clang/test/Parser/c2x-alignas.c
Log Message:
-----------
[C23] Fix handling of alignas (#81637)
In C++, alignas is an attribute specifier, while in C23, it's an alias
of _Alignas, which is a type specifier/qualifier. This means that they
parse differently in some circumstances.
Fixes https://github.com/llvm/llvm-project/issues/81472
Commit: 5b8e7ed787f6e537876c4fdafd070eba9681f343
https://github.com/llvm/llvm-project/commit/5b8e7ed787f6e537876c4fdafd070eba9681f343
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/test/Driver/aarch64-soft-float-abi.c
Log Message:
-----------
[AArch64][Driver] Mark test as requiring AArch64 backend
Commit: fcb5a98eb803f53069554fdc755d648bbdf24dae
https://github.com/llvm/llvm-project/commit/fcb5a98eb803f53069554fdc755d648bbdf24dae
Author: Christian Sigg <csigg at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Revert "[bazel][mlir] Remove unused BUILD dependencies. (#81836)"
This reverts commit 32fcfcdc4cc1d68116438f761897953894d65fb1.
Commit: 95e8a7c863d17b929232d3e57007d342ffb3001d
https://github.com/llvm/llvm-project/commit/95e8a7c863d17b929232d3e57007d342ffb3001d
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/include/llvm-libc-macros/stdfix-macros.h
Log Message:
-----------
[libc][stdfix] Use __FRACT_FBIT__ for fixed point support detection instead of compiler version. (#81820)
Now that `__FRACT_FBIT__` and related macros are added in
https://github.com/llvm/llvm-project/pull/81207, it is safer to use them
for fixed point support detection, so that codes that do not use fixed
point types will not fail to build when `-ffixed-point` is missing.
Commit: 513e4dc1af5e0a57dab5cd8df6fb1fc9e82b1e33
https://github.com/llvm/llvm-project/commit/513e4dc1af5e0a57dab5cd8df6fb1fc9e82b1e33
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/src/__support/integer_literals.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/str_to_long_double_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81835)
This is a reland of #81746
Commit: c609211d912dfa9849c5ca873d40d10e32e0a975
https://github.com/llvm/llvm-project/commit/c609211d912dfa9849c5ca873d40d10e32e0a975
Author: Fred Tingaud <95592999+frederic-tingaud-sonarsource at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/DeclBase.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
[clang] Fix isInStdNamespace for Decl flagged extern c++ (#81776)
The MSVC STL implementation declares multiple classes using:
```cpp
namespace std {
extern "C++" class locale {
...
};
}
```
`isInStdNamespace` uses the first DeclContext to check whether a Decl is
inside the `std` namespace. Here, the first DeclContext of the `locale`
Decl is a LinkageSpecDecl so the method will return false.
We need to skip this LinkageSpecDecl to find the first DeclContext of
type Namespace and actually check whether we're in the `std` namespace.
Commit: d68aa303fe779a29a981d1d4166c45a128aa65d6
https://github.com/llvm/llvm-project/commit/d68aa303fe779a29a981d1d4166c45a128aa65d6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvalEmitter.h
M clang/lib/AST/Interp/EvaluationResult.h
M clang/test/AST/Interp/c.c
M clang/test/Sema/warn-char-subscripts.c
Log Message:
-----------
[clang][Interp] Do r-to-l conversion immediately when returning (#80662)
First, we need to register local constant variables in C, so we get the
same diagnostic behavior as the current interpeter.
Second, when returning an LValue (as a Pointer), which we eventually
convert to an RValue, we need to do the conversion immediately when
saving the Pointer in the EvaluationResult. Otherwise, we will possibly
deallocate the data before doing the conversion (which will look at the
Block*).
Commit: 97ab3c345d5c7de80dde3f8bd350841050244db9
https://github.com/llvm/llvm-project/commit/97ab3c345d5c7de80dde3f8bd350841050244db9
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/src/__support/CPP/array.h
Log Message:
-----------
[libc][NFC] Fix missing `constexpr` qualifier in `cpp::array` (#81862)
Commit: 84165864d458edce750f3a10d5dbd348970893b6
https://github.com/llvm/llvm-project/commit/84165864d458edce750f3a10d5dbd348970893b6
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/src/__support/UInt.h
Log Message:
-----------
[libc][NFC] Fix missing replacement in BigInt (#81864)
Commit: 7677453886a665b37f22c77434b36a680aba6ebb
https://github.com/llvm/llvm-project/commit/7677453886a665b37f22c77434b36a680aba6ebb
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
Log Message:
-----------
[ConstantFolding] Do not consider padded-in-memory types as uniform (#81854)
Teaching ConstantFoldLoadFromUniformValue that types that are padded in
memory can't be considered as uniform.
Using the big hammer to prevent optimizations when loading from a
constant for which DataLayout::typeSizeEqualsStoreSize would return
false.
Main problem solved would be something like this:
store i17 -1, ptr %p, align 4
%v = load i8, ptr %p, align 1
If for example the i17 occupies 32 bits in memory, then LLVM IR doesn't
really tell where the padding goes. And even if we assume that the 15
most significant bits are padding, then they should be considered as
undefined (even if LLVM backend typically would pad with zeroes).
Anyway, for a big-endian target the load would read those most
significant bits, which aren't guaranteed to be one's. So it would be
wrong to constant fold the load as returning -1.
If LLVM IR had been more explicit about the placement of padding, then
we could allow the constant fold of the load in the example, but only
for little-endian.
Fixes: https://github.com/llvm/llvm-project/issues/81793
Commit: d3b825f80a979faf780605c8168c32bcbab756e1
https://github.com/llvm/llvm-project/commit/d3b825f80a979faf780605c8168c32bcbab756e1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Use consistent DecoderNamespace for wave64 instructions. NFC. (#81863)
For wave64 WMMA instructions, putting W64 in the DecoderNamespace is
more descriptive than WMMA, and matches other uses for GFX12
GLOBAL_LOAD_TR instructions.
Commit: 6e11ed240ba1769528d3eae47c7b8bbf9e4df19b
https://github.com/llvm/llvm-project/commit/6e11ed240ba1769528d3eae47c7b8bbf9e4df19b
Author: FruitClover <m.kashkarov at samsung.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/include/clang/Parse/RAIIObjectsForParser.h
Log Message:
-----------
[clang][OpenACC] Fix copy-paste name in ParsingOpenACCDirectiveRAII (#81796)
Commit: f20935266958ccb43ee6abe24e69c46f1d825365
https://github.com/llvm/llvm-project/commit/f20935266958ccb43ee6abe24e69c46f1d825365
Author: Bryce Wilson <bryce at brycemw.ca>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/builtins-overflow.cpp
Log Message:
-----------
[clang] Allow builtin addc/subc to be constant evaluated (#81656)
[clang] Allow builtin addc/subc to be constant evaluated
Commit: 630548a11423a40c5496cec78001374bfb8ff741
https://github.com/llvm/llvm-project/commit/630548a11423a40c5496cec78001374bfb8ff741
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/test/CXX/drs/dr23xx.cpp
Log Message:
-----------
[clang][NFC] Keep the order of DRs in dr23xx.cpp
Commit: 3a626937b1b652e3c87cd0050df9c24cc5127d3b
https://github.com/llvm/llvm-project/commit/3a626937b1b652e3c87cd0050df9c24cc5127d3b
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
Log Message:
-----------
[RISCV][TTI] Extract subvector at index zero is free (#81751)
Extracing a subvector at index zero corresponds to a type conversion and
possibly a subregister operation. We will not emit a vslidedown. As
such, they are free.
As an aside, it looks like we're not passing an index in for cases where
the subvec type is scalable. For at least index zero, we probably should
be.
Commit: 2d616ec4f040141e103965f98456ba523762735d
https://github.com/llvm/llvm-project/commit/2d616ec4f040141e103965f98456ba523762735d
Author: Anton Lydike <me at AntonLydike.de>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/MPI/CMakeLists.txt
A mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/MPI/IR/MPI.h
A mlir/include/mlir/Dialect/MPI/IR/MPI.td
A mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
A mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/MPI/CMakeLists.txt
A mlir/lib/Dialect/MPI/IR/CMakeLists.txt
A mlir/lib/Dialect/MPI/IR/MPI.cpp
A mlir/lib/Dialect/MPI/IR/MPIOps.cpp
A mlir/test/Dialect/MPI/ops.mlir
Log Message:
-----------
[mlir] Initial patch to add an MPI dialect (#68892)
This patch introduces the new MPI dialect into MLIR. The Message Passing
Interface (MPI) is a widely-used standard for distributed programs to
exchange data. This PR goes together with a talk later at today's LLVM
Dev Meeting.
This is just a first, small patch to get going and add the necessary
base files, so that we can add more operations in further patches.
Here's the documentation as generated by `ninja mlir-doc`:
# 'mpi' Dialect
This dialect models the Message Passing Interface (MPI), version
4.0. It is meant to serve as an interfacing dialect that is targeted
by higher-level dialects. The MPI dialect itself can be lowered to
multiple MPI implementations and hide differences in ABI. The dialect
models the functions of the MPI specification as close to 1:1 as
possible
while preserving SSA value semantics where it makes sense, and uses
`memref` types instead of bare pointers.
This dialect is under active development, and while stability is an
eventual goal, it is not guaranteed at this juncture. Given the early
state, it is recommended to inquire further prior to using this dialect.
For an in-depth documentation of the MPI library interface, please refer
to official documentation such as the
[OpenMPI online documentation](https://www.open-mpi.org/doc/current/).
[TOC]
## Operation definition
### `mpi.comm_rank` (mpi::CommRankOp)
_Get the current rank, equivalent to `MPI_Comm_rank(MPI_COMM_WORLD,
&rank)`_
Syntax:
```
operation ::= `mpi.comm_rank` attr-dict `:` type(results)
```
Communicators other than `MPI_COMM_WORLD` are not supported for now.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
| `rank` | 32-bit signless integer
### `mpi.error_class` (mpi::ErrorClassOp)
_Get the error class from an error code, equivalent to the
`MPI_Error_class` function_
Syntax:
```
operation ::= `mpi.error_class` $val attr-dict `:` type($val)
```
`MPI_Error_class` maps return values from MPI calls to a set of
well-known
MPI error classes.
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value
#### Results:
| Result | Description |
| :----: | ----------- |
| `errclass` | MPI function call return value
### `mpi.finalize` (mpi::FinalizeOp)
_Finalize the MPI library, equivalent to `MPI_Finalize()`_
Syntax:
```
operation ::= `mpi.finalize` attr-dict (`:` type($retval)^)?
```
This function cleans up the MPI state. Afterwards, no MPI methods may
be invoked (excpet for MPI_Get_version, MPI_Initialized, and
MPI_Finalized).
Notably, MPI_Init cannot be called again in the same program.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
### `mpi.init` (mpi::InitOp)
_Initialize the MPI library, equivalent to `MPI_Init(NULL, NULL)`_
Syntax:
```
operation ::= `mpi.init` attr-dict (`:` type($retval)^)?
```
This operation must preceed most MPI calls (except for very few
exceptions,
please consult with the MPI specification on these).
Passing &argc, &argv is not supported currently.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
### `mpi.recv` (mpi::RecvOp)
_Equivalent to `MPI_Recv(ptr, size, dtype, dest, tag, MPI_COMM_WORLD,
MPI_STATUS_IGNORE)`_
Syntax:
```
operation ::= `mpi.recv` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```
MPI_Recv performs a blocking receive of `size` elements of type `dtype`
from rank `dest`. The `tag` value and communicator enables the library
to
determine the matching of multiple sends and receives between the same
ranks.
Communicators other than `MPI_COMM_WORLD` are not supprted for now.
The MPI_Status is set to `MPI_STATUS_IGNORE`, as the status object
is not yet ported to MLIR.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
### `mpi.retval_check` (mpi::RetvalCheckOp)
_Check an MPI return value against an error class_
Syntax:
```
operation ::= `mpi.retval_check` $val `=` $errclass attr-dict `:` type($res)
```
This operation compares MPI status codes to known error class
constants such as `MPI_SUCCESS`, or `MPI_ERR_COMM`.
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>errclass</code></td><td>::mlir::mpi::MPI_ErrorClassEnumAttr</td><td><details><summary>MPI
error class name</summary>{{% markdown %}}Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* MPI_ERR_ARG (`MPI_ERR_ARG`)
* MPI_ERR_ASSERT (`MPI_ERR_ASSERT`)
* MPI_ERR_BAD_FILE (`MPI_ERR_BAD_FILE`)
* MPI_ERR_BASE (`MPI_ERR_BASE`)
* MPI_ERR_BUFFER (`MPI_ERR_BUFFER`)
* MPI_ERR_COMM (`MPI_ERR_COMM`)
* MPI_ERR_CONVERSION (`MPI_ERR_CONVERSION`)
* MPI_ERR_COUNT (`MPI_ERR_COUNT`)
* MPI_ERR_DIMS (`MPI_ERR_DIMS`)
* MPI_ERR_DISP (`MPI_ERR_DISP`)
* MPI_ERR_DUP_DATAREP (`MPI_ERR_DUP_DATAREP`)
* MPI_ERR_ERRHANDLER (`MPI_ERR_ERRHANDLER`)
* MPI_ERR_FILE (`MPI_ERR_FILE`)
* MPI_ERR_FILE_EXISTS (`MPI_ERR_FILE_EXISTS`)
* MPI_ERR_FILE_IN_USE (`MPI_ERR_FILE_IN_USE`)
* MPI_ERR_GROUP (`MPI_ERR_GROUP`)
* MPI_ERR_INFO (`MPI_ERR_INFO`)
* MPI_ERR_INFO_KEY (`MPI_ERR_INFO_KEY`)
* MPI_ERR_INFO_NOKEY (`MPI_ERR_INFO_NOKEY`)
* MPI_ERR_INFO_VALUE (`MPI_ERR_INFO_VALUE`)
* MPI_ERR_IN_STATUS (`MPI_ERR_IN_STATUS`)
* MPI_ERR_INTERN (`MPI_ERR_INTERN`)
* MPI_ERR_IO (`MPI_ERR_IO`)
* MPI_ERR_KEYVAL (`MPI_ERR_KEYVAL`)
* MPI_ERR_LOCKTYPE (`MPI_ERR_LOCKTYPE`)
* MPI_ERR_NAME (`MPI_ERR_NAME`)
* MPI_ERR_NO_MEM (`MPI_ERR_NO_MEM`)
* MPI_ERR_NO_SPACE (`MPI_ERR_NO_SPACE`)
* MPI_ERR_NO_SUCH_FILE (`MPI_ERR_NO_SUCH_FILE`)
* MPI_ERR_NOT_SAME (`MPI_ERR_NOT_SAME`)
* MPI_ERR_OP (`MPI_ERR_OP`)
* MPI_ERR_OTHER (`MPI_ERR_OTHER`)
* MPI_ERR_PENDING (`MPI_ERR_PENDING`)
* MPI_ERR_PORT (`MPI_ERR_PORT`)
* MPI_ERR_PROC_ABORTED (`MPI_ERR_PROC_ABORTED`)
* MPI_ERR_QUOTA (`MPI_ERR_QUOTA`)
* MPI_ERR_RANK (`MPI_ERR_RANK`)
* MPI_ERR_READ_ONLY (`MPI_ERR_READ_ONLY`)
* MPI_ERR_REQUEST (`MPI_ERR_REQUEST`)
* MPI_ERR_RMA_ATTACH (`MPI_ERR_RMA_ATTACH`)
* MPI_ERR_RMA_CONFLICT (`MPI_ERR_RMA_CONFLICT`)
* MPI_ERR_RMA_FLAVOR (`MPI_ERR_RMA_FLAVOR`)
* MPI_ERR_RMA_RANGE (`MPI_ERR_RMA_RANGE`)
* MPI_ERR_RMA_SHARED (`MPI_ERR_RMA_SHARED`)
* MPI_ERR_RMA_SYNC (`MPI_ERR_RMA_SYNC`)
* MPI_ERR_ROOT (`MPI_ERR_ROOT`)
* MPI_ERR_SERVICE (`MPI_ERR_SERVICE`)
* MPI_ERR_SESSION (`MPI_ERR_SESSION`)
* MPI_ERR_SIZE (`MPI_ERR_SIZE`)
* MPI_ERR_SPAWN (`MPI_ERR_SPAWN`)
* MPI_ERR_TAG (`MPI_ERR_TAG`)
* MPI_ERR_TOPOLOGY (`MPI_ERR_TOPOLOGY`)
* MPI_ERR_TRUNCATE (`MPI_ERR_TRUNCATE`)
* MPI_ERR_TYPE (`MPI_ERR_TYPE`)
* MPI_ERR_UNKNOWN (`MPI_ERR_UNKNOWN`)
* MPI_ERR_UNSUPPORTED_DATAREP (`MPI_ERR_UNSUPPORTED_DATAREP`)
* MPI_ERR_UNSUPPORTED_OPERATION (`MPI_ERR_UNSUPPORTED_OPERATION`)
* MPI_ERR_VALUE_TOO_LARGE (`MPI_ERR_VALUE_TOO_LARGE`)
* MPI_ERR_WIN (`MPI_ERR_WIN`)
* MPI_ERR_LASTCODE (`MPI_ERR_LASTCODE`){{% /markdown
%}}</details></td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | 1-bit signless integer
### `mpi.send` (mpi::SendOp)
_Equivalent to `MPI_Send(ptr, size, dtype, dest, tag, MPI_COMM_WORLD)`_
Syntax:
```
operation ::= `mpi.send` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```
MPI_Send performs a blocking send of `size` elements of type `dtype` to
rank
`dest`. The `tag` value and communicator enables the library to
determine
the matching of multiple sends and receives between the same ranks.
Communicators other than `MPI_COMM_WORLD` are not supprted for now.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
## Attribute definition
### MPI_ErrorClassEnumAttr
MPI error class name
Syntax:
```
#mpi.errclass<
::mlir::mpi::MPI_ErrorClassEnum # value
>
```
Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* ... *all other MPI error codes*
#### Parameters:
| Parameter | C++ type | Description |
| :-------: | :-------: | ----------- |
| value | `::mlir::mpi::MPI_ErrorClassEnum` | an enum of type
MPI_ErrorClassEnum |
## Type definition
### RetvalType
MPI function call return value
Syntax: `!mpi.retval`
This type represents a return value from an MPI function vall.
This value can be MPI_SUCCESS, MPI_ERR_IN_STATUS, or any error code.
This return value can be compared agains the known MPI error classes
represented by `#mpi.errclass` using the `mpi.retval_check` operation.
Commit: 356400049064e1de5579a755a0feb174c0e561ef
https://github.com/llvm/llvm-project/commit/356400049064e1de5579a755a0feb174c0e561ef
Author: David Green <david.green at arm.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/neon-mov.ll
Log Message:
-----------
[AArch64][GlobalISel] FNeg constant materialization (#80643)
This is a Global ISel equivalent of #80641, creating fneg(movi) instead
of the alternative constant pool load or gpr dup.
Commit: e6b52a2fe61d6cbc1ea3496cb826da25de0529ad
https://github.com/llvm/llvm-project/commit/e6b52a2fe61d6cbc1ea3496cb826da25de0529ad
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/src/__support/UInt.h
Log Message:
-----------
[libc][NFC] Cleanup unnecessary template parameters in BigInt (#81871)
Commit: c81929e9a843447fa52d21f7ce2e6788d740f2f4
https://github.com/llvm/llvm-project/commit/c81929e9a843447fa52d21f7ce2e6788d740f2f4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Return std::nullopt explicitly.
Commit: 9c6a2de24b6a9f01efd68546f7ab8c36f71a2352
https://github.com/llvm/llvm-project/commit/9c6a2de24b6a9f01efd68546f7ab8c36f71a2352
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU] Clean up functions for checking inline literals (#81282)
This patch cleans up functions for checking inline literals.
Commit: 54826d4980db5782dac2d7326c29ad60cd017e56
https://github.com/llvm/llvm-project/commit/54826d4980db5782dac2d7326c29ad60cd017e56
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Emit dummy pointers for unknown static locals
We used to emit dummy pointers for unknown declarations in certain
cases in C, but this is also necessary in C++.
I'm limiting this to static local variables for now.
Commit: 6cfbf8ccce8295b5d130c48a76a134da5f6194ae
https://github.com/llvm/llvm-project/commit/6cfbf8ccce8295b5d130c48a76a134da5f6194ae
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/utils/HdrGen/PublicAPICommand.cpp
M libc/utils/HdrGen/PublicAPICommand.h
Log Message:
-----------
[libc] add support for function level attributes (#79891)
See discussion at
https://discourse.llvm.org/t/rfc-support-function-attributes-in-user-interface/76624
Demo macro:
```c++
#if !defined(__LIBC_CONST_ATTR) && defined(__cplusplus) && defined(__GNUC__)
#if __has_attribute(const)
#define __LIBC_CONST_ATTR [[gnu::const]]
#endif
#endif
#if !defined(__LIBC_CONST_ATTR) && defined(__GNUC__)
#if __has_attribute(const)
#define __LIBC_CONST_ATTR __attribute__((const))
#endif
#endif
#if !defined(__LIBC_CONST_ATTR)
#define __LIBC_CONST_ATTR
#endif
```
Commit: d485317357376ba6335fe7116efec8edcebd689c
https://github.com/llvm/llvm-project/commit/d485317357376ba6335fe7116efec8edcebd689c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Emit SIGN_EXTEND_INREG instead of shift pair from optimizeSetCCOfSignedTruncationCheck. (#81785)
sext_inreg is our canonical form of shift pair before op legalization so
DAG combiner will probably create it anyway. If it isn't legal
LegalizeDAG will expand to shifts later.
Commit: 537500995a1396a65c37d575216d81a33bd99656
https://github.com/llvm/llvm-project/commit/537500995a1396a65c37d575216d81a33bd99656
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/include/llvm/Support/CommandLine.h
Log Message:
-----------
[llvm][Support] Add quotes around option name (#81784)
Commit: a1d4c69344f5a2c55043fdc0e43ebf76459eda95
https://github.com/llvm/llvm-project/commit/a1d4c69344f5a2c55043fdc0e43ebf76459eda95
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/src/__support/integer_literals.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/str_to_long_double_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
Revert "[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants" (#81882)
Reverts llvm/llvm-project#81835
This is breaking arm32 which does not support 64 bit types.
Commit: 2eaeae7e9a298b8a4c9a313f914c42f1e0b82c39
https://github.com/llvm/llvm-project/commit/2eaeae7e9a298b8a4c9a313f914c42f1e0b82c39
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/Object/Wasm.h
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/test/tools/llvm-nm/wasm/exports.yaml
M llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
M llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml
Log Message:
-----------
[Object][Wasm] Use offset instead of index for Global address and store size (#81781)
Currently the address reported by binutils for a global is its index;
but its offset (in the file or section) is more useful for binary size
attribution.
This PR treats globals similarly to functions, and tracks their offset
and size. It also centralizes the logic differentiating linked from object
and dylib files (where section addresses are 0).
Commit: f905877f2039e97479425e4d78cbfde72f360b4d
https://github.com/llvm/llvm-project/commit/f905877f2039e97479425e4d78cbfde72f360b4d
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[LLVM][DWARF] Fix for memory leak (#81828)
This is followup to https://github.com/llvm/llvm-project/pull/8120.
Missed a destuctor.
Commit: 8bda8cfae6aa3c32cca7997ab64771e6a78f3e61
https://github.com/llvm/llvm-project/commit/8bda8cfae6aa3c32cca7997ab64771e6a78f3e61
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/test/CXX/drs/dr23xx.cpp
Log Message:
-----------
[clang][NFC] Fix buildbot failure in drs/23xx.cpp
This is a follow-up to 630548a11423a40c5496cec78001374bfb8ff741, which fixed builtbot failure https://lab.llvm.org/buildbot/#/builders/188/builds/41930
Commit: 1fe8e2b6dbf16f60b3c6cc5f81c62be8a0e91e5b
https://github.com/llvm/llvm-project/commit/1fe8e2b6dbf16f60b3c6cc5f81c62be8a0e91e5b
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
R mlir/include/mlir/Dialect/MPI/CMakeLists.txt
R mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
R mlir/include/mlir/Dialect/MPI/IR/MPI.h
R mlir/include/mlir/Dialect/MPI/IR/MPI.td
R mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
R mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
R mlir/lib/Dialect/MPI/CMakeLists.txt
R mlir/lib/Dialect/MPI/IR/CMakeLists.txt
R mlir/lib/Dialect/MPI/IR/MPI.cpp
R mlir/lib/Dialect/MPI/IR/MPIOps.cpp
R mlir/test/Dialect/MPI/ops.mlir
Log Message:
-----------
Revert "[mlir] Initial patch to add an MPI dialect (#68892)" (#81884)
This reverts commit 2d616ec4f040141e103965f98456ba523762735d.
Buildbot failures:
https://lab.llvm.org/buildbot/#/builders/177/builds/29364
Commit: f872706615cb928ec35ea35280536b59a22a2bf2
https://github.com/llvm/llvm-project/commit/f872706615cb928ec35ea35280536b59a22a2bf2
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M compiler-rt/test/profile/instrprof-block-coverage.c
M compiler-rt/test/profile/instrprof-entry-coverage.c
Log Message:
-----------
[InstrProf] Test that entry coverage counts accumulate (#81806)
Commit: 24144d726fefefb0245eb1c2700606002355f4fe
https://github.com/llvm/llvm-project/commit/24144d726fefefb0245eb1c2700606002355f4fe
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/CMakeLists.txt
A clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
[OpenACC][NFC] Implement basic OpenACC Sema infrastructure (#81874)
This patch is split off from #81659, and contains just the Sema
infrastructure that we can later use to implement semantic analysis of
OpenACC constructs.
Commit: 9b514235fc383e1b76b8044da273cc04bf5160a8
https://github.com/llvm/llvm-project/commit/9b514235fc383e1b76b8044da273cc04bf5160a8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
Apply clang-tidy fixes for bugprone-argument-comment in ValueBoundsOpInterface.cpp (NFC)
Commit: de2f5bcd797a22bfa38791ac4e769ec194850560
https://github.com/llvm/llvm-project/commit/de2f5bcd797a22bfa38791ac4e769ec194850560
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in AsmPrinter.cpp (NFC)
Commit: b39958c2e8b9b4e357facabdc303cda4cbf2bc0d
https://github.com/llvm/llvm-project/commit/b39958c2e8b9b4e357facabdc303cda4cbf2bc0d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/IR/BuiltinDialectBytecode.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in BuiltinDialectBytecode.cpp (NFC)
Commit: e8d09a5b44de95f8cc675fce21b06dd45955e05a
https://github.com/llvm/llvm-project/commit/e8d09a5b44de95f8cc675fce21b06dd45955e05a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/IR/Operation.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in Operation.cpp (NFC)
Commit: 6f2414261beddd111a460a6f48666ec6032db6f5
https://github.com/llvm/llvm-project/commit/6f2414261beddd111a460a6f48666ec6032db6f5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/Support/Timing.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-include-order in Timing.cpp (NFC)
Commit: e82659fff2f07b5ea1d94e0d8bcb9c540d6bede1
https://github.com/llvm/llvm-project/commit/e82659fff2f07b5ea1d94e0d8bcb9c540d6bede1
Author: Chris B <chris.bieneman at me.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_basic_types.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
Log Message:
-----------
[HLSL] Expose `half` types and intrinsics always (#81782)
We previously made an implmenetation error when adding `half` overloads
for HLSL library functionalitly. The `half` type is always defined in
HLSL and `half` intrinsics should not be conditionally included.
When native 16-bit types are disabled `half` is a unique 32-bit float
type with lesser promotion rank than `float`.
Fixes #81049
Commit: 267d6b5ed2f0a4b1fcf7ac0138427905e431a3e1
https://github.com/llvm/llvm-project/commit/267d6b5ed2f0a4b1fcf7ac0138427905e431a3e1
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-uzp1.ll
Log Message:
-----------
[AArch64][SVE] Instcombine uzp1/reinterpret svbool to use vector.insert (#81069)
Concatenating two predictes using uzp1 after converting to double length
using sve.convert.to/from.svbool is optimized poorly in the backend,
resulting in additional `and` instructions to zero the lanes. See
https://github.com/llvm/llvm-project/pull/78623/
Combine this pattern to use `llvm.vector.insert` to concatenate and get
rid of convert to/from svbools.
Commit: 08fe7df600aeff45917eb865d103d6c431f42285
https://github.com/llvm/llvm-project/commit/08fe7df600aeff45917eb865d103d6c431f42285
Author: Po-yao Chang <poyaoc97 at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h
M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
Log Message:
-----------
[libc++][format] Don't treat a closing '}' as part of format-spec (#81305)
This allows:
```
std::println("{}>42", std::thread::id{});
std::println("{}>42", std::span<int>{});
std::println("{}>42", std::pair{42, "Hello"sv});
std::println("{:}>42", std::thread::id{});
std::println("{:}>42", std::span<int>{});
std::println("{:}>42", std::pair{42, "Hello"sv});
```
to compile and run.
Commit: 0f1847cb2c5462a09d65a9b5ac24904ac3c15a0f
https://github.com/llvm/llvm-project/commit/0f1847cb2c5462a09d65a9b5ac24904ac3c15a0f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Use RISCVSubtarget::hasStdExtCOrZcd() in HasStdExtCOrZcd tablgen Predicate. NFC
Commit: fc027e10ba3d343b583264776c8f4f8e82ad4560
https://github.com/llvm/llvm-project/commit/fc027e10ba3d343b583264776c8f4f8e82ad4560
Author: LRFLEW <LRFLEW at aol.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
Log Message:
-----------
linear_congruential_engine: Fixes for __lce_alg_picker (#81080)
This fixes two major mistakes in the implementation of
`linear_congruential_engine` that allowed it to produce incorrect
output. Specifically, these mistakes are in `__lce_alg_picker`, which is
used to determine whether Schrage's algorithm is valid and needed.
The first mistake is in the definition of `_OverflowOK`. The code
comment and the description of [D65041](https://reviews.llvm.org/D65041)
both indicate that it's supposed to be true iff `m` is a power of two.
However, the definition used does not work out to that, and instead is
true whenever `m` is even. This could result in
`linear_congruential_engine` using an invalid implementation, as it
would incorrectly assume that any integer overflow can't change the
result. I changed the implementation to one that accurately checks if
`m` is a power of two. Technically, this implementation has an edge case
where it considers `0` to be a power of two, but in this case this is
actually accurate behavior, as `m = 0` indicates a modulus of 2^w where
w is the size of `result_type` in bits, which *is* a power of two.
The second mistake is in the static assert. The original static assert
erroneously included an unnecessary `a != 0 || m != 0`. Combined with
the `|| !_MightOverflow`, this actually resulted in the static assert
being impossible to fail. Applying De Morgan's law and expanding
`_MightOverflow` gives that the only way this static assert can be
triggered is if `a == 0 && m == 0 && a != 0 && m != 0 && ...`, which
clearly cannot be true. I simply removed the explicit checks against `a`
and `m`, as the intended checks are already included in `_MightOverflow`
and `_SchrageOK`, and their inclusion doesn't provide any obvious
semantic benefit.
This should fix all the current instances where
`linear_congruential_engine` uses an invalid implementation. This
technically isn't a complete implementation, though, since the static
assert will cause some instantiations of `linear_congruential_engine`
not disallowed by the standard from compiling. However, this should
still be an improvement, as all compiling instantiations of
`linear_congruential_engine` should use a valid implementation. Fixing
the cases where the static assert triggers will require adding
additional implementations, some of which will be fairly non-trivial, so
I'd rather leave those for another PR so they don't hold up these more
important fixes.
Fixes #33554
Commit: b57ba8ec514190b38eced26d541e8e25af66c485
https://github.com/llvm/llvm-project/commit/b57ba8ec514190b38eced26d541e8e25af66c485
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/condops.ll
Log Message:
-----------
[RISCV] Use APInt in useInversedSetcc to prevent crashes when mask is larger than UINT64_MAX. (#81888)
There are no checks that the type is legal so we need to handle any
type.
Commit: 04381c106f1cb0d3219ddabe231fe900113a9474
https://github.com/llvm/llvm-project/commit/04381c106f1cb0d3219ddabe231fe900113a9474
Author: erman-gurses <99776114+erman-gurses at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
Log Message:
-----------
[MLIR][AMDGPU]Add refactoring for shared-mem optimization (#81791)
Addressing the issues in this PR:
https://github.com/llvm/llvm-project/pull/81550
Commit: 495c57ffedfedc98751f07295b7b6ce95bf3eb9c
https://github.com/llvm/llvm-project/commit/495c57ffedfedc98751f07295b7b6ce95bf3eb9c
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/src/__support/math_extras.h
Log Message:
-----------
[libc] Make add_with_carry and sub_with_borrow constexpr. (#81898)
Commit: f086d80d9a14cd9cd8908347bf34a8dfbcfecde9
https://github.com/llvm/llvm-project/commit/f086d80d9a14cd9cd8908347bf34a8dfbcfecde9
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Run documentation test build on change to the workflow
This makes it so that the documentation test build workflow will run
when the workflow itself is changed. This makes it much easier to test
inside of PRs that modify the workflow.
Commit: efad1885bfbda7f456e0e6e1db660fe55515a4b9
https://github.com/llvm/llvm-project/commit/efad1885bfbda7f456e0e6e1db660fe55515a4b9
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
Fix uncounted-obj-arg.cpp for Windows. (#81903)
Commit: a1155f68f5d5c7013ca1deb312a2e1e4f71ef544
https://github.com/llvm/llvm-project/commit/a1155f68f5d5c7013ca1deb312a2e1e4f71ef544
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[NFC] Clang-format const array declarations
This just updates indentation of constant array declarations to be
style conformant.
Commit: 6a8ab129300bfdf7cc58e023b06e0aada4458205
https://github.com/llvm/llvm-project/commit/6a8ab129300bfdf7cc58e023b06e0aada4458205
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx20.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Properly emit call ops to invalid functions
Just like everywhere else, we can't just abort compilation because
a function is invalid. We need to emit the Call op and let later
interpretation handle the failure.
This fixes a long standing FIXME comment.
Commit: 3e004d1e8bcf07e66ecccd17ac56882fbe9a5c41
https://github.com/llvm/llvm-project/commit/3e004d1e8bcf07e66ecccd17ac56882fbe9a5c41
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Enable warnings as errors on flang sphinx build (#72723)
Now that the number of warnings in the flang sphinx build has come down
significantly, we can turn on warnings as errors in the sphinx build,
which is the default configuration in CMake.
Commit: 4d273b948ef064230091e41cf81f4c1b91d5beb4
https://github.com/llvm/llvm-project/commit/4d273b948ef064230091e41cf81f4c1b91d5beb4
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/test/Dialect/SparseTensor/torch_linalg.mlir
Log Message:
-----------
[mlir][sparse] ensure [dis]assembler wrapper methods properly inline (#81907)
Commit: df81055955d564dccfd43a9faeb2f54c8c998f68
https://github.com/llvm/llvm-project/commit/df81055955d564dccfd43a9faeb2f54c8c998f68
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr18xx.cpp
M clang/test/CXX/drs/dr20xx.cpp
M clang/test/CXX/drs/dr2335.cpp
M clang/test/CXX/drs/dr24xx.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Do less advertising for unresolved issues in `cxx_dr_status.html` (#78836)
This patch places additional requirement on tests for open issues to
specify what do they test, and reduce their advertising on
`cxx_dr_status.html`.
Tests for open issues have to either provide date of the proposed
resolution they test, or a paper number that attempts to resolve the
issue. Examples from this patch: `// dr1223: 17 drafting 2023-05-12`,
`// dr2049: 18 drafting P2308R1`, `// dr2335: no drafting 2018-06`.
Tests for open issues are no longer advertised in `cxx_dr_status.html`
as tests for resolved issues. Instead, they are specified as `Not
Resolved*` (note the asterisk). Such statuses have a tooltip with the
following kind of text:
`Clang 17 implements 2023-05-12 resolution`
`Clang does not implement 2018-06-04 resolution`
`Clang 18 implements P2308R1 resolution`
I admit that the wording is a bit crude, but I tried to minimize amount
of boilerplate in the `make_cxx_dr_status`. Hopefully, this whole setup
matches [C++ compiler
support](https://en.cppreference.com/w/cpp/compiler_support) page on
cppreference enough for people to catch up.
This patch also implement a quality-of-life feature for users of
`make_cxx_dr_status`: now script is able to report multiple bad `// dr`
comments in a single run.
This has also been discussed in a PR for CWG472 test:
https://github.com/llvm/llvm-project/pull/67948
Commit: 65c25a4c40865a0e460c0fecb1b33f7cf7455573
https://github.com/llvm/llvm-project/commit/65c25a4c40865a0e460c0fecb1b33f7cf7455573
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
Log Message:
-----------
[lldb][test] Skip TestDAP_commands.py test due to flakiness
Commit: 82a4a41614f4943e6b2e85bbc8cb8507d2236524
https://github.com/llvm/llvm-project/commit/82a4a41614f4943e6b2e85bbc8cb8507d2236524
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/src/__support/fixed_point/CMakeLists.txt
M libc/src/__support/fixed_point/fx_rep.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/LibcTest.h
Log Message:
-----------
[libc][stdfix] Add support for fixed point types in the testing infrastructure. (#81819)
Commit: b4972341462b4e892b4f24abe3f6970054f28b16
https://github.com/llvm/llvm-project/commit/b4972341462b4e892b4f24abe3f6970054f28b16
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
A llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
Log Message:
-----------
[AMDGPU] Make maximum hard clause size a subtarget feature (#81287)
gfx11 chips may, in some conditions, behave incorrectly with S_CLAUSE
instructions (hard clauses) containing more than 32 operations (that is,
whose arguments exceed 0x1f). However, gfx10 targets will work
successfully with clauses of up to length 63.
Therefore, define the MaxHardClauseLength property on GCNSubtarget and
make it a subtarget feature via tablegen, thus allowing us to specify,
both now and in the future, the maximum viable size of clauses on
various hardware from the tablegen definition. If MaxHardClauseLength is
0, which is the default, the hardware does not support hard clauses.
Commit: db4ea21dfde307f4fc873a6fe56791cd7ae3f0a1
https://github.com/llvm/llvm-project/commit/db4ea21dfde307f4fc873a6fe56791cd7ae3f0a1
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/ParserOpenACC/unimplemented.c
M clang/test/ParserOpenACC/unimplemented.cpp
Log Message:
-----------
[OpenACC] Change 'not implemented' diagnostic to be more specific
Currently we just emit a generic 'not implemented' diagnostic for all
OpenACC pragmas. This patch moves the diagnostic to 'Sema' and diagnoses
for a specific clause or construct, in preperation of implementing Sema
for constructs.
Commit: 235ec0f791749d94ac1ca1441b8b06d4ba09792c
https://github.com/llvm/llvm-project/commit/235ec0f791749d94ac1ca1441b8b06d4ba09792c
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
[mlir][sparse] remove LevelType enum, construct LevelType from LevelF… (#81799)
…ormat and properties instead.
Commit: 55e6c1901576716658b3c1b6ceaf018958331f24
https://github.com/llvm/llvm-project/commit/55e6c1901576716658b3c1b6ceaf018958331f24
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/UInt.h
M libc/src/__support/integer_utils.h
M libc/src/__support/number_pair.h
Log Message:
-----------
[libc][NFC] Annotate LIBC_INLINE and constexpr to BigInt and DyadicFloat methods. (#81912)
Commit: d2c9a19dd8048801ef1d8238948c39ad4fcdcf95
https://github.com/llvm/llvm-project/commit/d2c9a19dd8048801ef1d8238948c39ad4fcdcf95
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Pass BF/BB hashes to BAT
Test Plan: NFC
Reviewers: dcci, rafaelauler, maksfb, ayermolo
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/76906
Commit: 5b51d45f496f10a74dea5a100cf18b33b45493dc
https://github.com/llvm/llvm-project/commit/5b51d45f496f10a74dea5a100cf18b33b45493dc
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/test/CodeGen/X86/code-model-elf-merge-sections.ll
Log Message:
-----------
[X86] Use ".lrodata" prefix for large mergeable constants (#81900)
Otherwise with a small enough large-data-threshold, we can get .rodata.*
sections marked large, making .rodata large in the final binary.
Commit: 834d11c21541c8bf92ef598c1171e8163b69e8c7
https://github.com/llvm/llvm-project/commit/834d11c21541c8bf92ef598c1171e8163b69e8c7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
Log Message:
-----------
Revert "[RISCV][TTI] Extract subvector at index zero is free (#81751)"
This reverts commit 3a626937b1b652e3c87cd0050df9c24cc5127d3b.
Causes tests added by fc0b67e1d79d1f199687f8f06d619984d9520230 to fail.
Commit: edfc859af89e44207bf499b5d702aa26a7357da4
https://github.com/llvm/llvm-project/commit/edfc859af89e44207bf499b5d702aa26a7357da4
Author: David Goldman <dallasftball at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/Rename.h
M clang-tools-extra/clangd/test/rename.test
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
Log Message:
-----------
Add support for renaming objc methods, even those with multiple selector pieces (#76466)
This adds support for renaming Objective-C methods, which are unique since their method names can be split across multiple tokens.
Commit: 5c57fd717d5d6a285efeb8402c6fe0c8f70592f3
https://github.com/llvm/llvm-project/commit/5c57fd717d5d6a285efeb8402c6fe0c8f70592f3
Author: Chris B <chris.bieneman at me.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Overload.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
A clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
A clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/VectorOverloadResolution.hlsl
A clang/test/SemaHLSL/standard_conversion_sequences.hlsl
Log Message:
-----------
[HLSL] Vector standard conversions (#71098)
HLSL supports vector truncation and element conversions as part of
standard conversion sequences. The vector truncation conversion is a C++
second conversion in the conversion sequence. If a vector truncation is
in a conversion sequence an element conversion may occur after it before
the standard C++ third conversion.
Vector element conversions can be boolean conversions, floating point or
integral conversions or promotions.
[HLSL Draft
Specification](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf)
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: e3f88a9e587a6924054def5e26b3c976dcb31453
https://github.com/llvm/llvm-project/commit/e3f88a9e587a6924054def5e26b3c976dcb31453
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU] Rewrite `getVOP3DPPSrcForVT` with `!cond` (#81889)
`!cond` is much more clear than nested `!if`.
Commit: dc3258c617420e83caff63c93d548e0923b10791
https://github.com/llvm/llvm-project/commit/dc3258c617420e83caff63c93d548e0923b10791
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
M mlir/include/mlir/IR/Builders.h
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
A mlir/lib/Dialect/Mesh/Transforms/TransformsDetail.h
M mlir/lib/IR/Builders.cpp
A mlir/test/Dialect/Mesh/all-scatter-op-lowering.mlir
M mlir/test/Dialect/Mesh/canonicalization.mlir
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
A mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
R mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][mesh] Add all-slice operation (#81218)
This op is the inverse of all-gather. It is useful to have an explicit
concise representation instead of having a blob of slicing logic.
Add lowering for the op that slices from the tensor based on the
in-group process index.
Make resharding generate an all-slice instead of inserting the slicing
logic directly.
Commit: 60cb09ba4f0ad6602483b40625a272eeebdcdc45
https://github.com/llvm/llvm-project/commit/60cb09ba4f0ad6602483b40625a272eeebdcdc45
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix crash on unions introduced in ba279934c6ab09d5394a89d8318651aefd8d565b (#81918)
The commit was itself a crash fix, but inadvertently changed the
behavior for unions, which results in crashes.
Commit: 2a9b86cc10c3883cca51a5166aad6e2b755fa958
https://github.com/llvm/llvm-project/commit/2a9b86cc10c3883cca51a5166aad6e2b755fa958
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/test/Transforms/SROA/tbaa-struct3.ll
Log Message:
-----------
[SROA] Extend !tbaa.struct test coverage with multiple missing cases.
Add tests to cover missing cases for
https://github.com/llvm/llvm-project/pull/81289 and
https://github.com/llvm/llvm-project/pull/81313.
Commit: 513448d28e57535d71ea7eeda209db98ad3a1ee1
https://github.com/llvm/llvm-project/commit/513448d28e57535d71ea7eeda209db98ad3a1ee1
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
Revert "[mlir][sparse] remove LevelType enum, construct LevelType from LevelF…" (#81923)
Reverts llvm/llvm-project#81799 ; this broke the mlir gcc7 bot.
Commit: 79213da0313f07bd46882d72ed30973f16947953
https://github.com/llvm/llvm-project/commit/79213da0313f07bd46882d72ed30973f16947953
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
Update release notes for Wasm improvements to nm and objdump (#81924)
Describes improvements made for #76107
Commit: 4bf50e02554460df86903791380fb5ca17a28bdc
https://github.com/llvm/llvm-project/commit/4bf50e02554460df86903791380fb5ca17a28bdc
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
M llvm/test/tools/llvm-dlltool/arm64ec.test
Log Message:
-----------
[llvm-dlltool] Use -N for input native def option to avoid conflict with GNU dlltool --no-delete option. (#81847)
Commit: 69a96ae0e80f0e62c1f25a1c255a3f46ff7dc9e8
https://github.com/llvm/llvm-project/commit/69a96ae0e80f0e62c1f25a1c255a3f46ff7dc9e8
Author: Haopeng Liu <haopliu at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
add initialized attribute LangRef
Commit: 1d03d59aff07d40420a08af13ee74fed9846d7d8
https://github.com/llvm/llvm-project/commit/1d03d59aff07d40420a08af13ee74fed9846d7d8
Author: Haopeng Liu <haopliu at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
Revert "add initialized attribute LangRef"
This reverts commit 69a96ae0e80f0e62c1f25a1c255a3f46ff7dc9e8.
Commit: 761113a18b720d1264d4a9d676577191b0a0e0cc
https://github.com/llvm/llvm-project/commit/761113a18b720d1264d4a9d676577191b0a0e0cc
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/test/Driver/unknown-arg.c
M clang/tools/driver/driver.cpp
Log Message:
-----------
[clang][driver] Add missing integrated tool option in error message, NFC (#81926)
Commit: aaf916456aeb2d748e74ddbcd394de153e19b112
https://github.com/llvm/llvm-project/commit/aaf916456aeb2d748e74ddbcd394de153e19b112
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
Reapply "[mlir][sparse] remove LevelType enum, construct LevelType from LevelFormat and Properties" (#81923) (#81934)
Commit: 340b1ab9dc6322439353d3275fa16d1cf0b4da60
https://github.com/llvm/llvm-project/commit/340b1ab9dc6322439353d3275fa16d1cf0b4da60
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
Log Message:
-----------
[BOLT] Add missing include
Address the comment in
https://github.com/llvm/llvm-project/pull/76906#issuecomment-1947335336
Commit: 2c45bda8029289bbc6b09f349c203059a61609ce
https://github.com/llvm/llvm-project/commit/2c45bda8029289bbc6b09f349c203059a61609ce
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/stdfix.rst
M libc/spec/spec.td
M libc/spec/stdc_ext.td
M libc/src/CMakeLists.txt
M libc/src/__support/fixed_point/CMakeLists.txt
A libc/src/__support/fixed_point/fx_bits.h
A libc/src/stdfix/CMakeLists.txt
A libc/src/stdfix/abshk.cpp
A libc/src/stdfix/abshk.h
A libc/src/stdfix/abshr.cpp
A libc/src/stdfix/abshr.h
A libc/src/stdfix/absk.cpp
A libc/src/stdfix/absk.h
A libc/src/stdfix/abslk.cpp
A libc/src/stdfix/abslk.h
A libc/src/stdfix/abslr.cpp
A libc/src/stdfix/abslr.h
A libc/src/stdfix/absr.cpp
A libc/src/stdfix/absr.h
M libc/test/src/CMakeLists.txt
A libc/test/src/stdfix/AbsTest.h
A libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/abshk_test.cpp
A libc/test/src/stdfix/abshr_test.cpp
A libc/test/src/stdfix/absk_test.cpp
A libc/test/src/stdfix/abslk_test.cpp
A libc/test/src/stdfix/abslr_test.cpp
A libc/test/src/stdfix/absr_test.cpp
Log Message:
-----------
[libc][stdfix] Add abs functions for signed fixed point types. (#81823)
Commit: fbacf70f647e4f0af3904ec0d35d94f4974bd6b5
https://github.com/llvm/llvm-project/commit/fbacf70f647e4f0af3904ec0d35d94f4974bd6b5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_report.cpp
Log Message:
-----------
[NFC][hwasan] Add CHECK_LT(fp, kRecordFPModulus)
Commit: 72e14fb33fa8f0c9b08b328367fb3abd1f7d1a49
https://github.com/llvm/llvm-project/commit/72e14fb33fa8f0c9b08b328367fb3abd1f7d1a49
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_report.cpp
Log Message:
-----------
[NFC][hwasan] Reduce nesting in function
Commit: 327d2f8c6cee019d4f915036f40041b5369b61e5
https://github.com/llvm/llvm-project/commit/327d2f8c6cee019d4f915036f40041b5369b61e5
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/Progress.cpp
Log Message:
-----------
[lldb][progress] Add progress manager class (#81319)
Per discussions from https://github.com/llvm/llvm-project/pull/81026, it
was decided that having a class that manages a map of progress reports
would be beneficial in order to categorize them. This class is a part of
the overall `Progress` class and utilizes a map that keeps a count of
how many times a progress report category has been sent. This would be
used with the new debugger broadcast bit added in
https://github.com/llvm/llvm-project/pull/81169 so that a user listening
with that bit will receive grouped progress reports.
Commit: 692566a8b236827ed9f109d46b21c250522a3751
https://github.com/llvm/llvm-project/commit/692566a8b236827ed9f109d46b21c250522a3751
Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
A llvm/test/CodeGen/AArch64/swifttail-funclet.ll
Log Message:
-----------
Fix an assert failure with a funclet in a swifttailcc function. (#78806)
The failure happens in the livedebugvalues pass.
Commit: dfe1759614a591601609ae0a948a681cd919c0f6
https://github.com/llvm/llvm-project/commit/dfe1759614a591601609ae0a948a681cd919c0f6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/TableGen/CodeGenHelpers.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in CodeGenHelpers.cpp (NFC)
Commit: 1f97219a9099b56c18d2e339db8b4aa7964825fd
https://github.com/llvm/llvm-project/commit/1f97219a9099b56c18d2e339db8b4aa7964825fd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/TableGen/Pattern.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-move-const-arg in Pattern.cpp (NFC)
Commit: 867678dd81031edc36e1acc7a7f7cda01e2e0514
https://github.com/llvm/llvm-project/commit/867678dd81031edc36e1acc7a7f7cda01e2e0514
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in Target.cpp (NFC)
Commit: 332a5049855a3bf3752288c2ba0e0a41f0c4fe39
https://github.com/llvm/llvm-project/commit/332a5049855a3bf3752288c2ba0e0a41f0c4fe39
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-container-size-empty in Target.cpp (NFC)
Commit: eb0c8de1eed7c8198e397c56aa12b30abad42cf5
https://github.com/llvm/llvm-project/commit/eb0c8de1eed7c8198e397c56aa12b30abad42cf5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in SerializeOps.cpp (NFC)
Commit: 3e77871c220e4d4c91956060b15ff28e27b2b764
https://github.com/llvm/llvm-project/commit/3e77871c220e4d4c91956060b15ff28e27b2b764
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
[libc] Tempporarily disable fixed point entry points until #80757 is merged. (#81945)
Commit: d0c2c0ab6d7e52ae52fdf73b843cad607f5a85e6
https://github.com/llvm/llvm-project/commit/d0c2c0ab6d7e52ae52fdf73b843cad607f5a85e6
Author: Michael Jones <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
A libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/UnitTest/CMakeLists.txt
Log Message:
-----------
[libc] Move compile options to new cmake file (#81917)
The cmake test generator needed to be updated to support the same flags
as the source. To simplify the code, I moved it to a new file.
Commit: a057506b7b06f74ce45865d46c4107952f5ab261
https://github.com/llvm/llvm-project/commit/a057506b7b06f74ce45865d46c4107952f5ab261
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
Log Message:
-----------
[docs][NVPTX] Use opaque pointers in IR examples (NFC) (#81941)
Replace outdated typed-pointer notation in LLVM IR examples. NFC.
Commit: feee627974df81e4cbf15537e4c4688aed66b12f
https://github.com/llvm/llvm-project/commit/feee627974df81e4cbf15537e4c4688aed66b12f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
A llvm/test/CodeGen/RISCV/branch-opt.mir
Log Message:
-----------
[RISCV] Make sure ADDI replacement in optimizeCondBranch has a virtual reg destination. (#81938)
If it isn't virtual, we may extend the live range of the physical
register past were it is valid. For example, across a call.
Found while trying to enable -riscv-enable-sink-fold which enables some
copy propagation in machine sink that led to ADDIs with physical
register destinations.
Commit: 088c7ce429197a809f8943e5699a7fd0650fe9f7
https://github.com/llvm/llvm-project/commit/088c7ce429197a809f8943e5699a7fd0650fe9f7
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
Log Message:
-----------
[mlir][sparse] introduce SoA level property on singleton level. (#81942)
Commit: 55b5ac8917b4a1e0ceb79bee4c4c6f7d35b95526
https://github.com/llvm/llvm-project/commit/55b5ac8917b4a1e0ceb79bee4c4c6f7d35b95526
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Remove X0 handling from RISCVInstrInfo::optimizeCondBranch. (#81931)
This was trying to rewrite a branch that uses X0 to a branch that uses a
register produced by LI of 1 or -1. Using X0 is free so there is no
reason to rewrite it. Doing so would just extend the live range of the
LI register increasing register pressure.
In practice this might not have triggered often because we were calling
MRI.hasOneUse on X0. I'm not sure what the returns for a physical
reigster.
Commit: 2549c24142816073b195abc294cfc3a546ecb7a0
https://github.com/llvm/llvm-project/commit/2549c24142816073b195abc294cfc3a546ecb7a0
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
Log Message:
-----------
Reapply "[RISCV][TTI] Extract subvector at index zero is free (#81751)"
This reverts commit 834d11c21541c8bf92ef598c1171e8163b69e8c7 which was
a revert of my 3a626937b1b652e3c87cd0050df9c24cc5127d3b. I had failed
to rebase after new tests added overnight by
fc0b67e1d79d1f199687f8f06d619984d9520230.
Original commit message follows:
Extracing a subvector at index zero corresponds to a type conversion and
possibly a subregister operation. We will not emit a vslidedown. As such,
they are free.
As an aside, it looks like we're not passing an index in for cases where
the subvec type is scalable. For at least index zero, we probably should be.
Revert "Revert "[RISCV][TTI] Extract subvector at index zero is free (#81751)""
Commit: 0065161c720c37e8ab545979aed6a03d944a3176
https://github.com/llvm/llvm-project/commit/0065161c720c37e8ab545979aed6a03d944a3176
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
Log Message:
-----------
Remove assert introduced in #71098
This should effectively preserve the old behavior for non-HLSL code.
Commit: 39e32b451ca1bf6ae06da10682c053c9a5659b9a
https://github.com/llvm/llvm-project/commit/39e32b451ca1bf6ae06da10682c053c9a5659b9a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/test/hwasan/TestCases/stack-uas.c
Log Message:
-----------
[hwasan] Fix stack tag mismatch report (#81939)
Existing code worked only for local, recorder FP, and the faulty address
are the same 1 MiB page.
Now, instead of guessing FP, we guess variable address.
We need to try just two cases of addresses around of faulty one.
Fixes https://github.com/google/sanitizers/issues/1723
Commit: ac452204aade6abfa44324c3f1db4890a63eb941
https://github.com/llvm/llvm-project/commit/ac452204aade6abfa44324c3f1db4890a63eb941
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.h
A llvm/test/MC/ELF/rtti-proxy-arm-got-prel.ll
Log Message:
-----------
[llvm] Support indirect symbol replacement with R_ARM_GOT_PREL (#81916)
R_ARM_GOT_PREL is equivalent to GOTPCREL on other architectures, so we
can use it for indirect symbol replacement the same way. This is the
equivalent of https://github.com/llvm/llvm-project/pull/67754 for x86_64
and https://github.com/llvm/llvm-project/pull/78003 for AArch64 and
64-bit RISC-V.
Commit: cc23574184335df187275ca0e716bf79b93b75f1
https://github.com/llvm/llvm-project/commit/cc23574184335df187275ca0e716bf79b93b75f1
Author: akshaykumars614 <88362922+akshaykumars614 at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/Lexer.cpp
A clang/test/Lexer/raw-string-dlim-invalid.cpp
Log Message:
-----------
bad error message on incorrect string literal #18079 (#81670)
(bad error message on incorrect string literal)
Fixed the error message for incorrect string literal
before:
```
test.cpp:1:19: error: invalid character '
' character in raw string delimiter; use PREFIX( )PREFIX to delimit raw string
char const* a = R"
^
```
now:
```
test.cpp:1:19: error: invalid newline character in raw string delimiter; use PREFIX( )PREFIX to delimit raw string
1 | char const* a = R"
| ^
```
---------
Co-authored-by: Jon Roelofs <jroelofs at gmail.com>
Commit: e606dc1dafead794f92a677fd92b2ea8e5a3fb4f
https://github.com/llvm/llvm-project/commit/e606dc1dafead794f92a677fd92b2ea8e5a3fb4f
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/include/clang/AST/Availability.h
M clang/include/clang/ExtractAPI/API.h
R clang/include/clang/ExtractAPI/AvailabilityInfo.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
A clang/lib/AST/Availability.cpp
M clang/lib/AST/CMakeLists.txt
R clang/lib/ExtractAPI/AvailabilityInfo.cpp
M clang/lib/ExtractAPI/CMakeLists.txt
Log Message:
-----------
[clang] Move `AvailabilityInfo` into AST library (#81897)
Previously this class was only used by ExtractAPI, but it will soon also
be needed by InstallAPI. This patch should not change availability
behavior but just centralizes the information next to what already is
captured about availability for AST traversal.
Commit: e9cec392398ca5c7ce56ba52f9abb90f42a16c24
https://github.com/llvm/llvm-project/commit/e9cec392398ca5c7ce56ba52f9abb90f42a16c24
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
Log Message:
-----------
[clang-tidy] fix incorrect hint for InitListExpr in prefer-member-initializer (#81560)
Commit: 2f516d4b31cd16b720ddabde09676d0c2ded7571
https://github.com/llvm/llvm-project/commit/2f516d4b31cd16b720ddabde09676d0c2ded7571
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 24144d726fef
Commit: 9150858b828511af507ffd6ef4d0813bd49d211f
https://github.com/llvm/llvm-project/commit/9150858b828511af507ffd6ef4d0813bd49d211f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
Log Message:
-----------
[gn build] Port e606dc1dafea
Commit: 3af5c98200e0b1268f755c3f289be4f73aac4214
https://github.com/llvm/llvm-project/commit/3af5c98200e0b1268f755c3f289be4f73aac4214
Author: azhan92 <alisonxzhang at gmail.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/utils/release/test-release.sh
Log Message:
-----------
[Release] Install compiler-rt builtins during Phase 1 on AIX (#81485)
The current test-release.sh script does not install the necessary
compiler-rt builtin's during Phase 1 on AIX, resulting on a
non-functional Phase 1 clang. Futhermore, the installation is also
necessary for Phase 2 on AIX.
Co-authored-by: Alison Zhang <alisonzhang at ibm.com>
Commit: ceaf09cd1a1fb7811e394ab7a5a9da4e513129b0
https://github.com/llvm/llvm-project/commit/ceaf09cd1a1fb7811e394ab7a5a9da4e513129b0
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Detect more trivial functions (#81829)
Allow address-of operator (&), enum constant, and a reference to
constant as well as materializing temporqary expression and an
expression with cleanups to appear within a trivial function.
Commit: 118a2a52fd465b7576c54bd102ee2e417a3b9a71
https://github.com/llvm/llvm-project/commit/118a2a52fd465b7576c54bd102ee2e417a3b9a71
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
Log Message:
-----------
[MLIR][OpenMP] Support `llvm` conversion for `omp.private` regions (#81414)
Introduces conversion of `omp.private`'s regions to the LLVM dialect.
This reuses the already existing conversion pattern for
`ReducetionDeclareOp` and repurposes it to be used for multi-region ops
as well.
Commit: 096c530ab3ea5c96526451181117f30db17b4b1d
https://github.com/llvm/llvm-project/commit/096c530ab3ea5c96526451181117f30db17b4b1d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py
M lldb/test/API/commands/command/script/add/test_commands.py
M lldb/test/API/commands/expression/nested/TestNestedExpressions.py
M lldb/test/API/commands/process/attach/TestProcessAttach.py
M lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
M lldb/test/API/functionalities/executable_first/TestExecutableFirst.py
M lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/functionalities/type_find_first/TestFindFirstType.py
M lldb/test/API/functionalities/vtable/TestVTableValue.py
M lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py
M lldb/test/API/lang/cpp/unique-types4/TestUniqueTypes4.py
M lldb/test/API/lang/objc/charstar_dyntype/TestCharStarDynType.py
M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
M lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
M lldb/test/API/python_api/value/TestValueAPI.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
Log Message:
-----------
[lldb] Fix Python test formatting (NFC)
Commit: 266bbc203da2d0bc880e643560fb48aff4830478
https://github.com/llvm/llvm-project/commit/266bbc203da2d0bc880e643560fb48aff4830478
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M lldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
Log Message:
-----------
[lldb] Re-enable TestStepOverWatchpoint on macOS 14.4 and later
Commit: 67282077ea460cbeec3f837b1a448a1bc958ec10
https://github.com/llvm/llvm-project/commit/67282077ea460cbeec3f837b1a448a1bc958ec10
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_launder
Just forward the pointer.
Copy tests from SemaCXX
Commit: 6abf5e5be2be8834183163f1db33a6cff696f13e
https://github.com/llvm/llvm-project/commit/6abf5e5be2be8834183163f1db33a6cff696f13e
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[MLIR] NFC: Change dyn_cast to isa to prevent warning (#81899)
This is to avoid warnings when invoked from the flang documentation
generation build.
The warning can be seen in the CI
(https://lab.llvm.org/buildbot/#/builders/89/builds/57451).
```
/home/buildbot/as-worker-4/publish-sphinx-docs/llvm-project/mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp:2956:38: warning: unused variable ‘operand’ [-Wunused-variable]
```
Commit: 1807e02b8c280af10628538d69e9511d3df3ed5f
https://github.com/llvm/llvm-project/commit/1807e02b8c280af10628538d69e9511d3df3ed5f
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
A llvm/test/DebugInfo/fixed-point.ll
Log Message:
-----------
[llvm] Fix assertion error where we didn't check fixed point types. (#80757)
This fixes https://github.com/llvm/llvm-project/issues/81555
Commit: a300a1a71119008e6e54299e52824fbca4bf2a75
https://github.com/llvm/llvm-project/commit/a300a1a71119008e6e54299e52824fbca4bf2a75
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
Log Message:
-----------
[RISCV][ISel] Add codegen support for the experimental zabha extension (#80192)
This patch implements the codegen support of zabha (Byte and Halfword
Atomic Memory Operations) v1.0-rc1 extension.
See also https://github.com/riscv/riscv-zabha/blob/v1.0-rc1/zabha.adoc.
---------
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 42b5037cc403c09ebf9b4d65ee41422ded79e054
https://github.com/llvm/llvm-project/commit/42b5037cc403c09ebf9b4d65ee41422ded79e054
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Log Message:
-----------
[clang][analyzer] Simplify code of StreamChecker (NFC). (#79312)
A class is added that contains common functions and data members that are used in many of the "eval" functions. This results in shorter "eval" functions and less code repetition.
Commit: d26a6464f85fc224dc2f3ddb67d404ba82a331fa
https://github.com/llvm/llvm-project/commit/d26a6464f85fc224dc2f3ddb67d404ba82a331fa
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/tbaa.fir
M flang/test/Fir/type-descriptor.fir
M flang/test/Lower/allocatable-polymorphic.f90
Log Message:
-----------
[flang] Do not leave length parameters uninitialized in descriptor addendums (#81858)
Descriptor addendum have a field to hold length parameters (currently
only one). This field is currently never used because flang does not
lowered derived types with length parameters.
However, leaving it uninitialized is causing bugs in code like gFTL
where the code is trying to sort POINTERs (see [1]). More precisely, it
is an issue when two pointers should compare equal (same base address),
because the uninitialized values in the addendum may differ depending on
the "stack history" and optimization level.
Always initialized the length parameters field in the addendum to zero.
[1]:
https://github.com/Goddard-Fortran-Ecosystem/gFTL/blob/dc93a5fc2fe2b487590580d9f0a17d77ca3fe5c1/include/v1/templates/set_impl.inc#L312
The type being transferred to an integer array may look like:
```
TYPE :: localwrapper
TYPE(T), POINTER :: item
END TYPE localwrapper
```
Which in flang case ends-up transferring a descriptor to an integer
array, the code in gFTL later compare the integer arrays. This logic is
used when building set data structures in gFTL.
Commit: 4cf458c696047d6d2991c121da7a5c165ff747ce
https://github.com/llvm/llvm-project/commit/4cf458c696047d6d2991c121da7a5c165ff747ce
Author: Jason Molenda <jason at molenda.com>
Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths:
M lldb/source/Core/CoreProperties.td
Log Message:
-----------
Fix help doc for 'enable-background-lookup' obsolete setting
The setting name that was settled on is symbols.auto-download.
Commit: f2329a38de03e331c97fb5ed36e4286dfc5c2309
https://github.com/llvm/llvm-project/commit/f2329a38de03e331c97fb5ed36e4286dfc5c2309
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU] Reimplement V_READFIRSTLANE_B32 as a normal VOP1 Pseudo. NFCI. (#81877)
Commit: b6c453c13f9dca064ac06b8b2cff80946225aa47
https://github.com/llvm/llvm-project/commit/b6c453c13f9dca064ac06b8b2cff80946225aa47
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_55.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_sum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_min.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_c32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
Log Message:
-----------
[mlir][sparse] Fix memory leaks (part 1) (#81843)
This commit fixes memory leaks in sparse tensor integration tests by
adding `bufferization.dealloc_tensor` ops.
Note: Buffer deallocation will be automated in the future with the
ownership-based buffer deallocation pass, making `dealloc_tensor`
obsolete (only codegen path, not when using the runtime library).
Commit: 8ba915fe1096de290f5e569d6de97a8bcc8652f7
https://github.com/llvm/llvm-project/commit/8ba915fe1096de290f5e569d6de97a8bcc8652f7
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Set DecoderNamespace consistently for GFX10+ MIMG instructions (#81881)
This was done inconsistently before. Many instructions used the default
"AMDGPU" namespace which I would like to remove.
Commit: 92ef40874d58d4fca4b7657c31ab2538e1301f26
https://github.com/llvm/llvm-project/commit/92ef40874d58d4fca4b7657c31ab2538e1301f26
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Delete a redundant newline at the end of a test case
It slipped in from commit fa6025e25b57.
Commit: 3b6e25048f188692c27e7788f4e4453a3963306d
https://github.com/llvm/llvm-project/commit/3b6e25048f188692c27e7788f4e4453a3963306d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
Log Message:
-----------
[TBAA] Only clear TBAAStruct if field can be extracted. (#81285)
Retain TBAAStruct if we fail to match the access to a single field. All
users at the moment use this when using the full size of the original
access. SROA also retains the original TBAAStruct when accessing parts
at offset 0.
Motivation for this and follow-on patches is to improve codegen for
libc++, where using memcpy limits optimizations, like vectorization for
code iteration over std::vector<std::complex<float>>:
https://godbolt.org/z/f3vqYos3c
Depends on https://github.com/llvm/llvm-project/pull/81284
Commit: 8c2033719a843a1880427a5e8caa5563248bce78
https://github.com/llvm/llvm-project/commit/8c2033719a843a1880427a5e8caa5563248bce78
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
Log Message:
-----------
[asan] Intercept __makecontext_v2 on Solaris/SPARC (#81588)
As detailed in [GCC PR
sanitizer/113785](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113785),
the GCC test `c-c++-common/asan/swapcontext-test-1.c` `FAIL`s on
Solaris/sparc.
This is due to the fact that Solaris 10/SPARC changed the semantics of
`makecontext` so `ucontext_t.uc_stack.ss_sp` refers to the stack base
address. To maintain binary compatiblity, the external name was changed
to `__makecontext_v2`, keeping the old version.
To match this, `__makecontext_v2` needs to be intercepted instead of
`makecontext`.
Tested on GCC trunk on `sparc-sun-solaris2.11`, `i386-pc-solaris2.11`,
and `x86_64-pc-linux-gnu`.
Also tested on the same targets on LLVM `main`. However, this only
proves that Linux/x86_64 isn't broken, since all `makecontext` tests are
Linux-specific.
Commit: 3c02cb7492fc78fb678264cebf57ff88e478e14f
https://github.com/llvm/llvm-project/commit/3c02cb7492fc78fb678264cebf57ff88e478e14f
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-objcopy/ELF/binary-output-target.test
M llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Log Message:
-----------
[llvm-objcopy] Add SystemZ support (#81841)
This is also necessary for enabling ClangBuiltLinux:
https://github.com/ClangBuiltLinux/linux/issues/1530
Commit: 2e43ca49d06d4cf78a3fd86e1e41175fde083708
https://github.com/llvm/llvm-project/commit/2e43ca49d06d4cf78a3fd86e1e41175fde083708
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvalEmitter.h
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/EvaluationResult.h
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Check variable initialization in Ret op
Just like we did with the l-to-r conversion, we need to do this
while the data is still alive.
Commit: bf471c915d14035a24ec027fb2bb0373cefdabe1
https://github.com/llvm/llvm-project/commit/bf471c915d14035a24ec027fb2bb0373cefdabe1
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
Log Message:
-----------
[docs][llvm-objcopy] Add missing formats (#81981)
Bring list of supported formats in docs back in sync with the code.
Commit: c681ea6623082324bcf3f7e1966495ce01817c59
https://github.com/llvm/llvm-project/commit/c681ea6623082324bcf3f7e1966495ce01817c59
Author: J. Ryan Stinnett <jryans at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/docs/_themes/llvm-theme/static/llvm-theme.css
Log Message:
-----------
[Docs] Fix large vertical space at top of pages (#81599)
This fixes a large vertical blank space at the top of the page that was caused
by the floating sidebar.
Commit: 0ea64ad88abcbb939547a92000d98efb2b00d95f
https://github.com/llvm/llvm-project/commit/0ea64ad88abcbb939547a92000d98efb2b00d95f
Author: Pierrick Bouvier <pierrick.bouvier at linaro.org>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/intrin.h
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics-underaligned.c
Log Message:
-----------
[COFF][Aarch64] Add _InterlockedAdd64 intrinsic (#81849)
Found when compiling openssl master branch using clang-cl.
This commit introduces usage of InterlockedAdd64:
https://github.com/openssl/openssl/commit/d0e1a0ae701cfaca7f3dd3bf28a3f934a6408813
https://learn.microsoft.com/en-us/cpp/intrinsics/interlockedadd-intrinsic-functions
Commit: 2ed2a3ad90934efac12cbeb01cf73afebc01d963
https://github.com/llvm/llvm-project/commit/2ed2a3ad90934efac12cbeb01cf73afebc01d963
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
Log Message:
-----------
[Transforms][Utils] Add helpers to map between Reduction IntrinsicID and Arithmetic Instruction Opcode and MinMax IntrinsicID / RecurKind
Noticed on #81852
Commit: 181d9602f35c476201ecc72c26c00042ad949544
https://github.com/llvm/llvm-project/commit/181d9602f35c476201ecc72c26c00042ad949544
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
A mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
Log Message:
-----------
[mlir][vectorize] Support affine.apply in SuperVectorize (#77968)
We have no need to vectorize affine.apply inside the vectorizing loop.
However, we still need to generate it in the original scalar form. We
have to replace all its operands with the generated scalar operands in
the vectorizing loop, e.g., induction variables.
Commit: f06e07be9a41978e39fdf22f6174194cf8382047
https://github.com/llvm/llvm-project/commit/f06e07be9a41978e39fdf22f6174194cf8382047
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Check pointer compound assign operators for errors
This needs to be done but we didn't use to do it.
Commit: 7dcca6213258bf2df2dd8a7d555c9a12c1484759
https://github.com/llvm/llvm-project/commit/7dcca6213258bf2df2dd8a7d555c9a12c1484759
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Dialect/ArmSVE/invalid.mlir
M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
M mlir/test/Dialect/ArmSVE/roundtrip.mlir
Log Message:
-----------
[mlir][ArmSVE] Add `arm_sve.zip.x2` and `arm_sve.zip.x4` ops (#81278)
This adds ops for the two and four-way SME 2 multi-vector zips.
See:
-
https://developer.arm.com/documentation/ddi0602/2023-12/SME-Instructions/ZIP--two-registers---Interleave-elements-from-two-vectors-?lang=en
-
https://developer.arm.com/documentation/ddi0602/2023-12/SME-Instructions/ZIP--four-registers---Interleave-elements-from-four-vectors-?lang=en
Commit: a52c0c770056e040390839e753dbbaccbf4d63c4
https://github.com/llvm/llvm-project/commit/a52c0c770056e040390839e753dbbaccbf4d63c4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Lazily visit constant locals in C++
While we _do_ get them registered via visitInitializer(), they
are still local, so gone on the next call to e.g. evaluateAsRValue().
Visit them lazily, similarly like we do in C.
Commit: bfda580b087a4c44e59fb05af0015d2a14c8dada
https://github.com/llvm/llvm-project/commit/bfda580b087a4c44e59fb05af0015d2a14c8dada
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[bazel] Port for 0eedc85baad495fa916d1da7b20db93a29b443e1 and 82a4a41614f4943e6b2e85bbc8cb8507d2236524
Commit: 8c1c94e8c15855ad41cfec83af61a27740e6941f
https://github.com/llvm/llvm-project/commit/8c1c94e8c15855ad41cfec83af61a27740e6941f
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
Log Message:
-----------
[clang-format] Support of TableGen basic format restrictions. (#81611)
- Allow/force to break the line or not.
- Allow/force to insert space or not.
Commit: 2e585c48f3a147d97b1b8d81605fd0d9ab75aa34
https://github.com/llvm/llvm-project/commit/2e585c48f3a147d97b1b8d81605fd0d9ab75aa34
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU] Rewrite `getVregSrcForVT` with `!cond` (#81954)
Commit: c2fea4cf38991669030f4190d17b645cec27a7c0
https://github.com/llvm/llvm-project/commit/c2fea4cf38991669030f4190d17b645cec27a7c0
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseTentative.cpp
A clang/test/SemaCXX/_Alignas.cpp
Log Message:
-----------
[C++] Fix parsing of _Alignas in local declarations (#81915)
We support '_Alignas' from C11 as an extension in C++. However, we were
not correctly parsing its use in local variable declarations. This patch
addresses that issue.
Commit: 624ea349d7fa3535760a21a05c9998c7978228a4
https://github.com/llvm/llvm-project/commit/624ea349d7fa3535760a21a05c9998c7978228a4
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lld/MachO/SyntheticSections.cpp
M lld/test/MachO/data-in-code.s
Log Message:
-----------
[lld/MachO] Fix assert on unsorted data-in-code entries (#81758)
When the data-in-code entries are in separate sections, they are not
guaranteed to be sorted. In particular, 68b1cc36f3df marked some libc++
string functions as noinline, which leads to global ctors involving
strings now producing data-in-code sections in __TEXT,__StaticInit,
which is why this now happens in practice.
Since data-in-code entries are relatively rare and small, just sort
them. No observed performance impact.
See also crbug.com/41487860
Commit: 9e5da05da7357fed26eb814275d5edeaa5561956
https://github.com/llvm/llvm-project/commit/9e5da05da7357fed26eb814275d5edeaa5561956
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Add a missing dependency for __support_fixed_point lib
Commit: 0dacba3ad1b5214ca35eda14987c0b76568a070e
https://github.com/llvm/llvm-project/commit/0dacba3ad1b5214ca35eda14987c0b76568a070e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
Log Message:
-----------
[VPlan] Handle truncating ICMPs in truncateToMinimalBWs.
Update truncateToMinimalBitwidths to handle truncating ICMPs. For ICMPs,
the new target type will be the same as the original type. In that case,
only truncate the operands, but skip the extend. This is in line with
what the original truncateToMinimalBitwidths did for compares.
Fixes https://github.com/llvm/llvm-project/issues/81415.
Commit: 17d8a84c32b7a3ecc3080c33fe2c780f029691a3
https://github.com/llvm/llvm-project/commit/17d8a84c32b7a3ecc3080c33fe2c780f029691a3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp] Fix handling PointerToIntegral casts
We need to always emit the diagnostic, but still do the cast.
This is also what the current interpreter does.
Commit: 53c0e809faacfffce097c7d220836f4f41b3979a
https://github.com/llvm/llvm-project/commit/53c0e809faacfffce097c7d220836f4f41b3979a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/tbaa-struct2.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
Log Message:
-----------
[SROA] Use !tbaa instead of !tbaa.struct if op matches field. (#81289)
If a split memory access introduced by SROA accesses precisely a single
field of the original operation's !tbaa.struct, use the !tbaa tag for
the accessed field directly instead of the full !tbaa.struct.
InstCombine already had a similar logic.
Motivation for this and follow-on patches is to improve codegen for
libc++, where using memcpy limits optimizations, like vectorization for
code iteration over std::vector<std::complex<float>>:
https://godbolt.org/z/f3vqYos3c
Depends on https://github.com/llvm/llvm-project/pull/81285.
Commit: f55b79f59a77b4be586d649e9ced9f8667265011
https://github.com/llvm/llvm-project/commit/f55b79f59a77b4be586d649e9ced9f8667265011
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/test/MachO/arm64-32-stubs.s
M lld/test/MachO/arm64-stubs.s
M lld/test/MachO/dyld-stub-binder.s
M lld/test/MachO/icf-safe.ll
M lld/test/MachO/invalid/chained-fixups-incompatible.s
M lld/test/MachO/objc-selrefs.s
Log Message:
-----------
Revert "[lld] enable fixup chains by default (#79894)"
This caused links to fail with:
lld/MachO/Symbols.cpp:97:
virtual uint64_t lld::macho::Defined::getVA() const:
Assertion `target->usesThunks()' failed.
or crash when asserts are disabled. See comment on
https://github.com/llvm/llvm-project/pull/79894
> Enable chained fixups in lld when all platform and version criteria are
> met. This is an attempt at simplifying the logic used in ld 907:
>
> https://github.com/apple-oss-distributions/ld64/blob/93d74eafc37c0558b4ffb88a8bc15c17bed44a20/src/ld/Options.cpp#L5458-L5549
>
> Some changes were made to simplify the logic:
> - only enable chained fixups for macOS from 13.0 to avoid the arch check
> - only enable chained fixups for iphonesimulator from 16.0 to avoid the
> arch check
> - don't enable chained fixups for not specifically listed platforms
> - don't enable chained fixups for arm64_32
This reverts commit 775c2856fb32868f357a3ce3f2b4139541e12578.
Commit: 2b677fa4b35368442b32c71153f8c9201522c97c
https://github.com/llvm/llvm-project/commit/2b677fa4b35368442b32c71153f8c9201522c97c
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M libc/src/__support/CPP/array.h
M libc/src/__support/UInt.h
Log Message:
-----------
[libc][NFC] Simplify BigInt (#81992)
- Add a single `cmp` function to derive all comparison operators
- Use the `friend` version of the member functions for symmetry
- Add a `is_neg` function to factor sign extraction
- Implement binary op through macro expansion
Commit: 35f3298ead71bbef73ae0321055470ab761a3eb2
https://github.com/llvm/llvm-project/commit/35f3298ead71bbef73ae0321055470ab761a3eb2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/storepairsuppress.ll
M llvm/test/CodeGen/AArch64/storepairsuppress_minsize.ll
Log Message:
-----------
[AArch64] Add extra stp suppression tests.
Add test case for store suppression that still trigger after
https://github.com/llvm/llvm-project/pull/81749
Commit: d228191c8bb80ebf337d282374941c465dabc78d
https://github.com/llvm/llvm-project/commit/d228191c8bb80ebf337d282374941c465dabc78d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/lambda.cpp
Log Message:
-----------
[clang][Interp] Create global variables for TemplateParamObjectDecls
Commit: ff2720d190e0dbd5f157d5d3614d0ab11fe9e7b2
https://github.com/llvm/llvm-project/commit/ff2720d190e0dbd5f157d5d3614d0ab11fe9e7b2
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
Log Message:
-----------
[mlir][mesh] Dedublicate iterator type and partial type information (#81920)
The two types duplicated mostly the same values.
Here they are decomposed to carry orthogonal and complimentary
information.
Use `utils::IteratorType` instead of `mesh::IteratorType`. It now has
only parallel and reduction values.
Rename `Partial` to `ReductionKind`.
Add `getReductionLoopIteratorKinds` method to `ShardingInterface`.
Commit: 10007eef394dedda02ca4f9359f1caec45846e5f
https://github.com/llvm/llvm-project/commit/10007eef394dedda02ca4f9359f1caec45846e5f
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
[libc][stdfix] Re-enable fixed point abs entry points. (#81995)
#80757 has been merged.
Commit: b334664f9f3a098b6f3fd9cfd17b856a9edfe446
https://github.com/llvm/llvm-project/commit/b334664f9f3a098b6f3fd9cfd17b856a9edfe446
Author: Anton Lydike <me at AntonLydike.de>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/MPI/CMakeLists.txt
A mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/MPI/IR/MPI.h
A mlir/include/mlir/Dialect/MPI/IR/MPI.td
A mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
A mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/MPI/CMakeLists.txt
A mlir/lib/Dialect/MPI/IR/CMakeLists.txt
A mlir/lib/Dialect/MPI/IR/MPI.cpp
A mlir/lib/Dialect/MPI/IR/MPIOps.cpp
A mlir/test/Dialect/MPI/ops.mlir
Log Message:
-----------
[mlir] Reland "Initial patch to add an MPI dialect" (#81975)
This patch introduces the new MPI dialect into MLIR. The Message Passing
Interface (MPI) is a widely-used standard for distributed programs to
exchange data. This PR goes together with a talk later at today's LLVM
Dev Meeting.
This is just a first, small patch to get going and add the necessary
base files, so that we can add more operations in further patches.
Here's the documentation as generated by `ninja mlir-doc`:
# 'mpi' Dialect
This dialect models the Message Passing Interface (MPI), version
4.0. It is meant to serve as an interfacing dialect that is targeted
by higher-level dialects. The MPI dialect itself can be lowered to
multiple MPI implementations and hide differences in ABI. The dialect
models the functions of the MPI specification as close to 1:1 as
possible
while preserving SSA value semantics where it makes sense, and uses
`memref` types instead of bare pointers.
This dialect is under active development, and while stability is an
eventual goal, it is not guaranteed at this juncture. Given the early
state, it is recommended to inquire further prior to using this dialect.
For an in-depth documentation of the MPI library interface, please refer
to official documentation such as the
[OpenMPI online documentation](https://www.open-mpi.org/doc/current/).
[TOC]
## Operation definition
### `mpi.comm_rank` (mpi::CommRankOp)
_Get the current rank, equivalent to `MPI_Comm_rank(MPI_COMM_WORLD,
&rank)`_
Syntax:
```
operation ::= `mpi.comm_rank` attr-dict `:` type(results)
```
Communicators other than `MPI_COMM_WORLD` are not supported for now.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
| `rank` | 32-bit signless integer
### `mpi.error_class` (mpi::ErrorClassOp)
_Get the error class from an error code, equivalent to the
`MPI_Error_class` function_
Syntax:
```
operation ::= `mpi.error_class` $val attr-dict `:` type($val)
```
`MPI_Error_class` maps return values from MPI calls to a set of
well-known
MPI error classes.
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value
#### Results:
| Result | Description |
| :----: | ----------- |
| `errclass` | MPI function call return value
### `mpi.finalize` (mpi::FinalizeOp)
_Finalize the MPI library, equivalent to `MPI_Finalize()`_
Syntax:
```
operation ::= `mpi.finalize` attr-dict (`:` type($retval)^)?
```
This function cleans up the MPI state. Afterwards, no MPI methods may
be invoked (excpet for MPI_Get_version, MPI_Initialized, and
MPI_Finalized).
Notably, MPI_Init cannot be called again in the same program.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
### `mpi.init` (mpi::InitOp)
_Initialize the MPI library, equivalent to `MPI_Init(NULL, NULL)`_
Syntax:
```
operation ::= `mpi.init` attr-dict (`:` type($retval)^)?
```
This operation must preceed most MPI calls (except for very few
exceptions,
please consult with the MPI specification on these).
Passing &argc, &argv is not supported currently.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
### `mpi.recv` (mpi::RecvOp)
_Equivalent to `MPI_Recv(ptr, size, dtype, dest, tag, MPI_COMM_WORLD,
MPI_STATUS_IGNORE)`_
Syntax:
```
operation ::= `mpi.recv` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```
MPI_Recv performs a blocking receive of `size` elements of type `dtype`
from rank `dest`. The `tag` value and communicator enables the library
to
determine the matching of multiple sends and receives between the same
ranks.
Communicators other than `MPI_COMM_WORLD` are not supprted for now.
The MPI_Status is set to `MPI_STATUS_IGNORE`, as the status object
is not yet ported to MLIR.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
### `mpi.retval_check` (mpi::RetvalCheckOp)
_Check an MPI return value against an error class_
Syntax:
```
operation ::= `mpi.retval_check` $val `=` $errclass attr-dict `:` type($res)
```
This operation compares MPI status codes to known error class
constants such as `MPI_SUCCESS`, or `MPI_ERR_COMM`.
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>errclass</code></td><td>::mlir::mpi::MPI_ErrorClassEnumAttr</td><td><details><summary>MPI
error class name</summary>{{% markdown %}}Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* MPI_ERR_ARG (`MPI_ERR_ARG`)
* MPI_ERR_ASSERT (`MPI_ERR_ASSERT`)
* MPI_ERR_BAD_FILE (`MPI_ERR_BAD_FILE`)
* MPI_ERR_BASE (`MPI_ERR_BASE`)
* MPI_ERR_BUFFER (`MPI_ERR_BUFFER`)
* MPI_ERR_COMM (`MPI_ERR_COMM`)
* MPI_ERR_CONVERSION (`MPI_ERR_CONVERSION`)
* MPI_ERR_COUNT (`MPI_ERR_COUNT`)
* MPI_ERR_DIMS (`MPI_ERR_DIMS`)
* MPI_ERR_DISP (`MPI_ERR_DISP`)
* MPI_ERR_DUP_DATAREP (`MPI_ERR_DUP_DATAREP`)
* MPI_ERR_ERRHANDLER (`MPI_ERR_ERRHANDLER`)
* MPI_ERR_FILE (`MPI_ERR_FILE`)
* MPI_ERR_FILE_EXISTS (`MPI_ERR_FILE_EXISTS`)
* MPI_ERR_FILE_IN_USE (`MPI_ERR_FILE_IN_USE`)
* MPI_ERR_GROUP (`MPI_ERR_GROUP`)
* MPI_ERR_INFO (`MPI_ERR_INFO`)
* MPI_ERR_INFO_KEY (`MPI_ERR_INFO_KEY`)
* MPI_ERR_INFO_NOKEY (`MPI_ERR_INFO_NOKEY`)
* MPI_ERR_INFO_VALUE (`MPI_ERR_INFO_VALUE`)
* MPI_ERR_IN_STATUS (`MPI_ERR_IN_STATUS`)
* MPI_ERR_INTERN (`MPI_ERR_INTERN`)
* MPI_ERR_IO (`MPI_ERR_IO`)
* MPI_ERR_KEYVAL (`MPI_ERR_KEYVAL`)
* MPI_ERR_LOCKTYPE (`MPI_ERR_LOCKTYPE`)
* MPI_ERR_NAME (`MPI_ERR_NAME`)
* MPI_ERR_NO_MEM (`MPI_ERR_NO_MEM`)
* MPI_ERR_NO_SPACE (`MPI_ERR_NO_SPACE`)
* MPI_ERR_NO_SUCH_FILE (`MPI_ERR_NO_SUCH_FILE`)
* MPI_ERR_NOT_SAME (`MPI_ERR_NOT_SAME`)
* MPI_ERR_OP (`MPI_ERR_OP`)
* MPI_ERR_OTHER (`MPI_ERR_OTHER`)
* MPI_ERR_PENDING (`MPI_ERR_PENDING`)
* MPI_ERR_PORT (`MPI_ERR_PORT`)
* MPI_ERR_PROC_ABORTED (`MPI_ERR_PROC_ABORTED`)
* MPI_ERR_QUOTA (`MPI_ERR_QUOTA`)
* MPI_ERR_RANK (`MPI_ERR_RANK`)
* MPI_ERR_READ_ONLY (`MPI_ERR_READ_ONLY`)
* MPI_ERR_REQUEST (`MPI_ERR_REQUEST`)
* MPI_ERR_RMA_ATTACH (`MPI_ERR_RMA_ATTACH`)
* MPI_ERR_RMA_CONFLICT (`MPI_ERR_RMA_CONFLICT`)
* MPI_ERR_RMA_FLAVOR (`MPI_ERR_RMA_FLAVOR`)
* MPI_ERR_RMA_RANGE (`MPI_ERR_RMA_RANGE`)
* MPI_ERR_RMA_SHARED (`MPI_ERR_RMA_SHARED`)
* MPI_ERR_RMA_SYNC (`MPI_ERR_RMA_SYNC`)
* MPI_ERR_ROOT (`MPI_ERR_ROOT`)
* MPI_ERR_SERVICE (`MPI_ERR_SERVICE`)
* MPI_ERR_SESSION (`MPI_ERR_SESSION`)
* MPI_ERR_SIZE (`MPI_ERR_SIZE`)
* MPI_ERR_SPAWN (`MPI_ERR_SPAWN`)
* MPI_ERR_TAG (`MPI_ERR_TAG`)
* MPI_ERR_TOPOLOGY (`MPI_ERR_TOPOLOGY`)
* MPI_ERR_TRUNCATE (`MPI_ERR_TRUNCATE`)
* MPI_ERR_TYPE (`MPI_ERR_TYPE`)
* MPI_ERR_UNKNOWN (`MPI_ERR_UNKNOWN`)
* MPI_ERR_UNSUPPORTED_DATAREP (`MPI_ERR_UNSUPPORTED_DATAREP`)
* MPI_ERR_UNSUPPORTED_OPERATION (`MPI_ERR_UNSUPPORTED_OPERATION`)
* MPI_ERR_VALUE_TOO_LARGE (`MPI_ERR_VALUE_TOO_LARGE`)
* MPI_ERR_WIN (`MPI_ERR_WIN`)
* MPI_ERR_LASTCODE (`MPI_ERR_LASTCODE`){{% /markdown
%}}</details></td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | 1-bit signless integer
### `mpi.send` (mpi::SendOp)
_Equivalent to `MPI_Send(ptr, size, dtype, dest, tag, MPI_COMM_WORLD)`_
Syntax:
```
operation ::= `mpi.send` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```
MPI_Send performs a blocking send of `size` elements of type `dtype` to
rank
`dest`. The `tag` value and communicator enables the library to
determine
the matching of multiple sends and receives between the same ranks.
Communicators other than `MPI_COMM_WORLD` are not supprted for now.
This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
## Attribute definition
### MPI_ErrorClassEnumAttr
MPI error class name
Syntax:
```
#mpi.errclass<
::mlir::mpi::MPI_ErrorClassEnum # value
>
```
Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* ... *all other MPI error codes*
#### Parameters:
| Parameter | C++ type | Description |
| :-------: | :-------: | ----------- |
| value | `::mlir::mpi::MPI_ErrorClassEnum` | an enum of type
MPI_ErrorClassEnum |
## Type definition
### RetvalType
MPI function call return value
Syntax: `!mpi.retval`
This type represents a return value from an MPI function vall.
This value can be MPI_SUCCESS, MPI_ERR_IN_STATUS, or any error code.
This return value can be compared agains the known MPI error classes
represented by `#mpi.errclass` using the `mpi.retval_check` operation.
Commit: a80a01fc25afc7939f7f03227b586ad4465d4a38
https://github.com/llvm/llvm-project/commit/a80a01fc25afc7939f7f03227b586ad4465d4a38
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M libc/src/__support/UInt.h
M libc/src/__support/integer_literals.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/str_to_long_double_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81998)
- #81835
- Fix for platforms where uint64_t is not available
Commit: db870cfc9ed20e810308262d6d6bbb08b369c23f
https://github.com/llvm/llvm-project/commit/db870cfc9ed20e810308262d6d6bbb08b369c23f
Author: Eikansh Gupta <quic_eikagupt at quicinc.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
Log Message:
-----------
[InstCombine] Extract helper from matchFunnelShift (NFC)
The matchFunnelShift function was doing pattern matching and creating
the fshl/fshr instruction if needed. Moved the pattern matching code to
function convertOrOfShiftsToFunnelShift. It can be reused for other
optimizations.
Commit: 3d81d48398f04119f568206d47a29dd6a96c4a08
https://github.com/llvm/llvm-project/commit/3d81d48398f04119f568206d47a29dd6a96c4a08
Author: Eikansh Gupta <quic_eikagupt at quicinc.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Added additional funnel shift tests (NFC)
Commit: 3363d23bd39970cbd5e32bfca6892ffd97ceb023
https://github.com/llvm/llvm-project/commit/3363d23bd39970cbd5e32bfca6892ffd97ceb023
Author: Eikansh Gupta <quic_eikagupt at quicinc.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Do not simplify lshr/shl arg if it is part of a rotate pattern
fshl/fshr having first two arguments as same gets lowered to target
specific rotate. But based on the uses, one of the arguments can get
simplified resulting in different arguments performing equivalent
operation.
This patch prevents the simplification of the arguments of lshr/shl if
they are part of fshl pattern.
Closes https://github.com/llvm/llvm-project/pull/73441.
Commit: bf93f4b85fd4efbd7a3083935a2ddbbb00f1a35f
https://github.com/llvm/llvm-project/commit/bf93f4b85fd4efbd7a3083935a2ddbbb00f1a35f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
M lldb/test/API/api/multithreaded/TestMultithreaded.py
M lldb/test/API/functionalities/plugins/command_plugin/TestPluginCommands.py
Log Message:
-----------
[lldb] Fix and rename skipIfHostIncompatibleWithRemote
Fix and rename the broken and confusingly named decorator
skipIfHostIncompatibleWithRemote. The decorator is meant to skip test
which uses the inferior test build system (i.e. to build test inferiors)
to build host binaries (e.g. lldb drivers).
The decorator was broken on macOS, where the host and target platform
report macosx, but the decorator overwrote it with Darwin, resulting in
tests incorrectly being skipped.
The decorator was also missing on a handful of tests that use the
buildDriver helper, which this commit fixes as well.
Commit: 17040babf529da3cf20bfb1dd54bd92d1e07def3
https://github.com/llvm/llvm-project/commit/17040babf529da3cf20bfb1dd54bd92d1e07def3
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
Add llvm_v3i32_ty. NFC. (#81928)
Commit: 0b1c25c995cdc3e60fcbb8e0b8ff01adf9061fa6
https://github.com/llvm/llvm-project/commit/0b1c25c995cdc3e60fcbb8e0b8ff01adf9061fa6
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU] Fix Ins64 clamp in the VOPProfile. NFC. (#81925)
For some reason only IntClamp was added to the Ins64, but not FPClamp.
As is this is NFC, but fails to produce proper dag downstream.
Commit: 2f083b364f43fb12b2fdf23935e1f0b6958d0882
https://github.com/llvm/llvm-project/commit/2f083b364f43fb12b2fdf23935e1f0b6958d0882
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/test/CodeGen/AArch64/arm64-stur.ll
M llvm/test/CodeGen/AArch64/merge-store.ll
M llvm/test/CodeGen/AArch64/storepairsuppress.ll
Log Message:
-----------
[AArch64] Fix resource length computation for STP. (#81749)
On some uArchs, `STP [s|d], [s|d]` first combines the 2 input registers
in a single register using a vector execution unit. IIUC
AArch64StorePairSuppress tries to prevent forming STPs in case the
critical resource are the vector units, in order to prevent adding more
pressure on those units.
The implementation however simply computes the new critical resource
length by adding resource for another STP. If load/store units are the
critical resource, this means we increase that length by one, and
incorrectly prevent forming the STP.
This patch adjusts the resource computation by also removing 2 STRs, as
introducing a STP will remove 2 single stores. This should more
accurately reflect the resource usage after introducing an STP, and does
not prevent forming STPs if load/store units are the critical resources;
in those cases, STP can actually help to reduce resource usage.
PR: https://github.com/llvm/llvm-project/pull/81749
Commit: c098f2d1669fb1ec6a5eac81277bd16b334ec956
https://github.com/llvm/llvm-project/commit/c098f2d1669fb1ec6a5eac81277bd16b334ec956
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU] Rewrite `getVOPSrc0ForVT` with `!cond` (#81956)
Commit: dfae16277329011aa5f1e41ecd06b9db75a0c374
https://github.com/llvm/llvm-project/commit/dfae16277329011aa5f1e41ecd06b9db75a0c374
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
Log Message:
-----------
[SLP] Update test naming to avoid FileCheck warnings
This only address the tmp name collision. We still get warnings due to
conflicting ASM. This is due to the different target attributes on the
function.
Commit: 7b7d411de9f731d2bcf6b093f6cee2cf57a5196e
https://github.com/llvm/llvm-project/commit/7b7d411de9f731d2bcf6b093f6cee2cf57a5196e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
Log Message:
-----------
[lldb] Fix `FindDirectNestedType` not working with class templates (#81666)
This patch attempts to fix lookup in class template specialization.
The first fixed problem is that during type lookup `DeclContextGetName`
have been dropping template arguments. So when such a name was compared
against a name in `DW_AT_name`, which contains template arguments, false
mismatches have been occurring.
The second fixed problem is that LLDB's printing policy hasn't been
matching Clang's printing policy when it comes to integral non-type
template arguments. This again caused some false mismatches during type
lookup, because Clang puts e.g. `3U` in debug info for class
specializations, but LLDB has been expecting just `3`. This patch brings
printing policy in line with what Clang does.
Commit: ea226d6693022b707f6acc6e399c12da8261de11
https://github.com/llvm/llvm-project/commit/ea226d6693022b707f6acc6e399c12da8261de11
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/Mips/CMakeLists.txt
M llvm/lib/Target/SystemZ/CMakeLists.txt
M llvm/lib/Target/VE/CMakeLists.txt
Log Message:
-----------
[LoongArch|Mips|SystemZ|VE] Fix shared build. NFC
Commit: 0da0966da4b813386a85cf70ae0d0efc7cb2eaea
https://github.com/llvm/llvm-project/commit/0da0966da4b813386a85cf70ae0d0efc7cb2eaea
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
M lldb/test/API/api/multithreaded/TestMultithreaded.py
Log Message:
-----------
[lldb] Don't overwrite the dynamic loader library path for "driver tests"
We have a handful of tests that build a driver which links against LLDB.
When running those binaries, we overwrite the dynamic loader library
path to point to the build directory's libs dir, presumably to make sure
we load LLDB from there.
This above becomes an issue when you have libc++ enabled and the driver
is linked against the system's libc++, but the dynamic loader flag
forces it to pick up libc++ from the libs dir.
We could try to make the logic for building the driver smarter and have
it pick up the just-built libc++ like we do for our test binaries, but I
don't think we need to overwrite the library path in the first place.
The build logic to build these drivers already takes care to set the
correct RPATH in the linker.
This patch removes the logic and simplifies the tests.
Commit: cb891127974ddba9d2e31fe16220591ff9296bdb
https://github.com/llvm/llvm-project/commit/cb891127974ddba9d2e31fe16220591ff9296bdb
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-wait-clause.c
A clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/parallel-assoc-stmt-inst.cpp
A clang/test/SemaOpenACC/parallel-loc-and-stmt.c
A clang/test/SemaOpenACC/parallel-loc-and-stmt.cpp
A clang/test/SemaOpenACC/unimplemented-construct.c
Log Message:
-----------
[OpenACC] Implement beginning parts of the 'parallel' Sema impl (#81659)
This patch Implements AST node creation and appertainment enforcement
for 'parallel', as well as changes the 'not implemented' messages to be
more specific. It does not deal with clauses/clause legality, nor a few
of the other rules from the standard, but this gets us most of the way
for a framework for future construct implementation.
Commit: 58946ee435dca2071ce8eec1961de29e7378ec03
https://github.com/llvm/llvm-project/commit/58946ee435dca2071ce8eec1961de29e7378ec03
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
A libc/docs/c23.rst
M libc/docs/index.rst
Log Message:
-----------
[libc][docs] start documenting c23 support (#81933)
I've been diffing the c17 vs c23 latest publicly available drafts and think I
have most of the library related differences. I haven't yet annotated what we
actually support or not.
Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf (C17)
Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf (C23)
Commit: eb97599335be0e65de337681ce558818e57e382f
https://github.com/llvm/llvm-project/commit/eb97599335be0e65de337681ce558818e57e382f
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M libc/src/__support/number_pair.h
Log Message:
-----------
[libc][NFC] Add missing constexpr (#82007)
This is a fix forward for the Fuchsia build bot
https://lab.llvm.org/buildbot/#/builders/98/builds/33515
Commit: f01ed3bc8884223bf3edbaad8d3685622444cbf5
https://github.com/llvm/llvm-project/commit/f01ed3bc8884223bf3edbaad8d3685622444cbf5
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/stdfix.rst
M libc/spec/stdc_ext.td
M libc/src/__support/fixed_point/CMakeLists.txt
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/stdfix/CMakeLists.txt
A libc/src/stdfix/roundhk.cpp
A libc/src/stdfix/roundhk.h
A libc/src/stdfix/roundhr.cpp
A libc/src/stdfix/roundhr.h
A libc/src/stdfix/roundk.cpp
A libc/src/stdfix/roundk.h
A libc/src/stdfix/roundlk.cpp
A libc/src/stdfix/roundlk.h
A libc/src/stdfix/roundlr.cpp
A libc/src/stdfix/roundlr.h
A libc/src/stdfix/roundr.cpp
A libc/src/stdfix/roundr.h
A libc/src/stdfix/rounduhk.cpp
A libc/src/stdfix/rounduhk.h
A libc/src/stdfix/rounduhr.cpp
A libc/src/stdfix/rounduhr.h
A libc/src/stdfix/rounduk.cpp
A libc/src/stdfix/rounduk.h
A libc/src/stdfix/roundulk.cpp
A libc/src/stdfix/roundulk.h
A libc/src/stdfix/roundulr.cpp
A libc/src/stdfix/roundulr.h
A libc/src/stdfix/roundur.cpp
A libc/src/stdfix/roundur.h
M libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/RoundTest.h
A libc/test/src/stdfix/roundhk_test.cpp
A libc/test/src/stdfix/roundhr_test.cpp
A libc/test/src/stdfix/roundk_test.cpp
A libc/test/src/stdfix/roundlk_test.cpp
A libc/test/src/stdfix/roundlr_test.cpp
A libc/test/src/stdfix/roundr_test.cpp
A libc/test/src/stdfix/rounduhk_test.cpp
A libc/test/src/stdfix/rounduhr_test.cpp
A libc/test/src/stdfix/rounduk_test.cpp
A libc/test/src/stdfix/roundulk_test.cpp
A libc/test/src/stdfix/roundulr_test.cpp
A libc/test/src/stdfix/roundur_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][stdfix] Add round functions for fixed point types. (#81994)
Commit: 15cccc55919d27eb2e89379a65f6c7809f679fda
https://github.com/llvm/llvm-project/commit/15cccc55919d27eb2e89379a65f6c7809f679fda
Author: Wael Yehia <44115484+w2yehia at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
A compiler-rt/test/profile/AIX/bexpfull-pgo.c
Log Message:
-----------
[AIX] Add a dummy variable in the __llvm_orderfile section (#81968)
to satisfy the __start___llvm_orderfile reference when linking with
-bexpfull and -fprofile-generate on AIX.
Commit: fc38182eab1614e6e6c067ad655935d680e72a41
https://github.com/llvm/llvm-project/commit/fc38182eab1614e6e6c067ad655935d680e72a41
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/test/AST/Interp/lambda.cpp
Log Message:
-----------
[clang][Interp][NFC] Convert test case to verify=expected,ref style
Commit: 7f45acfbfec678ad918640744229f15b9293ac79
https://github.com/llvm/llvm-project/commit/7f45acfbfec678ad918640744229f15b9293ac79
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/PrimType.h
M clang/test/SemaCXX/builtins-overflow.cpp
Log Message:
-----------
[clang][Interp] Implement various overflow and carry builtins
Enough so we can enable SemaCXX/builtin-overflow.cpp.
Commit: 36e73e4edcf31855bf5219a750ce8e6c76a91524
https://github.com/llvm/llvm-project/commit/36e73e4edcf31855bf5219a750ce8e6c76a91524
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
Log Message:
-----------
[LICM][NFCish] Consider all calls in a presplit coroutine unsinkable/unhoistable (#81951)
NFCish since previously we'd return false for all presplit coroutines
anyway. This clarifies things a bit.
Commit: a4ce870859a2d8b5ce8b92732594089e2a81b4fb
https://github.com/llvm/llvm-project/commit/a4ce870859a2d8b5ce8b92732594089e2a81b4fb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
Log Message:
-----------
[clang][Interp][NFC] Add missing comment
Looks like I lost this last time.
Commit: 2d9f3504491156282a3c785a562fcc0ba3c16161
https://github.com/llvm/llvm-project/commit/2d9f3504491156282a3c785a562fcc0ba3c16161
Author: Corbin Robeck <corbin.robeck at amd.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Consolidate SGPRSpill and VGPRSpill into single Spill bit (#81901)
Follow on to #81525 in the series of consolidating bits in TSFlags.
Merge SGPRSpill and VGPRSpill into single Spill bit
Modify isSGPRSpill and isVGPRSpill helper functions to differentiate
VGPR and SGPR spills:
Spill+SALU=SGPR Spill
Spill+VALU=VGPR Spill
The only exception here is SGPR spills to VGPRs which require an
explicit instruction check.
Commit: cc673867d97aeb1151da5f7f0dc59d47eb384b45
https://github.com/llvm/llvm-project/commit/cc673867d97aeb1151da5f7f0dc59d47eb384b45
Author: Fabio D'Urso <fdurso at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/tsd_exclusive.h
M compiler-rt/lib/scudo/standalone/tsd_shared.h
Log Message:
-----------
[scudo] Add ALWAYS_INLINE to ScopedTSD ctor (#81982)
Fix for performance regression introduced by #80061 that slowed
down Fuchsia's MallocFree microbenchmark by 3.5 - 8%
Commit: 0f1f82a92e81f1c4448ff2897d5b93689b6e40f4
https://github.com/llvm/llvm-project/commit/0f1f82a92e81f1c4448ff2897d5b93689b6e40f4
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-node-with-save-values.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-cmps.ll
Log Message:
-----------
[SLP] Regen a couple of tests to reduce future diff
Commit: 831ba9540089350b740c5db61159fe23ab6872d3
https://github.com/llvm/llvm-project/commit/831ba9540089350b740c5db61159fe23ab6872d3
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
Log Message:
-----------
Revert "[lldb] Fix `FindDirectNestedType` not working with class templates (#81666)"
This reverts commit 7b7d411de9f731d2bcf6b093f6cee2cf57a5196e.
Commit: dc85719d5b4dfca528d81892eb3c853581094070
https://github.com/llvm/llvm-project/commit/dc85719d5b4dfca528d81892eb3c853581094070
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/test/Transforms/SROA/tbaa-struct2.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
Log Message:
-----------
[TBAA] Use !tbaa for first accessed field if it is an exact match in offset and size. (#81313)
Motivation for this and follow-on patches is to improve codegen for
libc++, where using memcpy limits optimizations, like vectorization for
code iteration over std::vector<std::complex<float>>:
https://godbolt.org/z/f3vqYos3c
Depends on https://github.com/llvm/llvm-project/pull/81289.
PR: https://github.com/llvm/llvm-project/pull/81313
Commit: 5ff8b30327245eb32a034f4e364a18cf32b0d8a4
https://github.com/llvm/llvm-project/commit/5ff8b30327245eb32a034f4e364a18cf32b0d8a4
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/Inputs/dwarf5-empty-arange-helper.s
A bolt/test/X86/Inputs/dwarf5-empty-arange-main.s
A bolt/test/X86/dwarf5-empty-arange.test
Log Message:
-----------
[BOLT][DWARF] Do not emit zero low_pc address arange (#81955)
According to DWARF spec zero entires indicate end of arange. Changed so
that BOLT does not emit zero low_pc arange.
Commit: 6841395953e64002c836a724e5429358554385a3
https://github.com/llvm/llvm-project/commit/6841395953e64002c836a724e5429358554385a3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
Log Message:
-----------
[PGOForceFunctionAttrs] Don't mark alwaysinline function optnone (#81930)
optnone requires noinline, which is incompatible with alwaysinline.
Commit: 4214f25dccba36472c9666f1395eef894dca1bba
https://github.com/llvm/llvm-project/commit/4214f25dccba36472c9666f1395eef894dca1bba
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
Log Message:
-----------
Re-land "[lldb] Fix `FindDirectNestedType` not working with class templates (#81666)"
This patch attempts to fix lookup in class template specialization.
The first fixed problem is that during type lookup `DeclContextGetName`
have been dropping template arguments. So when such a name was compared
against a name in `DW_AT_name`, which contains template arguments, false
mismatches have been occurring.
The second fixed problem is that LLDB's printing policy hasn't been
matching Clang's printing policy when it comes to integral non-type
template arguments. This again caused some false mismatches during type
lookup, because Clang puts e.g. `3U` in debug info for class
specializations, but LLDB has been expecting just `3`. This patch brings
printing policy in line with what Clang does.
Commit: 97434cb318d170a14914126f33181b759197ba41
https://github.com/llvm/llvm-project/commit/97434cb318d170a14914126f33181b759197ba41
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/Parser.cpp
A clang/test/Parser/c11-keywords.c
Log Message:
-----------
[C11] Diagnose C11 keywords as being incompatible w/earlier standards (#82015)
Our usual pattern when issuing an extension warning is to also issue a
default-off diagnostic about the keywords not being compatible with
standards before a certain point. This adds those diagnostics for C11
keywords.
Commit: 2de269a641e4ffbb7a44e559c4c0a91bb66df823
https://github.com/llvm/llvm-project/commit/2de269a641e4ffbb7a44e559c4c0a91bb66df823
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_settings.cpp
Log Message:
-----------
[OpenMP][AIX] Set worker stack size to 2 x KMP_DEFAULT_STKSIZE if system stack size is too big (#81996)
This patch sets the stack size of worker threads to `2 x
KMP_DEFAULT_STKSIZE` (2 x 4MB) for AIX if the system stack size is too
big. Also defines maximum stack size for 32-bit AIX.
Commit: 46734aa1e5fed0c6a11855280d83c3513b794aaa
https://github.com/llvm/llvm-project/commit/46734aa1e5fed0c6a11855280d83c3513b794aaa
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
A llvm/test/MC/AMDGPU/bf16_imm.s
A llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
Log Message:
-----------
[AMDGPU] Use `bf16` instead of `i16` for bfloat (#80908)
Currently we generally use `i16` to represent `bf16` in those tablegen
files. This patch is trying to use `bf16` directly.
Fix #79369.
Commit: 4265ad12154caa92d47e8ff839ed3f3876922fd6
https://github.com/llvm/llvm-project/commit/4265ad12154caa92d47e8ff839ed3f3876922fd6
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
Log Message:
-----------
[RISCV] Adjust sdloc when creating an extend for widening instructions (#82040)
We were using the SDLoc corresponding to the original arithmetic
instruction, but here using the SDLoc corresponding to the original
extend if we need to introduce a new narrower extend seems cleaner.
As can be seen in the test diffs, this very minorly impacts scheduling
and register allocation by given the scheduler a hint from original
program order.
Commit: 7c3ad9e72bc034ad655a7e16aa73b9864c58768b
https://github.com/llvm/llvm-project/commit/7c3ad9e72bc034ad655a7e16aa73b9864c58768b
Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-inits-ptr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-span.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix fixits for span initialized from const size array (#81927)
Example:
int arr[10];
int * ptr = arr;
If ptr is unsafe and we transform it to std::span then the fixit we'd
currently provide transforms the code to:
std::span<int> ptr{arr, 10};
That's suboptimal as that repeats the size of the array in the code.
The idiomatic transformation should rely on the span constructor
that takes just the array argument and relies on template
parameter autodeduction to set the span size.
The transformed code should look like:
std::span<int> ptr = arr;
Note that it just should not change the initializer at all and that also
works for other forms of initialization like:
int * ptr {arr};
becoming:
std::span<int> ptr{arr};
This patch changes the initializer handling to the desired (empty)
fixit.
Commit: 450462cbaceddf57812ce15b5135b17f65a77654
https://github.com/llvm/llvm-project/commit/450462cbaceddf57812ce15b5135b17f65a77654
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/docs/BytecodeFormat.md
Log Message:
-----------
[MLIR] Document the stability and versioning aspect of the Bytecode (#81969)
See the two RFCs:
https://discourse.llvm.org/t/rfc-mlir-bytecode-a-stable-serialization-format/71062
https://discourse.llvm.org/t/rfc-ir-versioning/5893
Commit: d8278b682386f51dfba204849c624672a3df40c7
https://github.com/llvm/llvm-project/commit/d8278b682386f51dfba204849c624672a3df40c7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M libcxx/include/csetjmp
Log Message:
-----------
[libc++] Only include <setjmp.h> from the C library if it exists (#81887)
In 2cea1babefbb, we removed the <setjmp.h> header provided by libc++. However, we did not conditionally include the underlying <setjmp.h>
header only if the C library provides one, which we otherwise do consistently (see e.g. 647ddc08f43c).
rdar://122978778
Commit: c92dfefd4686034667e6a7f0b012b4df421843e5
https://github.com/llvm/llvm-project/commit/c92dfefd4686034667e6a7f0b012b4df421843e5
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Remove unused function after 7c3ad9e72bc034ad655a7e16aa73b9864c58768b. NFC
Commit: 8d6b451b452f5b0568297b4638530171215716eb
https://github.com/llvm/llvm-project/commit/8d6b451b452f5b0568297b4638530171215716eb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Transforms/Scalar/LoopRotation.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
M polly/lib/Transform/Canonicalization.cpp
Log Message:
-----------
[LegacyPM] Remove legacy LoopRotate pass
Commit: b3050f518cc57e064ab6b3f17fb00534bd5b85d6
https://github.com/llvm/llvm-project/commit/b3050f518cc57e064ab6b3f17fb00534bd5b85d6
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Preprocessor/init.c
Log Message:
-----------
[C23] Add __TYPE_FMTB__ and __TYPE_FMTb__ predefined macros (#82037)
This adds predefined formatting macros in C23 mode for printing unsigned
integers in binary format (e.g, __UINT_FAST64_FMTB__). These are used to
implement the PRIb (et al) macros in inttypes.h
Fixes https://github.com/llvm/llvm-project/issues/81896
Commit: fde4b80cb772897a8cf0b3d022f3041e10b6e816
https://github.com/llvm/llvm-project/commit/fde4b80cb772897a8cf0b3d022f3041e10b6e816
Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-add-assign.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-addressof-arraysubscript.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-inits-ptr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-assign-to-array-subscr-on-ptr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-deref-simple-ptr-arith.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-span-cv-qualifiers.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-span.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-multi-parm-span.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-deref.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pre-increment.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-unevaluated-context.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-multi-decl-fixits-test.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-multi-decl-ptr-init-fixits.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-multi-decl-uuc-fixits.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-fixit.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Minimize fixit range for pointer variables (#81935)
Example:
int * const my_var = my_initializer;
Currently when transforming my_var to std::span the fixits:
- replace "int * const my_var = " with "std::span<int> const my_var {"
- add ", SIZE}" after "my_initializer" where SIZE is either inferred or
a placeholder
This patch makes that behavior less intrusive by not modifying variable
cv-qualifiers and initialization syntax.
The new behavior is:
- replace "int *" with "std::span<int>"
- add "{" before "my_initializer"
- add ", SIZE}" after "my_initializer"
This is an improvement on its own - since we don't touch the identifier,
we automatically can handle macros in them.
It also simplifies future work on initializer fixits.
Commit: 5a2988714509d96d72b64e0c64998deb705d3572
https://github.com/llvm/llvm-project/commit/5a2988714509d96d72b64e0c64998deb705d3572
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/test/X86/linux-orc.s
Log Message:
-----------
[BOLT] Add writing support for Linux kernel ORC (#80950)
Update ORC information based on the new code layout and emit
corresponding ORC sections for the Linux kernel.
We rewrite ORC sections in place, which puts a limit on the size of new
section contents. Since ORC info changes for the new code layout and the
number of ORC entries can become larger, we free up space in the tables
by removing redundant ORC terminators. As a result, we effectively emit
fewer entries and have to add duplicate terminators at the end to match
the original section sizes. Ideally, we need to update ORC boundaries to
reflect the reduced size and optimize runtime lookup, but we will need
relocations for this, and the benefits will be marginal, if any.
Commit: 24f025175d8adc5cafa277777c2361b55610eab3
https://github.com/llvm/llvm-project/commit/24f025175d8adc5cafa277777c2361b55610eab3
Author: Lei Wang <wlei at fb.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
A llvm/test/tools/llvm-profgen/Inputs/filter-ambiguous-profile.prof
A llvm/test/tools/llvm-profgen/filter-ambiguous-profile.test
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.h
Log Message:
-----------
[llvm-profgen] Filter out ambiguous cold profiles during profile generation (#81803)
For the built-in local initialization function(`__cxx_global_var_init`,
`__tls_init` prefix), there could be multiple versions of the functions
in the final binary, e.g. `__cxx_global_var_init`, which is a wrapper of
global variable ctors, the compiler could assign suffixes like
`__cxx_global_var_init.N` for different ctors.
However, in the profile generation, we call `getCanonicalFnName` to
canonicalize the names which strip the suffixes. Therefore, samples from
different functions queries the same profile(only
`__cxx_global_var_init`) and the counts are merged. As the functions are
essentially different, entries of the merged profile are ambiguous. In
sample loading, for each version of this function, the IR from one
version would be attributed towards a merged entries, which is
inaccurate, especially for fuzzy profile matching, it gets multiple
callsites(from different function) but using to match one callsite,
which mislead the matching and report a lot of false positives.
Hence, we want to filter them out from the profile map during the
profile generation time. The profiles are all cold functions, it won't
have perf impact.
Commit: 0e6a48c3e8cc53f9eb5945ec04f8e03f6d2bae37
https://github.com/llvm/llvm-project/commit/0e6a48c3e8cc53f9eb5945ec04f8e03f6d2bae37
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
A llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
A llvm/test/CodeGen/Hexagon/post-inc-vec.mir
A llvm/test/CodeGen/Hexagon/post_inc_store.mir
A llvm/test/CodeGen/Hexagon/postincopt-crash.mir
A llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
A llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
Log Message:
-----------
[Hexagon] Optimize post-increment load and stores in loops. (#82011)
This patch optimizes the post-increment instructions so that we can
packetize them together.
v1 = phi(v0, v3')
v2,v3 = post_load v1, 4
v2',v3'= post_load v3, 4
This can be optimized in two ways
v1 = phi(v0, v3')
v2,v3' = post_load v1, 8
v2' = load v1, 4
Commit: 979c4e9a411a8c5116c859788a738cc1cd9f23f1
https://github.com/llvm/llvm-project/commit/979c4e9a411a8c5116c859788a738cc1cd9f23f1
Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-span.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage][NFC] Reintroduce lost test cases (#82060)
We likely accidentally removed these as part of conflict resolution.
Commit: 5a82daafc1a3f31f2bb76d10ae7e8c02f3d10dd7
https://github.com/llvm/llvm-project/commit/5a82daafc1a3f31f2bb76d10ae7e8c02f3d10dd7
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT][NFC] Remove redundant assertion (#82056)
processLKSections() used to be a member of RewriteInstance. Since now it
is part of the LinuxKernelRewriter, the assertion is no longer needed.
Commit: 35cfaeced4ced393c3738d2ff4509e5090b771a7
https://github.com/llvm/llvm-project/commit/35cfaeced4ced393c3738d2ff4509e5090b771a7
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
Log Message:
-----------
[GlobalIsel] Lower integer constants to constant pool in `LegalizerHelper`. (#81957)
Extend LegalizerHelper's API to lower integer constants to a load from
constant pool. Previously, this lowering existed only for FP constants.
Apply this change to RISCV.
Commit: bfbd0da01dcd9bc6e3d775456f79b0f0d0c521ec
https://github.com/llvm/llvm-project/commit/bfbd0da01dcd9bc6e3d775456f79b0f0d0c521ec
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Preprocessor/init.c
Log Message:
-----------
Revert "[C23] Add __TYPE_FMTB__ and __TYPE_FMTb__ predefined macros" (#82070)
Reverts llvm/llvm-project#82037
Breaks various buildbots:
http://45.33.8.238/linux/131051/step_7.txt
https://lab.llvm.org/buildbot/#/builders/231/builds/20751
others
Commit: 691b12a2dcc12fa43517d23f2a9b6039616eebc8
https://github.com/llvm/llvm-project/commit/691b12a2dcc12fa43517d23f2a9b6039616eebc8
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[compiler-rt] simplifying ::ReExec for freebsd. (#79711)
taking the getauxval route since elf_aux_info is available since FBSD
12.
Commit: 9c4e2fe589bf732b9bd1b3919832fb5056f5611c
https://github.com/llvm/llvm-project/commit/9c4e2fe589bf732b9bd1b3919832fb5056f5611c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 0e6a48c3e8cc
Commit: 3d67cf681a728e4cf0ab9947c0dd07539dda8b74
https://github.com/llvm/llvm-project/commit/3d67cf681a728e4cf0ab9947c0dd07539dda8b74
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
Log Message:
-----------
[JITLink] Always unmap standard segments in InProcessMemoryManager::deallocate (#81943)
Right now InProcessMemoryManager only releases a standard segment (via
sys::Memory::releaseMappedMemory) in `deallocate` when there is a
DeallocAction associated, leaving residual memory pages in the process
until termination.
Despite being a de facto memory leak, it won't cause a major issue if
users only create a single LLJIT instance per process, which is the most
common use cases. It will, however, drain virtual memory pages if we
create thousands of ephemeral LLJIT instances in the same process.
This patch fixes this issue by releasing every standard segments
regardless of the attached DeallocAction.
Commit: 4bb0ca655bb65aae0a1d251ba5053aadff678101
https://github.com/llvm/llvm-project/commit/4bb0ca655bb65aae0a1d251ba5053aadff678101
Author: Alex Langford <alangford at apple.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/include/llvm/Support/Error.h
M llvm/unittests/Support/ErrorTest.cpp
Log Message:
-----------
[Support] Introduce formatv variant of createStringError (#80493)
Many times I have found myself wanting to create a StringError with the
ability to interpolate a StringRef into the error string. This can be
achieved with:
StringRef Foo("...");
auto Err = createStringError(..., "Something went wrong: %s",
Foo.str().c_str());
However, this requires us to construct a temporary std::string (which
may perform a memory allocation if large enough).
I propose a new variant of `createStringError` called
`createStringErrorV` which uses `formatv` under the hood. This allows
the above example to become:
StringRef Foo("...");
auto Err = createStringErrorV(..., "Something went wrong: {0}", Foo);
Commit: ea9ec80b7aa1bd34edd5b544cd41450573f2cbff
https://github.com/llvm/llvm-project/commit/ea9ec80b7aa1bd34edd5b544cd41450573f2cbff
Author: Prabhuk <prabhukr at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Sema/Sema.cpp
R clang/test/CodeGen/aarch64-soft-float-abi.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
R clang/test/Driver/aarch64-soft-float-abi.c
M clang/test/Preprocessor/aarch64-target-features.c
R clang/test/Sema/aarch64-soft-float-abi.c
R llvm/test/CodeGen/AArch64/soft-float-abi.ll
Log Message:
-----------
Revert "[AArch64] Add soft-float ABI (#74460)" (#82032)
This reverts commit 9cc98e336980f00cbafcbed8841344e6ac472bdc.
Issue: https://github.com/ClangBuiltLinux/linux/issues/1997
Commit: aff6cb4957e60931a3c2205a5fe8e6ea59447bbb
https://github.com/llvm/llvm-project/commit/aff6cb4957e60931a3c2205a5fe8e6ea59447bbb
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/fuzz/get_error_info_fuzzer.cpp
M compiler-rt/lib/scudo/standalone/platform.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
Log Message:
-----------
Reland "[scudo] resize stack depot for allocation ring buffer" (#81028)
First commit of the stack is a clean reland, second is the fix.
There was a typo in the `static_assert` that meant we were asserting the
size of the pointer, not the struct.
Also changed `alignas` to be more intuitive, but that is NFC.
Ran builds in Android here: https://r.android.com/2954411
Commit: e7291ff02d7e262ab9452bc7eb058b6d3dc65a40
https://github.com/llvm/llvm-project/commit/e7291ff02d7e262ab9452bc7eb058b6d3dc65a40
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/MC/RISCV/user-csr-names.s
Log Message:
-----------
[RISCV] Recognize CSR name ssp for Zicfilp. (#81974)
The CSR address of `ssp` is 0x011.
Ref:
https://github.com/riscv/riscv-cfi/blob/main/cfi_backward.adoc#shadow-stack-pointer-ssp
Commit: e1164d063558b1e89f20109d83c079caae1825d8
https://github.com/llvm/llvm-project/commit/e1164d063558b1e89f20109d83c079caae1825d8
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/fuzz/get_error_info_fuzzer.cpp
M compiler-rt/lib/scudo/standalone/platform.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
Log Message:
-----------
Revert "Reland "[scudo] resize stack depot for allocation ring buffer"" (#82088)
Reverts llvm/llvm-project#81028
Commit: 820e438e7031832f7ed3d15e63530dc49c959528
https://github.com/llvm/llvm-project/commit/820e438e7031832f7ed3d15e63530dc49c959528
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in MlirOptMain.cpp (NFC)
Commit: 2545cac52e584761a803f689a3f385af9fdeb3a0
https://github.com/llvm/llvm-project/commit/2545cac52e584761a803f689a3f385af9fdeb3a0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-include-order in Parser.cpp (NFC)
Commit: eb3409dc77752253b18224ed11ec738db4fe91a3
https://github.com/llvm/llvm-project/commit/eb3409dc77752253b18224ed11ec738db4fe91a3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/lib/Tools/Plugins/PassPlugin.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in PassPlugin.cpp (NFC)
Commit: 7dad59f0a980b5bb8e76db1755d76aabf2a940fc
https://github.com/llvm/llvm-project/commit/7dad59f0a980b5bb8e76db1755d76aabf2a940fc
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in DialectConversion.cpp (NFC)
Commit: a8fdc93ee11a14aceb5805880da810140c7ca486
https://github.com/llvm/llvm-project/commit/a8fdc93ee11a14aceb5805880da810140c7ca486
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-namespace-comment in OneToNTypeConversion.cpp (NFC)
Commit: db836f6094eafa5e60ca6395c8c195960108142a
https://github.com/llvm/llvm-project/commit/db836f6094eafa5e60ca6395c8c195960108142a
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
Log Message:
-----------
[RISCV] Narrow vector absolute value (#82041)
If we have a abs(sext a) we can legally perform this as a zext (abs a).
(See the same combine in instcombine - note that the IntMinIsPoison flag
doesn't exist in SDAG yet.)
On RVV, this is likely profitable because it may allow us to perform the arithmetic
operations involved in the abs at a narrower LMUL before widening for the user.
We could arguably avoid narrowing below DLEN, but the transform should
at worst move around the extend and create one extra vsetvli toggle if the source
could previously be handled via loads explicit w/EEW.
Commit: 8443ce563bf3500b705ab3507ae586e2a72d31f4
https://github.com/llvm/llvm-project/commit/8443ce563bf3500b705ab3507ae586e2a72d31f4
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_win.cpp
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/memprof/memprof_internal.h
M compiler-rt/lib/memprof/memprof_linux.cpp
M compiler-rt/lib/memprof/memprof_rtl.cpp
Log Message:
-----------
[sanitizer] Lift AsanDoesNotSupportStaticLinkage to sanitizer_common.h. NFC (#80948)
The `_DYNAMIC` reference from `AsanDoesNotSupportStaticLinkage` ensures
that `clang++ -fsanitize=address -static` gets a linker error.
`MemprofDoesNotSupportStaticLinkage` is similar for `-fmemory-profile`.
Move the functions to sanitizer_common.h to be used by more sanitizers
on ELF platforms.
Fuchsia does not use interposition and opts out the check (its
`AsanDoesNotSupportStaticLinkage` is a no-op).
Commit: 80fcecb13c388ff087a27a4b0e7ca3dd8c98eaa4
https://github.com/llvm/llvm-project/commit/80fcecb13c388ff087a27a4b0e7ca3dd8c98eaa4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/test/API/commands/disassemble/basic/TestFrameDisassemble.py
M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/completion/TestExprCompletion.py
M lldb/test/API/commands/expression/fixits/TestFixIts.py
M lldb/test/API/commands/expression/save_jit_objects/TestSaveJITObjects.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/commands/expression/timeout/TestCallWithTimeout.py
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
M lldb/test/API/commands/frame/language/TestGuessLanguage.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/commands/log/basic/TestLogging.py
M lldb/test/API/commands/memory/read/TestMemoryRead.py
M lldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
M lldb/test/API/driver/job_control/TestJobControl.py
M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestAddressBreakpoints.py
M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
M lldb/test/API/functionalities/breakpoint/breakpoint_ids/TestBreakpointIDs.py
M lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
M lldb/test/API/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py
M lldb/test/API/functionalities/breakpoint/source_regexp/TestSourceRegexBreakpoints.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
M lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/TestThreadPlanUserBreakpoint.py
M lldb/test/API/functionalities/data-formatter/format-propagation/TestFormatPropagation.py
M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
M lldb/test/API/functionalities/dynamic_value_child_count/TestDynamicValueChildCount.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/gdb_remote_client/TestGdbClientModuleLoad.py
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
M lldb/test/API/functionalities/gdb_remote_client/TestqOffsets.py
M lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py
M lldb/test/API/functionalities/load_lazy/TestLoadUsingLazyBind.py
M lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
M lldb/test/API/functionalities/process_group/TestChangeProcessGroup.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/signal/TestSendSignal.py
M lldb/test/API/functionalities/source-map/TestTargetSourceMap.py
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/main.cpp
M lldb/test/API/functionalities/thread/main_thread_exit/TestMainThreadExit.py
M lldb/test/API/functionalities/ubsan/basic/TestUbsanBasic.py
M lldb/test/API/functionalities/unwind/noreturn/module-end/TestNoReturnModuleEnd.py
M lldb/test/API/functionalities/value_md5_crash/TestValueMD5Crash.py
M lldb/test/API/functionalities/var_path/TestVarPath.py
M lldb/test/API/functionalities/vtable/TestVTableValue.py
M lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py
M lldb/test/API/lang/c/array_types/TestArrayTypes.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
M lldb/test/API/lang/cpp/incomplete-types/members/TestCppIncompleteTypeMembers.py
M lldb/test/API/lang/cpp/template-specialization-type/TestTemplateSpecializationType.py
M lldb/test/API/lang/cpp/template/TestTemplateArgs.py
M lldb/test/API/lang/objc/global_ptrs/TestGlobalObjects.py
M lldb/test/API/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py
M lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py
M lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py
M lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py
M lldb/test/API/lang/objc/objc-property/TestObjCProperty.py
M lldb/test/API/lang/objc/objc-static-method-stripped/TestObjCStaticMethodStripped.py
M lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/lua_api/TestBreakpointAPI.lua
M lldb/test/API/lua_api/TestComprehensive.lua
M lldb/test/API/lua_api/TestFileHandle.lua
M lldb/test/API/lua_api/TestProcessAPI.lua
M lldb/test/API/lua_api/lua_lldb_test.lua
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/TestBundleWithDotInFilename.py
M lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
M lldb/test/API/macosx/macCatalyst/TestMacCatalyst.py
M lldb/test/API/macosx/macCatalystAppMacOSFramework/TestMacCatalystAppWithMacOSFramework.py
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
M lldb/test/API/macosx/universal/TestUniversal.py
M lldb/test/API/python_api/class_members/TestSBTypeClassMembers.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
M lldb/test/API/python_api/name_lookup/TestNameLookup.py
M lldb/test/API/python_api/objc_type/TestObjCType.py
M lldb/test/API/python_api/sblaunchinfo/TestSBLaunchInfo.py
M lldb/test/API/python_api/sbvalue_persist/TestSBValuePersist.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteHostInfo.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteThreadsInStopReply.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb] Replace assertEquals with assertEqual (NFC) (#82073)
assertEquals is a deprecated alias for assertEqual and has been removed
in Python 3.12. This wasn't an issue previously because we used a
vendored version of the unittest module. Now that we use the built-in
version this gets updated together with the Python version used to run
the test suite.
Commit: 0bf4f82f661817c79bd538c82c99515837cf1cf8
https://github.com/llvm/llvm-project/commit/0bf4f82f661817c79bd538c82c99515837cf1cf8
Author: Wentao Zhang <35722712+whentojump at users.noreply.github.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-cov/mcdc-general-none.test
M llvm/test/tools/llvm-cov/mcdc-general.test
M llvm/tools/llvm-cov/SourceCoverageView.cpp
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
Log Message:
-----------
[llvm-cov][CoverageView] minor fix/improvement to HTML and text coverage output (#80952)
1. add the missing condition for MC/DC in hasSubViews()
2. add style for selected line
3. remove name="Ln" attribute in the link within MC/DC views
4. remove color for \n
Commit: 737bc9f76a14b955bdfeb3811ce6c9156572be9f
https://github.com/llvm/llvm-project/commit/737bc9f76a14b955bdfeb3811ce6c9156572be9f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/functionalities/memory-region/TestMemoryRegion.py
M lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py
M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
M lldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteModuleInfo.py
Log Message:
-----------
[lldb] Replace assertRegexpMatches with assertRegex (NFC) (#82074)
assertRegexpMatches is a deprecated alias for assertRegex and has been
removed in Python 3.12. This wasn't an issue previously because we used
a vendored version of the unittest module. Now that we use the built-in
version this gets updated together with the Python version used to run
the test suite.
Commit: 7106389b25436538f0373484a8ab0428ea681410
https://github.com/llvm/llvm-project/commit/7106389b25436538f0373484a8ab0428ea681410
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/ConvertCall.cpp
A flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Lower kernel launch to fir.cuda_kernel_launch (#81891)
This patch introduces a new `fir.cuda_kernel_launch` operation to
represents the call to CUDA kernels with the chervon notation. The
chevrons values in the parse tree can be scalar integer expr or dim3
derived type. The operation describes the grid/block values explicitly
as i32 values.
It lowers the parse-tree call to this new operation.
Commit: 3da01663313803530a936aee7ecc592534aeb380
https://github.com/llvm/llvm-project/commit/3da01663313803530a936aee7ecc592534aeb380
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/fuzz/get_error_info_fuzzer.cpp
M compiler-rt/lib/scudo/standalone/platform.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
Log Message:
-----------
Reland^2 "[scudo] resize stack depot for allocation ring buffer"
Fix some warnings by matching types.
This reverts commit e1164d063558b1e89f20109d83c079caae1825d8.
Commit: ea16a3bb4ce4010e3e15fddaad03df66f99548c6
https://github.com/llvm/llvm-project/commit/ea16a3bb4ce4010e3e15fddaad03df66f99548c6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Don't sort qualifiers across preprocessor directives (#81958)
Fixes #80579.
Commit: 133b6a088eb9739e30b4f5f09b97713502b5d66e
https://github.com/llvm/llvm-project/commit/133b6a088eb9739e30b4f5f09b97713502b5d66e
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
Log Message:
-----------
[NFC] fix type mismatch in test.
Commit: b366643ca3d780931afed6bff7148a4822e51119
https://github.com/llvm/llvm-project/commit/b366643ca3d780931afed6bff7148a4822e51119
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-16 (Fri, 16 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
Log Message:
-----------
[NFC] fix typo
Commit: 75adb1226905693ac57e563f675e282e78ac491e
https://github.com/llvm/llvm-project/commit/75adb1226905693ac57e563f675e282e78ac491e
Author: Piotr Zegar <piotr.zegar at nokia.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/non-zero-enum-to-bool-conversion.cpp
Log Message:
-----------
[clang-tidy] Fix handling of parentheses in bugprone-non-zero-enum-to-bool-conversion (#81890)
Properly ignore parentheses in bitwise operators.
Closes #81515
Commit: 44436a9c6b8d92500f0d94bb2e0df9029d735de6
https://github.com/llvm/llvm-project/commit/44436a9c6b8d92500f0d94bb2e0df9029d735de6
Author: Tomás Longeri <tlongeri at google.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update Bazel build after b334664 (#82091)
Commit: 9478bf0ce625a5845139b0c9e3bb41ef88d2f005
https://github.com/llvm/llvm-project/commit/9478bf0ce625a5845139b0c9e3bb41ef88d2f005
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/IR/BuiltinTypes.cpp
Log Message:
-----------
[mlir] Introduce `trailingNDimsContiguous` for MemRefs (#78247)
Extracts logic from `vector::isContiguousSlice` to check whether
the trailing dim of a memref are contiguous into a dedicated hook
in BuiitinTypes.{h|cpp}.
Follow-up for https://github.com/llvm/llvm-project/pull/76848.
Commit: f847c72be02e5b41e8139bf16de02dfd79476a52
https://github.com/llvm/llvm-project/commit/f847c72be02e5b41e8139bf16de02dfd79476a52
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Use HasClamp instead of HasIntClamp in VOP3_Pseudo. NFC. (#82020)
There is no real reason to differentiate.
Commit: 47c65cf62d06add9f55a77c9d45390fa3b986fc5
https://github.com/llvm/llvm-project/commit/47c65cf62d06add9f55a77c9d45390fa3b986fc5
Author: David Green <david.green at arm.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
A llvm/test/CodeGen/AArch64/win64-fpowi.ll
Log Message:
-----------
[AArch64][GlobalISel] Fail legalization for unknown libcalls. (#81873)
If, like powi on windows, the libcall is unavailable we should fall back
to SDAG. Currently we try and generate a call to "".
Commit: ccc20b4e5633de2ba6c0aca68f31598c8875e105
https://github.com/llvm/llvm-project/commit/ccc20b4e5633de2ba6c0aca68f31598c8875e105
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_binary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nchw_fchw.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dilated_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_strided_conv_2d_nhwc_hwcf.mlir
Log Message:
-----------
[mlir][sparse] Fix memory leaks (part 2) (#81979)
This commit fixes memory leaks in sparse tensor integration tests by
adding `bufferization.dealloc_tensor` ops.
Note: Buffer deallocation will be automated in the future with the
ownership-based buffer deallocation pass, making `dealloc_tensor`
obsolete (only codegen path, not when using the runtime library).
Commit: 3a77522387ccff149c3a59eaf86ca4b574061134
https://github.com/llvm/llvm-project/commit/3a77522387ccff149c3a59eaf86ca4b574061134
Author: David Green <david.green at arm.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcopysign.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/fcopysign.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve and expand fcopysign lowering (#71283)
This alters the lowering of G_COPYSIGN to support vector types. The
general idea is that we just lower it to vector operations using and/or
and a mask, which are now converted to a BIF/BIT/BSP.
In the process the existing AArch64LegalizerInfo::legalizeFCopySign can
be removed, replying on expanding the scalar versions to vector instead,
which just needs a small adjustment to allow widening scalars to
vectors.
Commit: ca260e1b119b043195158098a9afda3967c6854b
https://github.com/llvm/llvm-project/commit/ca260e1b119b043195158098a9afda3967c6854b
Author: Frederic Cambus <fred at statdns.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M README.md
Log Message:
-----------
[docs] README: Switch link to clang.llvm.org to use HTTPS.
Commit: ded3ca224f7c2b1df769d625985ab20bb60dfba4
https://github.com/llvm/llvm-project/commit/ded3ca224f7c2b1df769d625985ab20bb60dfba4
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
Log Message:
-----------
[AMDGPU] Set predicates more consistently for BUF instructions (#81865)
Set DecoderNamespace and AssemblerPredicate in the base class for Real
instructions for each subtarget. This avoids some ad hoc "let" around
groups of instructions definitions, and fixes some missed cases like
BUFFER_GL0_INV_gfx10 which was missing DecoderNamespace.
Commit: d332d88b919faa15564ab70b0633d94f21bc3e3c
https://github.com/llvm/llvm-project/commit/d332d88b919faa15564ab70b0633d94f21bc3e3c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__chrono/time_zone.h
A libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/chrono
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap.in
M libcxx/modules/std/chrono.inc
M libcxx/src/CMakeLists.txt
A libcxx/src/include/tzdb/time_zone_link_private.h
A libcxx/src/include/tzdb/time_zone_private.h
A libcxx/src/include/tzdb/types_private.h
A libcxx/src/include/tzdb/tzdb_list_private.h
A libcxx/src/include/tzdb/tzdb_private.h
A libcxx/src/time_zone.cpp
R libcxx/src/tz.cpp
A libcxx/src/tzdb.cpp
M libcxx/src/tzdb_list.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/links.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.link/types.compile.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/types.compile.pass.cpp
Log Message:
-----------
[libc++][chrono] Loads tzdata.zi in tzdb. (#74928)
This implements the loading of the tzdata.zi file and store its contents
in the tzdb struct.
This adds all required members except:
- the leap seconds,
- the locate_zone, and
- current_zone.
The class time_zone is incomplete and only contains the parts needed for
storing the parsed data.
The class time_zone_link is fully implemented including its non-member
functions.
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
- P1614 The Mothership has Landed
Implements:
- P1982 Rename link to time_zone_link
Commit: 20177c45dba99d0ea824142ffb874101435a4514
https://github.com/llvm/llvm-project/commit/20177c45dba99d0ea824142ffb874101435a4514
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Turn private members of VPlanTransforms to static funcs (NFC)
Private members of VPlanTransforms are only used inside
VPlanTransforms.cpp, just make them static.
Commit: 8cd5e672602676877b9025a750b20f895ca0bc25
https://github.com/llvm/llvm-project/commit/8cd5e672602676877b9025a750b20f895ca0bc25
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M libcxx/test/support/test_format_context.h
M libcxx/test/support/test_format_string.h
Log Message:
-----------
[NFC][libc++] Requests PR at GitHub instead of Phabricator.
Commit: a5865c3c3dbbd17ae12ecc1c297fe1fc2605df52
https://github.com/llvm/llvm-project/commit/a5865c3c3dbbd17ae12ecc1c297fe1fc2605df52
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-fpext.ll
A llvm/test/Transforms/InstCombine/pr80941.ll
Log Message:
-----------
[ValueTracking] Fix computeKnownFPClass for fpext (#81972)
This patch adds the missing `subnormal -> normal` part for `fpext` in
`computeKnownFPClass`.
Fixes the miscompilation reported by
https://github.com/llvm/llvm-project/pull/80941#issuecomment-1947302100.
Commit: 97eff26d0ca4d187a5efb8534af484dbb68bce30
https://github.com/llvm/llvm-project/commit/97eff26d0ca4d187a5efb8534af484dbb68bce30
Author: Frederic Cambus <fred at statdns.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
[Support/ELF] Add OpenBSD PT_OPENBSD_SYSCALLS constant.
Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h
Commit: 715567d03771c437e26b16fbc71c30c4474b8895
https://github.com/llvm/llvm-project/commit/715567d03771c437e26b16fbc71c30c4474b8895
Author: rilysh <nightquick at proton.me>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M libcxx/include/__numeric/midpoint.h
Log Message:
-----------
[libc++] simplify the midpoint function (#81717)
Right now we've a nested ternary for the midpoint function, but this can
be simplified a bit more, using if statements. This also slightly
increases the readability of that function.
Commit: 35ee6de966c36d095646b9b21fdd12eb45bdc9bf
https://github.com/llvm/llvm-project/commit/35ee6de966c36d095646b9b21fdd12eb45bdc9bf
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Simplify addCanonicalIVRecipes by using VPBuilder (NFC).
Use VPBuilder to construct VPInstructions, which means there's no need
to manually inserting recipes.
Commit: 5023fd09b43e9b7eee390a8552db7ebce6e2b15c
https://github.com/llvm/llvm-project/commit/5023fd09b43e9b7eee390a8552db7ebce6e2b15c
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[NFC] Trim trailing whitespace
Commit: 80747616b9ae5f1156954b87ba7502398573825a
https://github.com/llvm/llvm-project/commit/80747616b9ae5f1156954b87ba7502398573825a
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MisExpect.h
Log Message:
-----------
[llvm][misexpect][NFC] Fix typos in comments (#82124)
Commit: d5167c84f9eddf6a37c667d4673bf694dfd8be37
https://github.com/llvm/llvm-project/commit/d5167c84f9eddf6a37c667d4673bf694dfd8be37
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/RISCV/load-setcc-combine.ll
Log Message:
-----------
[DAGCombiner] Allow tryToFoldExtOfLoad to use a sextload for zext nneg. (#81714)
If the load is used by any signed setccs, we can use a sextload
instead of zextload. Then we don't have to give up on extending
the load.
Commit: 27f2908fbc8092f3567385a63676d623523b318b
https://github.com/llvm/llvm-project/commit/27f2908fbc8092f3567385a63676d623523b318b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Log Message:
-----------
[lldb] Use PyBytes and PyByteArray in Python Data Objects unittest (#82098)
Use a Python Bytes and ByteArray object instead of Integers for
TestOwnedReferences and TestBorrowedReferences. These two tests were
failing when building against Python 3.12 because these Integer objects
had a refcount of 4294967296 (-1). I didn't dig into it, but I suspect
the Python runtime has adopted an optimization to decrease refcounting
traffic for these simple objects.
Commit: 21ddd7ff2b166c5e133b460b1a09ee8adb786ccd
https://github.com/llvm/llvm-project/commit/21ddd7ff2b166c5e133b460b1a09ee8adb786ccd
Author: Wanyi <kusmour at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M lldb/bindings/interface/SBStatisticsOptionsDocstrings.i
M lldb/include/lldb/API/SBStatisticsOptions.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Target/Statistics.h
M lldb/source/API/SBStatisticsOptions.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/Options.td
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Target/Statistics.cpp
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
A lldb/test/API/functionalities/stats_api/main.dwo.yaml
A lldb/test/API/functionalities/stats_api/main.o.yaml
Log Message:
-----------
Report only loaded debug info in statistics dump (#81706)
Currently running `statistics dump` will trigger lldb to load debug info
that's not yet loaded (eg. dwo files). Resulted in a delay in the
command return, which, can be interrupting.
This patch also added a new option `--load-all-debug-info` asking
statistics to dump all possible debug info, which will force loading all
debug info available if not yet loaded.
Commit: 164055f897c049543bd3e15548f891f823dc18b4
https://github.com/llvm/llvm-project/commit/164055f897c049543bd3e15548f891f823dc18b4
Author: Alex Langford <alangford at apple.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/include/llvm/Support/Error.h
M llvm/unittests/Support/ErrorTest.cpp
Log Message:
-----------
Revert "[Support] Introduce formatv variant of createStringError" (#82126)
Reverts llvm/llvm-project#80493
This increased clang compile times by 0.5%. I'll figure out a less
expensive way to achieve this.
Commit: 11705afc19383dedfb06c3b708d6fe8c0729b807
https://github.com/llvm/llvm-project/commit/11705afc19383dedfb06c3b708d6fe8c0729b807
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/StageSparseOperations.cpp
M mlir/test/Dialect/SparseTensor/convert_dense2sparse.mlir
Log Message:
-----------
[mlir][sparse] deallocate tmp coo buffer generated during stage-spars… (#82017)
…e-ops pass.
Commit: f81f7a57664bd7dccd5e179ed01155efbc8ff481
https://github.com/llvm/llvm-project/commit/f81f7a57664bd7dccd5e179ed01155efbc8ff481
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF] Remove redundant code (#82118)
Removed some redundant code. Should be NFC change.
Commit: 80c25daca8f8282ceabd2a5bb567203e0dcf8374
https://github.com/llvm/llvm-project/commit/80c25daca8f8282ceabd2a5bb567203e0dcf8374
Author: Lang Hames <lhames at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[TargetParser] Expose Triple::getArchPointerBitWidth. (#82086)
The getArchPointerBitWidth method provides direct access to the pointer
size for arithmetic or switch statements, instead of requiring clients
to use the isArch16Bit / isArch32Bit / isArch64Bit predicates.
Commit: 3bef17eac607f3501e684088158d3265f4893807
https://github.com/llvm/llvm-project/commit/3bef17eac607f3501e684088158d3265f4893807
Author: Artem Tyurin <artem.tyurin at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/lib/Transforms/ViewOpGraph.cpp
A mlir/test/Transforms/print-op-graph-back-edges.mlir
A mlir/test/Transforms/print-op-graph-cycles.mlir
Log Message:
-----------
[mlir] Handle cycles and back edges in --view-op-graph (#82002)
Fixes #62128.
Commit: a90a09fa2e05c8841d145605e8d99020592dd809
https://github.com/llvm/llvm-project/commit/a90a09fa2e05c8841d145605e8d99020592dd809
Author: mlevesquedion <mlevesquedion at google.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/Interfaces.md
M mlir/docs/LangRef.md
M mlir/docs/PassManagement.md
M mlir/docs/SymbolsAndSymbolTables.md
M mlir/docs/Tutorials/Toy/Ch-2.md
Log Message:
-----------
[mlir][docs] Fix broken links to traits documentation (#82131)
It seems the `Traits.md` file was turned into `Traits/_index.md` in
https://reviews.llvm.org/D153291, causing links to `Traits.md` to no
longer work (instead, `Traits` needs to be used).
Commit: d1cafe2d801b95230ad01d208cab1442cdd71ff3
https://github.com/llvm/llvm-project/commit/d1cafe2d801b95230ad01d208cab1442cdd71ff3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in RegionUtils.cpp (NFC)
Commit: b748f153061b74b858de687a8715a854f0800540
https://github.com/llvm/llvm-project/commit/b748f153061b74b858de687a8715a854f0800540
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/test/lib/Dialect/Affine/TestDecomposeAffineOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-use-equals-default in TestDecomposeAffineOps.cpp (NFC)
Commit: 9e0e1ca17e9ddd3e3aba1b83fd4c1ac59b41ff79
https://github.com/llvm/llvm-project/commit/9e0e1ca17e9ddd3e3aba1b83fd4c1ac59b41ff79
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in TestReifyValueBounds.cpp (NFC)
Commit: fca72306757aa03d0a25608f307667e6e769b69c
https://github.com/llvm/llvm-project/commit/fca72306757aa03d0a25608f307667e6e769b69c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/test/lib/Dialect/Linalg/TestLinalgDropUnitDims.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-use-equals-default in TestLinalgDropUnitDims.cpp (NFC)
Commit: a6df3472feeb618513877ec136db38f4746142fb
https://github.com/llvm/llvm-project/commit/a6df3472feeb618513877ec136db38f4746142fb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-namespace-comment in TestDialectInterfaces.cpp (NFC)
Commit: fbce244299524fc3d736cce9d25b4262303b45d5
https://github.com/llvm/llvm-project/commit/fbce244299524fc3d736cce9d25b4262303b45d5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Call Import_AppendInittab before Py_Initialize (#82095)
The Python documentation [1] says that `PyImport_AppendInittab` should
be called before `Py_Initialize()`. Starting with Python 3.12, this is
enforced with a fatal error:
Fatal Python error: PyImport_AppendInittab: PyImport_AppendInittab()
may not be called after Py_Initialize()
This commit ensures we only modify the table of built-in modules if
Python hasn't been initialized. For Python embedded in LLDB, that means
this happen exactly once, before the first call to `Py_Initialize`,
which becomes a NO-OP after. However, when lldb is imported in an
existing Python interpreter, Python will have already been initialized,
but by definition, the lldb module will already have been loaded, so
it's safe to skip adding it (again).
This fixes #70453.
[1] https://docs.python.org/3.12/c-api/import.html#c.PyImport_AppendInittab
Commit: db8b76dbb07d4053a4e44baf1518c9ea0d84c844
https://github.com/llvm/llvm-project/commit/db8b76dbb07d4053a4e44baf1518c9ea0d84c844
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[NFC][llvm-exegesis] Clean up BenchmarkRunner comments
There were a couple things in the comments of BenchmarkRunner.cpp (and
maybe other files, I can't really remember) that were bugging me. This
patch fixes a couple of minor issues specifically in BenchmarkRunner
like typos and makes a couple instances more clear.
Commit: 4206d06130834cb79b641221261c4b5d7a174320
https://github.com/llvm/llvm-project/commit/4206d06130834cb79b641221261c4b5d7a174320
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port d332d88b919f (tzdb.cpp)
Commit: 5c96e71d0d49dd55711ccdb57a22d033fe7a8fae
https://github.com/llvm/llvm-project/commit/5c96e71d0d49dd55711ccdb57a22d033fe7a8fae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Don't rely on ScriptInterpreterPythonImpl::Initialize in the unit tests (#82096)
The unit tests only test the Python objects and don't actually use
anything from the LLDB module. That means that all the additional
complexity in ScriptInterpreterPythonImpl::Initialize is overkill.
By doing the initialization by hand, we avoid the annoying
ModuleNotFoundError.
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'lldb'
The error is the result of us stubbing out the SWIG (specifically
`PyInit__lldb`) because we cannot link against libLLDB from the unit
tests.
The downside of doing the initialization manually is that we do lose a
bit of test coverage. For example, issue #70453 also manifested itself
in the unit tests.
Commit: 339baae3e223693a98f0f25e06147e4e6dde1254
https://github.com/llvm/llvm-project/commit/339baae3e223693a98f0f25e06147e4e6dde1254
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M lldb/bindings/interface/SBStatisticsOptionsDocstrings.i
M lldb/include/lldb/API/SBStatisticsOptions.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Target/Statistics.h
M lldb/source/API/SBStatisticsOptions.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/Options.td
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Target/Statistics.cpp
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
R lldb/test/API/functionalities/stats_api/main.dwo.yaml
R lldb/test/API/functionalities/stats_api/main.o.yaml
Log Message:
-----------
Revert "Report only loaded debug info in statistics dump (#81706)" (#82150)
This reverts commit 21ddd7ff2b166c5e133b460b1a09ee8adb786ccd because it
breaks a bunch of tests:
https://lab.llvm.org/buildbot/#/builders/68/builds/69018
https://green.lab.llvm.org/green/view/LLDB/job/as-lldb-cmake/16273
Commit: ead0a9777f8ccb5c26d50d96bade6cd5b47f496b
https://github.com/llvm/llvm-project/commit/ead0a9777f8ccb5c26d50d96bade6cd5b47f496b
Author: SahilPatidar <89641424+SahilPatidar at users.noreply.github.com>
Date: 2024-02-17 (Sat, 17 Feb 2024)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
Log Message:
-----------
[mlir][spirv] Replace hardcoded strings with op methods (#81443)
Progress towards #77627
---------
Co-authored-by: SahilPatidar <patidarsahil at 2001gmail.com>
Co-authored-by: Lei Zhang <antiagainst at gmail.com>
Commit: 1ecbab56dcbb78268c8d19af34a50591f90b12a0
https://github.com/llvm/llvm-project/commit/1ecbab56dcbb78268c8d19af34a50591f90b12a0
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
Log Message:
-----------
[C++20] [Modules] Don't import non-inline function bodies even if it is marked as always_inline
Close https://github.com/llvm/llvm-project/issues/80949
Previously, I thought the always-inline function can be an exception to
enable optimizations as much as possible. However, it looks like it
breaks the ABI requirement we discussed later. So it looks better to not
import non-inline function bodies at all even if the function bodies are
marked as always_inline.
It doesn't produce regressions in some degree since the always_inline
still works in the same TU.
Commit: 833fea40d22ff7265a8331c88a7dc3b32a84c6a8
https://github.com/llvm/llvm-project/commit/833fea40d22ff7265a8331c88a7dc3b32a84c6a8
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
R mlir/test/Dialect/OpenMP/roundtrip.mlir
Log Message:
-----------
[MLIR][OpenMP] Add `private` clause to `omp.parallel` (#81452)
Extends the `omp.parallel` op by adding a `private` clause to model
[first]private variables. This uses the `omp.private` op to map
privatized variables to their corresponding privatizers.
Example `omp.private` op with `private` variable:
```
omp.parallel private(@x.privatizer %arg0 -> %arg1 : !llvm.ptr) {
^bb0(%arg1: !llvm.ptr):
// ... use %arg1 ...
omp.terminator
}
```
Whether the variable is private or firstprivate is determined by the
attributes of the corresponding `omp.private` op.
Commit: 1a8c6130f60fe517fb722ab4309997ce7b638234
https://github.com/llvm/llvm-project/commit/1a8c6130f60fe517fb722ab4309997ce7b638234
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Align shift Ops with LLVM instructions on allowed shift amounts (#82133)
This patch aligns the shift Ops in `arith` with respective LLVM instructions.
Specifically, shifting by an amount equal to the bitwidth of the operand
is now defined to return poison.
Relevant discussion:
https://discourse.llvm.org/t/some-question-on-the-semantics-of-the-arith-dialect/74861/10
Relevant issue: https://github.com/llvm/llvm-project/issues/80960
Commit: 1e4c76cdc9d47c06eb30c811fd497d7b0a3ae5e8
https://github.com/llvm/llvm-project/commit/1e4c76cdc9d47c06eb30c811fd497d7b0a3ae5e8
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/test/TableGen/AllowDuplicateRegisterNames.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[MC][AsmParser] Make `MatchRegisterName` return `MCRegister` (NFC) (#81408)
`MCRegister` is preferred over `unsigned` nowadays.
Commit: 3496927edcd0685807351ba88a7e2cfb006e1c0d
https://github.com/llvm/llvm-project/commit/3496927edcd0685807351ba88a7e2cfb006e1c0d
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
Log Message:
-----------
[clang-tidy] Fixes to readability-implicit-bool-conversion (#72050)
- Fixed issue with invalid code being generated when static_cast is put
into fix, and no space were added before it.
- Fixed issue with duplicate parentheses being added when double
implicit cast is used.
Closes #71848
Commit: 2d0137dd64017c34101f8a763fd8958c20acd6bb
https://github.com/llvm/llvm-project/commit/2d0137dd64017c34101f8a763fd8958c20acd6bb
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/Parse/ParseDecl.cpp
M clang/test/Sema/attr-function-return.c
M clang/test/Sema/callingconv-iamcu.c
M clang/test/Sema/callingconv.c
M clang/test/Sema/mips-interrupt-attr.c
M clang/test/Sema/riscv-interrupt-attr.c
M clang/test/Sema/zero_call_used_regs.c
M clang/test/SemaCXX/warn-consumed-parsing.cpp
M clang/test/SemaHLSL/shader_type_attr.hlsl
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang] Differentiate between identifier and string EnumArgument (#68550)
EnumArgument may be a string or an identifier. If it is a string, it
should be parsed as unevaluated string literal. Add IsString flag to
EnumArgument so that the parser can choose the correct parsing method.
Target-specific attributes that share spelling may have different
attribute "prototypes". For example, ARM's version of "interrupt"
attribute accepts a string enum, while MSP430's version accepts an
unsigned integer. Adjust ClangAttrEmitter so that the generated
`attributeStringLiteralListArg` returns the correct mask depending on
target triple.
It is worth noting that even after this change some string arguments are
still parsed as identifiers or, worse, as expressions. This is because
of some special logic in `ParseAttributeArgsCommon`. Fixing it is out of
scope of this patch.
Commit: ba27c3963d785a023cc8963ec3b6f508fe31527e
https://github.com/llvm/llvm-project/commit/ba27c3963d785a023cc8963ec3b6f508fe31527e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/shifts.cpp
Log Message:
-----------
[clang][Interp] Classify correct type for compound shifts
RT must be the type of the RHS, otherwise this later fails when
we set the RHS value to the temporary variable.
Commit: 767433ba88212b70da51ddc41727624c790cc329
https://github.com/llvm/llvm-project/commit/767433ba88212b70da51ddc41727624c790cc329
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] fixes duplicate expressions in if stmnts in SIISelLowering.cpp (#82018)
fixes #81766
Commit: 886294a2fe5928ecf34299e02526e17be19910c6
https://github.com/llvm/llvm-project/commit/886294a2fe5928ecf34299e02526e17be19910c6
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
Log Message:
-----------
[mlir][linalg] Add pattern to propagate pack up through tensor.pad (#82035)
This mirrors the existing pattern for pushing unpack down through
padding, restricting to cases where the padded dimensions aren't tiled
by the pack.
Additionally reformats the propagation test to make it easier to read.
Commit: 54daf6af57fb15d7a51e3f4bb889199fd1453bee
https://github.com/llvm/llvm-project/commit/54daf6af57fb15d7a51e3f4bb889199fd1453bee
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M libcxx/include/istream
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
Log Message:
-----------
[libc++] Fixes istream::sync. (#76467)
This fixes two issues.
The return value
----------------
Based on the wording
[istream.unformatted]/37
Effects: Behaves as an unformatted input function (as described above),
except that it does not count the number of characters extracted and
does not affect the value returned by subsequent calls to gcount().
After constructing a sentry object, if rdbuf() is a null pointer,
returns -1.
[istream.unformatted]/1
... It then creates an object of class sentry with the default argument
noskipws (second) argument true. If the sentry object returns true, when
converted to a value of type bool, the function endeavors to obtain the
requested input. ...
It could be argued the current behaviour is correct, however
constructing a istream rdbuf() == nullptr creates a sentry that returns
false; its state is always bad in this case.
As mentioned in the bug report, after this change the 3 major
implementations behave the same.
The setting of the state
------------------------
When pubsync returned -1 it updated the local __state variable and
returned. This early return caused the state up the istream not to be
updated to the new state.
Fixes: https://github.com/llvm/llvm-project/issues/51497
Fixes: https://github.com/llvm/llvm-project/issues/51499
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 41364051ac9380a6b62f61c794fc5978b2e703c9
https://github.com/llvm/llvm-project/commit/41364051ac9380a6b62f61c794fc5978b2e703c9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
A clang/test/AST/Interp/crash-GH49103-2.cpp
Log Message:
-----------
[clang][Interp] Not all record bases are of RecordType
See the attached test case.
Commit: cc2fe7b516c1dbf1f8747ade0f17891f9990dede
https://github.com/llvm/llvm-project/commit/cc2fe7b516c1dbf1f8747ade0f17891f9990dede
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Record.h
Log Message:
-----------
[clang][Interp][NFC] Make Record::{Base,Field} member pointers const
Commit: 536d78c213e127e00aa3b120582a3c133e6b0e52
https://github.com/llvm/llvm-project/commit/536d78c213e127e00aa3b120582a3c133e6b0e52
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
Log Message:
-----------
[VPlan] Remove VPInstruction::setUnderlyingInstr (NFCI).
VPInstruction doesn't rely on the underlying instruction any longer for
codegen, remove the unneeded setUnderlyingInstr.
Commit: 5e83b26584c9a02f8a2923651d08cad2dcc8479a
https://github.com/llvm/llvm-project/commit/5e83b26584c9a02f8a2923651d08cad2dcc8479a
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
Log Message:
-----------
[clang-tidy] Keep parentheses when replacing index access in `sizeof` calls (#82166)
Fixes #56021.
Commit: dc94eb57e39a925a9672bfc4d7cba0fb0da874d8
https://github.com/llvm/llvm-project/commit/dc94eb57e39a925a9672bfc4d7cba0fb0da874d8
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/test/CoverageMapping/conditional-operator.c
Log Message:
-----------
[clang][CodeCoverage] Fix CoverageMapping for binary conditionals ops (#82141)
Fix an issue that produces a wrong coverage mapping when using binary
conditional operators as show in the example below.
Before this patch:
1| 1|int binary_cond(int x) {
2| 1| x = x ?: 4;
3| 1| int y = 0;
4| 0| return x; <-- Not covered
5| 1|}
After this patch:
1| 1|int binary_cond(int x) {
2| 1| x = x ?: 4;
3| 1| int y = 0;
4| 1| return x; <-- Covered
5| 1|}
Commit: 79709498eaa57095a9888b882e94f6d15a244d4b
https://github.com/llvm/llvm-project/commit/79709498eaa57095a9888b882e94f6d15a244d4b
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M clang/test/CoverageMapping/conditional-operator.c
Log Message:
-----------
[clang][CodeCoverage] Fix conditional-operator test (#82192)
Commit: 2646dccaa35e9bf414cb5c77d047ab1733054018
https://github.com/llvm/llvm-project/commit/2646dccaa35e9bf414cb5c77d047ab1733054018
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-18 (Sun, 18 Feb 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
A bolt/test/X86/linux-static-calls.s
Log Message:
-----------
[BOLT] Add support for Linux kernel static calls table (#82072)
Static calls are calls that are getting patched during runtime. Hence,
for every such call the kernel runtime needs the location of the call or
jmp instruction that will be patched. Instruction locations together
with a corresponding key are stored in the static call site table. As
BOLT rewrites these instructions it needs to update the table.
Commit: bb91b4371975f6aa48ade88076c400ca8c2c0043
https://github.com/llvm/llvm-project/commit/bb91b4371975f6aa48ade88076c400ca8c2c0043
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] Handle repeated blend mask in combineConcatVectorOps (#82155)
https://github.com/llvm/llvm-project/commit/1d27669e8ad07f8f2 add
support for fold 512-bit concat(blendi(x,y,c0),blendi(z,w,c1)) to
AVX512BW mask select.
But when the type of subvector is v16i16, we need to generate repeated
mask to make the result correct.
The subnode looks like t87: v16i16 = X86ISD::BLENDI t132, t58,
TargetConstant:i8<-86>.
Commit: 80f3bb4cf2f5603f65fca16775b1f507aee4aae2
https://github.com/llvm/llvm-project/commit/80f3bb4cf2f5603f65fca16775b1f507aee4aae2
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/PowerPC/insert_extract.ll
Log Message:
-----------
[PowerPC] adjust cost for vector insert/extract with non const index (#79092)
P9 has vxform `Vector Extract Element Instructions` like `vextuwrx` and
P10 has vxform `Vector Insert Element instructions` like `vinsd`. Update
the instruction cost reflecting these instructions.
Fixes https://github.com/llvm/llvm-project/issues/50249
Commit: 64790064e82467b43c04a70b6e9873e6939be81f
https://github.com/llvm/llvm-project/commit/64790064e82467b43c04a70b6e9873e6939be81f
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
Log Message:
-----------
[asan] Use InternalMmapVectorNoCtor for error_message_buffer, reallocate if needed (#77488)
- Add a param `raw_report` which defaults to false for function
`UnmapOrDie()` like we do for `MmapOrDie()`
- Add a template param `raw_report` which defaults to false for class
`InternalMmapVectorNoCtor`. `raw_report` will be passed to `MmapOrDie()`
and `UnmapOrDie()` when they are called in class
`InternalMmapVectorNoCtor` member functions.
- Use `InternalMmapVectorNoCtor<char, true>` for `error_message_buffer`
and reallocate if needed.
Commit: 0ce01712432dd34f7e83f78af23fb444f3fd92b6
https://github.com/llvm/llvm-project/commit/0ce01712432dd34f7e83f78af23fb444f3fd92b6
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT][NFC] Switch logging in LinuxKernelRewriter (#82195)
Use journaling streams introduced in #81524 for LinuxKernelRewriter.
Commit: 9b76515b1bb57da7f083877486f57ce8328f91a5
https://github.com/llvm/llvm-project/commit/9b76515b1bb57da7f083877486f57ce8328f91a5
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
Log Message:
-----------
[sanitizer][fuchsia] Fix fuchsia buildbot failure after 64790064e82467b43c04a70b6e9873e6939be81f (#82202)
In https://github.com/llvm/llvm-project/pull/77488, a param `raw_report`
is added for function `UnmapOrDie()`.
But missing the corresponding change for fuchsia, causes the buildbot
failure, see https://lab.llvm.org/buildbot/#/builders/98/builds/33593.
This patch should fix the fuchsia buildbot failure.
Commit: 2ed0aacf973d628d5abae79229e251e034831dd3
https://github.com/llvm/llvm-project/commit/2ed0aacf973d628d5abae79229e251e034831dd3
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/TableGen/HwModeEncodeDecode.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Fixes for per-HwMode decoding problem (#82201)
Today, if any instruction uses EncodingInfos/EncodingByHwMode to
override the default encoding, the opcode field of the decoder table is
generated incorrectly. This causes failed disassemblies and other
problems.
Specifically, the main correctness issue is that the EncodingID is
inadvertently stored in the table rather than the actual opcode. This is
caused by having set up the IndexOfInstruction map incorrectly during
the loop to populate NumberedEncodings-- which is then propagated around
when OpcMap is set up with a bad EncodingIDAndOpcode.
Instead, do away with IndexOfInstruction altogether and use opcode value
queried from CodeGenTarget::getInstrIntValue to set up OpcMap. This
itself exposed another problem where emitTable was using the decoded
opcode to index into NumberedEncodings. Instead pass in the
EncodingIDAndOpcode vector, and create the reverse mapping from Opcode
to EncodingID, which is then used to index NumberedEncodings.
This problem is not currently exposed upstream since no in-tree targets
yet use the per-HwMode feature. It does show up in at least two
downstream targets.
Commit: 50b82ef1dbc7126fb9aacb40b20eb10a328dbffc
https://github.com/llvm/llvm-project/commit/50b82ef1dbc7126fb9aacb40b20eb10a328dbffc
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use DAG.getElementCount in lowerEXTRACT_SUBVECTOR. NFCI (#81698)
Following up on the review comment in
https://github.com/llvm/llvm-project/pull/79949#discussion_r1482071745
Commit: dd7386d85f11cf6ad911b9827c7018fb08c6c205
https://github.com/llvm/llvm-project/commit/dd7386d85f11cf6ad911b9827c7018fb08c6c205
Author: Wanyi <kusmour at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/bindings/interface/SBStatisticsOptionsDocstrings.i
M lldb/include/lldb/API/SBStatisticsOptions.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Target/Statistics.h
M lldb/source/API/SBStatisticsOptions.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/Options.td
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Target/Statistics.cpp
M lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
A lldb/test/API/functionalities/stats_api/main-main.dwo.yaml
A lldb/test/API/functionalities/stats_api/main.yaml
Log Message:
-----------
[Reland] Report only loaded debug info in statistics dump (#81706) (#82207)
Updates:
- The previous patch changed the default behavior to not load dwos in
`DWARFUnit`
~~`SymbolFileDWARFDwo *GetDwoSymbolFile(bool load_all_debug_info =
false);`~~
`SymbolFileDWARFDwo *GetDwoSymbolFile(bool load_all_debug_info = true);`
- This broke some lldb-shell tests (see
https://green.lab.llvm.org/green/view/LLDB/job/as-lldb-cmake/16273/)
- TestDebugInfoSize.py
- with symbol on-demand, by default statistics dump only reports
skeleton debug info size
- `statistics dump -f` will load all dwos. debug info = skeleton debug
info + all dwo debug info
Currently running `statistics dump` will trigger lldb to load debug info
that's not yet loaded (eg. dwo files). Resulted in a delay in the
command return, which, can be interrupting.
This patch also added a new option `--load-all-debug-info` asking
statistics to dump all possible debug info, which will force loading all
debug info available if not yet loaded.
Commit: dc1b7729337a3e04ad1bb69394122c7f95f193d2
https://github.com/llvm/llvm-project/commit/dc1b7729337a3e04ad1bb69394122c7f95f193d2
Author: David Green <david.green at arm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/insertextract.ll
Log Message:
-----------
[AArch64][GlobalISel] Add missing legalization for v16i8 extract element.
Commit: 9d3d6ec665d6284b6ba8c51a57a4a618d67a1697
https://github.com/llvm/llvm-project/commit/9d3d6ec665d6284b6ba8c51a57a4a618d67a1697
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
Log Message:
-----------
[Clang] CXXConstructExpr may be immediate calls. (#82179)
A CXXConstructExpr may refer to an immediate constructor, in which case
it should be substituted in the
enclosing default init expression.
Fixes #82154
Commit: 2ea5d167ae43bed5a511d5d819ae7c52cc76ec5c
https://github.com/llvm/llvm-project/commit/2ea5d167ae43bed5a511d5d819ae7c52cc76ec5c
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__fwd/complex.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__tuple/tuple_like.h
M libcxx/include/complex
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap.in
M libcxx/modules/std/complex.inc
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/get.pass.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/get.verify.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/tuple_element.compile.pass.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/tuple_element.verify.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/tuple_size.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][complex] P2819R2: Add `tuple` protocol to `complex` (#79744)
Implements: P2819R2 <https://wg21.link/P2819R2>
- https://eel.is/c++draft/utilities#concept:tuple-like
- https://eel.is/c++draft/complex.syn
- https://eel.is/c++draft/complex.tuple
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: bb049094d5d32e562e5831e5bd0fa12c0a7984ce
https://github.com/llvm/llvm-project/commit/bb049094d5d32e562e5831e5bd0fa12c0a7984ce
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 2ea5d167ae43
Commit: fcf3ca9a5e50f32edcfe68c291edd1ecab7009a7
https://github.com/llvm/llvm-project/commit/fcf3ca9a5e50f32edcfe68c291edd1ecab7009a7
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp][NFC] Split emitRecordDestruction
into a general part and a record part. This will be needed in future
patches.
Commit: d61864f813e33b4228e56f391ec53566aab9efda
https://github.com/llvm/llvm-project/commit/d61864f813e33b4228e56f391ec53566aab9efda
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/lambda.cpp
Log Message:
-----------
[clang][Interp] Don't create Records for incomplete decls
We would previously create the Record instance with 0 fields,
which is incorrect. We later see it again with 1 field.
Fixes #82203
Commit: d043b4bc7e61e2720fae2473db145389ccac4598
https://github.com/llvm/llvm-project/commit/d043b4bc7e61e2720fae2473db145389ccac4598
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
Log Message:
-----------
[Sanitizer][Windows] Fix Windows buildbot failure after 64790064e82467b43c04a70b6e9873e6939be81f (#82215)
In #77488, a param raw_report is added for function UnmapOrDie(), causes
the Windows buildbot failure:
- https://lab.llvm.org/buildbot/#/builders/127/builds/62395
- https://lab.llvm.org/buildbot/#/builders/265/builds/2662
This patch should fix the Windows buildbot failure.
Commit: e98abc3ea0796a5d78eb48f2ee9b3019e8133562
https://github.com/llvm/llvm-project/commit/e98abc3ea0796a5d78eb48f2ee9b3019e8133562
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Emit dtors when ignoring CXXConstructExprs
The comment says we should emit destructors, but we didn't.
Commit: 442f066fc464e953b7783230e95ccf2a67ebfb38
https://github.com/llvm/llvm-project/commit/442f066fc464e953b7783230e95ccf2a67ebfb38
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/arm64-optional-hash.s
Log Message:
-----------
[AArch64AsmParser] Support (xxx), lsl 16 after #80571
An immediate integer operand not prefixed with # can also be followed
by "lsl". Parse "lsl".
In the wild, edk2 ArmPkg/Include/AsmMacroIoLibV8.h has
`movz Reg, (Val) >> 16, lsl #16`.
Note: our support for paren expression not prefixed with # is not very
good. For example, `adds x3, x4, (1024>>0), lsl 12` fails to be parsed.
Commit: 6d7de46155fece05ab5a44aedd573a811f4b208a
https://github.com/llvm/llvm-project/commit/6d7de46155fece05ab5a44aedd573a811f4b208a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Record.h
Log Message:
-----------
[clang][Interp][NFC] Make Record field pointers const
Commit: 63dd08b1f4d2a79c02e57cc0688e40c1ecc7f6cc
https://github.com/llvm/llvm-project/commit/63dd08b1f4d2a79c02e57cc0688e40c1ecc7f6cc
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis] Add branch miss validation counter (#81094)
This patch adds a branch miss validation counter so that it is easy to
quantify the number of missed branches when using the loop repetition
mode.
Commit: 4b9c089381f7bd9a757d3926091205d70fcc9964
https://github.com/llvm/llvm-project/commit/4b9c089381f7bd9a757d3926091205d70fcc9964
Author: Martin Storsjö <martin at martin.st>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M openmp/runtime/test/atomic/kmp_atomic_float10_max_min.c
Log Message:
-----------
[OpenMP] [test] Skip the -mlong-double-80 test on MSVC ABI (#81115)
Within the MSVC ABI, long doubles are the same as regular 64 bit
doubles. This test case, which is compiled with -mlong-double-80, cannot
work when libomp has been compiled without that flag, as
-mlong-double-80 changes the calling convention for the tested
functions.
Commit: 0b34d7e9e2915510088aeee5592a845edd62b8ba
https://github.com/llvm/llvm-project/commit/0b34d7e9e2915510088aeee5592a845edd62b8ba
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/SemaCXX/cxx23-static-callop-lambda-expression.cpp
Log Message:
-----------
[clang][Interp] Fix calling static operators
They don't have an instance pointer anywhere but get one passed
via their CallExpr.
Commit: 0c1f62073fd48f7dcf16f8dc38d825bb211745d4
https://github.com/llvm/llvm-project/commit/0c1f62073fd48f7dcf16f8dc38d825bb211745d4
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
Log Message:
-----------
[Docs][llvm-exegesis] Add documentation on validation counters option (#82132)
This patch documents the --validation-counter flag.
Commit: 93db5b7b2561b574aae05c2ffd601cfcadc3f2c2
https://github.com/llvm/llvm-project/commit/93db5b7b2561b574aae05c2ffd601cfcadc3f2c2
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Add debug option to print per-measurement values (#81219)
This patch adds a debug option to print per measurement latency and
validation counter values. This makes it easier to debug certain
transient issues that can be hard to spot just using the summary view at
the end.
I've hacked print statements into this part of the code base enough
times for debugging various things that I think it makes sense to be a
proper debug macro.
Commit: ad78e210bd71619f1c81c4ed66aa8974ee5209be
https://github.com/llvm/llvm-project/commit/ad78e210bd71619f1c81c4ed66aa8974ee5209be
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
A llvm/test/Transforms/LoopUnroll/AArch64/scalable-vec-ins-ext.ll
Log Message:
-----------
[NFC][AArch64] Tests for guarding unrolling with scalable vec ins/ext (#81132)
Commit: c3107821aeeeb12a13e7a85f0e23b884c2881417
https://github.com/llvm/llvm-project/commit/c3107821aeeeb12a13e7a85f0e23b884c2881417
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/symlink/include/.clang-tidy
A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/symlink/include/test.h
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
Log Message:
-----------
[clang-tidy][readability-identifier-naming] Resolve symlinks for checking style for file (#81985)
Summary:
Some build systems create symlinks in a temporary build directory for
headers in the source tree for isolation purposes. These symlinks
prevent `readability-identifier-naming` detecting issues and applying
fixes. Without this fix clang-tidy is checking .clang-tidy config file
in a temporary directory instead of source source location.
Test Plan: check-clang-tools
Commit: 4b483ecd55d7269e8d9af788e823fc9b476b33ce
https://github.com/llvm/llvm-project/commit/4b483ecd55d7269e8d9af788e823fc9b476b33ce
Author: SahilPatidar <89641424+SahilPatidar at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/binop-cast.ll
M llvm/test/Transforms/InstCombine/sub-ashr-and-to-icmp-select.ll
Log Message:
-----------
[InstCombine] Fix failure to fold (and %x, (sext i1 %m)) -> (select %m, %x, 0) with multiple uses of %m (#81409)
Resolves #81288.
Commit: a2535a5786894c54fb657f3b142ce88e8810e1ea
https://github.com/llvm/llvm-project/commit/a2535a5786894c54fb657f3b142ce88e8810e1ea
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
A clang/test/AST/Interp/comma.cpp
Log Message:
-----------
[clang][Interp] Remove assertion to fix comma operators...
... involving function pointers on the RHS. The conversion to
an RValue _can_ be requested, but we just ignore it.
Commit: da04f306a88d996e10f20f1bcb13062f30155dbf
https://github.com/llvm/llvm-project/commit/da04f306a88d996e10f20f1bcb13062f30155dbf
Author: Julien Schueller <schueller at phimeca.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M flang/lib/Frontend/CMakeLists.txt
Log Message:
-----------
[flang] Fix missing CGPasses.h.inc (#71691)
I could reproduce using unix makefiles with -j1 option, with version
16.0.6
Closes #61543
Closes #57680
Commit: 0215d2c58bfaae40332075cca566d83e152330a6
https://github.com/llvm/llvm-project/commit/0215d2c58bfaae40332075cca566d83e152330a6
Author: Tim Northover <tnorthover at apple.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/arm64_32.ll
Log Message:
-----------
arm64_32: extend @llvm.stackguard call to in-DAG 64-bits before handing off
Pointers are 64-bits in the DAG, so we need to extend the result of loading the
cookie when building the DAG.
Commit: 232a14d062e735af3e385de8dc56f6f4584cad1b
https://github.com/llvm/llvm-project/commit/232a14d062e735af3e385de8dc56f6f4584cad1b
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
Log Message:
-----------
[BatchAA] Fix a reference to a non-exising `pointsToConstantMemory` overload (NFC) (#82173)
Commit: 658e4763a23cc53eaf1b84e804f980f2a8cb8802
https://github.com/llvm/llvm-project/commit/658e4763a23cc53eaf1b84e804f980f2a8cb8802
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir
Log Message:
-----------
[AArch64] Fix wrong condition in `canUseAsPrologue` (#81878)
Inline stack probing code may need a scratch register, hence basic
blocks where such register is not available cannot be used as prologues.
Checking for an available scratch regidster was incorrectly skipped when
the function uses stack probing.
Commit: 6b32ba6129941b42d929366eb0477696d53ceb2b
https://github.com/llvm/llvm-project/commit/6b32ba6129941b42d929366eb0477696d53ceb2b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Record.h
Log Message:
-----------
[clang][Interp][NFC] Make Record::BaseMap use const pointers
Commit: eddf9cf38a116bcce016f147cab216fef98721ab
https://github.com/llvm/llvm-project/commit/eddf9cf38a116bcce016f147cab216fef98721ab
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix failure to allocate local variables
We were incorrectly returning true when the allocateLocal() call
failed.
Commit: 69d4890f801d6821e969a992d88d0bf48f9249cf
https://github.com/llvm/llvm-project/commit/69d4890f801d6821e969a992d88d0bf48f9249cf
Author: elhewaty <mohamedatef1698 at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
Log Message:
-----------
[InstCombine] Fold abs(a * abs(b)) --> abs(a * b) (#78110)
Proof: https://alive2.llvm.org/ce/z/hfbEra
Fixes: https://github.com/llvm/llvm-project/issues/73211
Commit: e488fe5a97ba8da9be31926c219932db92298f21
https://github.com/llvm/llvm-project/commit/e488fe5a97ba8da9be31926c219932db92298f21
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
A clang/test/AST/Interp/cxx03.cpp
Log Message:
-----------
[clang][Interp] Fix non-initializing MemberExprs
We need to create a value for them, do that via visit()
Commit: 925768eeaba71ea288ba16557921ea3439f9fcf5
https://github.com/llvm/llvm-project/commit/925768eeaba71ea288ba16557921ea3439f9fcf5
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
Log Message:
-----------
Add support for atomic instruction on floating-point numbers (#81683)
This PR adds support for atomic instruction on floating-point numbers:
* SPV_EXT_shader_atomic_float_add
* SPV_EXT_shader_atomic_float_min_max
* SPV_EXT_shader_atomic_float16_add
and fixes asm printer output for half floating-type.
Commit: 21431e0f94c95703bd76e9ec5d2f0b39b8509680
https://github.com/llvm/llvm-project/commit/21431e0f94c95703bd76e9ec5d2f0b39b8509680
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Remove questionable initializer special case
I'm not sure where this would be needed, but for the time being,
removing it fixes a problem.
Commit: 769c22f25b81b74e4da7871d4e552584605caef1
https://github.com/llvm/llvm-project/commit/769c22f25b81b74e4da7871d4e552584605caef1
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/reduction-of-truncations.ll
Log Message:
-----------
[VectorCombine] Fold reduce(trunc(x)) -> trunc(reduce(x)) iff cost effective (#81852)
Vector truncations can be pretty expensive, especially on X86, whilst scalar truncations are often free.
If the cost of performing the add/mul/and/or/xor reduction is cheap enough on the pre-truncated type, then avoid the vector truncation entirely.
Fixes https://github.com/llvm/llvm-project/issues/81469
Commit: 5b342e6041f8567a39354ae3c5346cf74b3bb84f
https://github.com/llvm/llvm-project/commit/5b342e6041f8567a39354ae3c5346cf74b3bb84f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/DebugInfo/dpvalue-print-nocrash.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Check for null marker when printing DPValues (#82238)
The function to print DPValues currently tries to incorporate the
function it is part of, which is found through its marker; this means
when we try to print a DPValue with no marker, we dereference a nullptr.
We can print instructions without parents, and so the same should be
true for DPValues; this patch changes DPValue::print to check for a null
marker and avoid dereferencing it.
Fixes issue: https://github.com/llvm/llvm-project/issues/82230
Commit: 19f6689f3bd330c631525a7409bc824d8dc95303
https://github.com/llvm/llvm-project/commit/19f6689f3bd330c631525a7409bc824d8dc95303
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[clang] Remove unused variable [NFC]
Without the fix gcc warned like
../../clang/lib/Analysis/UnsafeBufferUsage.cpp:2203:26: warning: unused variable 'CArrTy' [-Wunused-variable]
2203 | } else if (const auto *CArrTy = Ctx.getAsConstantArrayType(
| ^~~~~~
Commit: 48439bd7a79b117b3072f422fdf7e5599925ec72
https://github.com/llvm/llvm-project/commit/48439bd7a79b117b3072f422fdf7e5599925ec72
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp] Handle rewritten binary operators
Just delegate to the syntactic form.
Commit: d022f32c73c57b59a9121eba909f5034e89c628e
https://github.com/llvm/llvm-project/commit/d022f32c73c57b59a9121eba909f5034e89c628e
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/test/Preprocessor/arm-target-features.c
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
Revert "[ARM] __ARM_ARCH macro definition fix (#81493)"
This reverts commit 89c1bf1230e011f2f0e43554c278205fa1819de5.
This has been unimplemenented for a while, and GCC does not implement
it, therefore we need to consider whether we should just deprecate it
in the ACLE instead.
Commit: 3f0404aae7ed2f7138526e1bcd100a60dfe08227
https://github.com/llvm/llvm-project/commit/3f0404aae7ed2f7138526e1bcd100a60dfe08227
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-tailcall.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
[AArch64] Restore Z-registers before P-registers (#79623)
This is needed by PR#77665[1] that uses a P-register while restoring
Z-registers.
The reverse for SVE register restore in the epilogue was added to
guarantee performance, but further work was done to improve sve frame
restore and besides that the schedule also may change the order of the
restore, undoing the reverse restore.
[1]https://github.com/llvm/llvm-project/pull/77665
Commit: 95ebf2be0e6600465a4d0f4e7d81c7ded0559fba
https://github.com/llvm/llvm-project/commit/95ebf2be0e6600465a4d0f4e7d81c7ded0559fba
Author: Jan Kokemüller <jan.kokemueller at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/latch
M libcxx/include/semaphore
M libcxx/src/atomic.cpp
Log Message:
-----------
[libc++] Refactor the predicate taking variant of `__cxx_atomic_wait` (#80596)
This is a follow-up PR to
<https://github.com/llvm/llvm-project/pull/79265>. It aims to be a
gentle refactoring of the `__cxx_atomic_wait` function that takes a
predicate.
The key idea here is that this function's signature is changed to look
like this (`std::function` used just for clarity):
```c++
__cxx_atomic_wait_fn(Atp*, std::function<bool(Tp &)> poll, memory_order __order);
```
...where `Tp` is the corresponding `value_type` to the atomic variable
type `Atp`. The function's semantics are similar to `atomic`s `.wait()`,
but instead of having a hardcoded predicate (is the loaded value unequal
to `old`?) the predicate is specified explicitly.
The `poll` function may change its argument, and it is very important
that if it returns `false`, it leaves its current understanding of the
atomic's value in the argument. Internally, `__cxx_atomic_wait_fn`
dispatches to two waiting mechanisms, depending on the type of the
atomic variable:
1. If the atomic variable can be waited on directly (for example,
Linux's futex mechanism only supports waiting on 32 bit long variables),
the value of the atomic variable (which `poll` made its decision on) is
then given to the underlying system wait function (e.g. futex).
2. If the atomic variable can not be waited on directly, there is a
global pool of atomics that are used for this task. The ["eventcount"
pattern](<https://gist.github.com/mratsim/04a29bdd98d6295acda4d0677c4d0041>)
is employed to make this possible.
The eventcount pattern needs a "monitor" variable which is read before
the condition is checked another time. libcxx has the
`__libcpp_atomic_monitor` function for this. However, this function only
has to be called in case "2", i.e. when the eventcount is actually used.
In case "1", the futex is used directly, so the monitor must be the
value of the atomic variable that the `poll` function made its decision
on to continue blocking. Previously, `__libcpp_atomic_monitor` was
_also_ used in case "1". This was the source of the ABA style bug that
PR#79265 fixed.
However, the solution in PR#79265 has some disadvantages:
- It exposes internals such as `cxx_contention_t` or the fact that
`__libcpp_thread_poll_with_backoff` needs two functions to higher level
constructs such as `semaphore`.
- It doesn't prevent consumers calling `__cxx_atomic_wait` in an error
prone way, i.e. by providing to it a predicate that doesn't take an
argument. This makes ABA style issues more likely to appear.
Now, `__cxx_atomic_wait_fn` takes just _one_ function, which is then
transformed into the `poll` and `backoff` callables needed by
`__libcpp_thread_poll_with_backoff`.
Aside from the `__cxx_atomic_wait` changes, the only other change is the
weakening of the initial atomic load of `semaphore`'s `try_acquire` into
`memory_order_relaxed` and the CAS inside the loop is changed from
`strong` to `weak`. Both weakenings should be fine, since the CAS is
called in a loop, and the "acquire" semantics of `try_acquire` come from
the CAS, not from the initial load.
Commit: 652081ca9eefc910bbd3257bac9b2bb44756aa21
https://github.com/llvm/llvm-project/commit/652081ca9eefc910bbd3257bac9b2bb44756aa21
Author: Manish Kausik H <46352931+Nirhar at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[NFC][SelectionDAG] Move function `getStackAlignedMMO` to the beginning of LegalizeDAG.cpp (#82171)
Commit: 8d8bb35ac37bfe15764f57264546e61d9bebe8f2
https://github.com/llvm/llvm-project/commit/8d8bb35ac37bfe15764f57264546e61d9bebe8f2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/psadbw.ll
Log Message:
-----------
[X86] Add some basic test coverage for #81765
Test cases demonstrating poor value tracking of PSADBW results
Commit: 17a1b8f8481783ca9c318db6b6133631015726e9
https://github.com/llvm/llvm-project/commit/17a1b8f8481783ca9c318db6b6133631015726e9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Fix `nullptr - nullptr` expressions
They can happen and we used to run into an assertion.
Commit: 0ec524b120d822cbe6d6d0a5320d797b03806382
https://github.com/llvm/llvm-project/commit/0ec524b120d822cbe6d6d0a5320d797b03806382
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa-fake16.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
Log Message:
-----------
[AMDGPU][MC][True16] Support V_RCP/SQRT/RSQ/LOG/EXP_F16. (#81131)
[AMDGPU][MC][True16] Support V_RCP/SQRT/RSQ/LOG/EXP_F16.
Also add missing v_ceil/floor_f16 tests.
Includes https://github.com/llvm/llvm-project/pull/80892.
Commit: 1789dc2fbc3b409a7f9469465cc8a5f6fa333a4c
https://github.com/llvm/llvm-project/commit/1789dc2fbc3b409a7f9469465cc8a5f6fa333a4c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
Log Message:
-----------
[InstCombine] Add more dependent IV tests (NFC)
Commit: 73f76cda1f1acc496154c3acecc2e74b1280a9bd
https://github.com/llvm/llvm-project/commit/73f76cda1f1acc496154c3acecc2e74b1280a9bd
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[APInt] Add APIntOps::absdiff to compute the absolute difference of 2 unsigned values (#82255)
Equivalent to "umax(A, B) - umin(A, B)"
First step towards adding knownbits support for absdiff patterns for #81765
Commit: bb56f052a37d9fa0a87c9636c1a94b85b72a52e0
https://github.com/llvm/llvm-project/commit/bb56f052a37d9fa0a87c9636c1a94b85b72a52e0
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
Log Message:
-----------
[RemoveDIs] Account for DPVAssigns in isIdenticalToWhenDefined (#82257)
AddressExpression wasn't included in the comparison.
Commit: 12ade6fc606c269101b9b13e52093c868e1a4924
https://github.com/llvm/llvm-project/commit/12ade6fc606c269101b9b13e52093c868e1a4924
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M openmp/libomptarget/test/lit.cfg
A openmp/libomptarget/test/mapping/auto_zero_copy_apu.cpp
Log Message:
-----------
[libomptarget][test] Add support for APU testing feature. (#82054)
Add test and support for `// REQUIRES: apu` for the category of tests
which exercise APU specific behavior.
Note: when running on an actual APU you may have to use the following if
the architecture ID is not enough to determine if the underlying device
is an APU:
```
IS_APU=1 ninja check-openmp
```
Commit: 5bd374df3e89df701ea8c02e5704911935660d1e
https://github.com/llvm/llvm-project/commit/5bd374df3e89df701ea8c02e5704911935660d1e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/psadbw.ll
Log Message:
-----------
[X86] psadbw.ll - add AVX2 target test coverage
Commit: 9466c4e629ecff3060b7fef3cb189179e25c4f5f
https://github.com/llvm/llvm-project/commit/9466c4e629ecff3060b7fef3cb189179e25c4f5f
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[MLIR][tensor] Improve `tensor.pack` verifier to catch more cases with unconditional runtime errors (#77217)
Previously, the `tensor.pack` verifier detects unconditional runtime
errors only when tile sizes are static. Now, dynamic tiles are
considered and we only require that the input and either corresponding
tile or output size are static to determine if it will unconditionally
produce errors at runtime.
Commit: b1849a2c6bac6337945206a7c3c9f5d5812457cc
https://github.com/llvm/llvm-project/commit/b1849a2c6bac6337945206a7c3c9f5d5812457cc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[RISCV] Add test cases for missed opportunites to treat a zext nneg as sext. NFC
These tests have a dominating icmp that require an i16 value to be
sign extended to do the compare. Because of this, the i16 will be
exported from the first basic block sign extended to XLen. We can
use this fact to remove the zext nneg in the scond block.
Commit: 0ca74c345899e2c4846c696d5d3f454e208d2d65
https://github.com/llvm/llvm-project/commit/0ca74c345899e2c4846c696d5d3f454e208d2d65
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M flang/module/__cuda_builtins.f90
M flang/module/__fortran_builtins.f90
M flang/module/__fortran_ieee_exceptions.f90
M flang/module/__fortran_type_info.f90
M flang/module/__ppc_types.f90
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/module/ieee_features.f90
Log Message:
-----------
[flang][NFC] Refactor MODULE definitions to not accidentally leak symbols (#80833)
This PR continues the work started with PR #79006, by setting visibility
in MODULES to PRIVATE by default and explicitly exporting only the
desired symbols. `omp_lib` needs more work, as it should maybe be
compiled from `omp_lib.f90` in
`openmp/runtime/src/incluce/omp_lib.f90.var` instead of simply using an
INCLUDE for `omp_lib.h`
Commit: f668a08e005962f9f68d7586f99fc431dbed9a88
https://github.com/llvm/llvm-project/commit/f668a08e005962f9f68d7586f99fc431dbed9a88
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
M llvm/test/CodeGen/VE/Scalar/ctlz.ll
Log Message:
-----------
[DAGCombiner][RISCV] Optimize (zext nneg (truncate X)) if X has known sign bits. (#82227)
This treats the zext nneg as sext if X is known to have sufficient sign
bits to allow the zext or truncate or both to removed. This code is
taken from the same optimization for sext.
Commit: c9974ae4a0601a9e9f5842114ecd899ab9142786
https://github.com/llvm/llvm-project/commit/c9974ae4a0601a9e9f5842114ecd899ab9142786
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
Log Message:
-----------
[clangd] Do not offer extraction to variable for decl init expression (#69477)
That would turn:
int x = f() + 1;
into:
auto placeholder = f() + 1;
int x = placeholder;
which makes little sense and is clearly not intended, as stated
explicitly by a comment in eligibleForExtraction(). It appears that the
declaration case was simply forgotten (the assignment case was already
implemented).
Commit: 2426055a64e43c5d9126b191ee9836710a223d75
https://github.com/llvm/llvm-project/commit/2426055a64e43c5d9126b191ee9836710a223d75
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[RISCV] Add more zext nneg tests. NFC
This adds additional tests for #82199.
These tests need us to propagate the nneg flag when we zero/sign
extend an existing zext nneg node. For these tests on RV64, call
lowering will need to sign extend or zero extend the existing zext
nneg to i64. getNode will fold this into a single zext. We should
propagate the nneg flag from the original zext nneg. This will allow
us to remove the zext nneg based on known sign bits during DAG combine.
Commit: c98da372cb08cd3b3c513a6a86592b0f2892fb49
https://github.com/llvm/llvm-project/commit/c98da372cb08cd3b3c513a6a86592b0f2892fb49
Author: Lei Wang <wlei at fb.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/test/Transforms/SampleProfile/Inputs/profile-mismatch.prof
M llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-profile-mismatch.prof
M llvm/test/Transforms/SampleProfile/profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-thinlto.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch.ll
Log Message:
-----------
[CSSPGO] Compute and report profile matching recovered callsites and samples (#79090)
This change adds the support to compute and report the staleness metrics
after stale profile matching so that we can know how effective the fuzzy
matching is, i. e. how many callsites and samples are recovered by the
matching.
Some implementation notes:
- The function checksum mismatch metrics are not applicable here as it's
function-level metrics, checksum mismatch remains the same before and
after matching, so we need to compute based on the callsite samples.
- Added two new counters `NumRecoveredCallsites`,
`RecoveredCallsiteSamples` for this and removed `TotalCallsiteSamples`
as now the we can use the `TotalFuncHashSamples` as base, and renamed
some counters.
- In profile matching, we changed to use a state machine to represent
the callsite's matching state changes. See the `MatchState` for the
state, and used a new function `recordCallsiteMatchStates` to compute
and record the callsite's match states changes before and after the
matching, , the result is compressed and saved into a
`FuncCallsiteMatchStates` map for later counting use.
- Changed the counting function to run on module-level and moved it to
the end of the whole process(`computeAndReportProfileStaleness`). The
reason is before the callsite is only counted on top-level function,
this change extends it to count(recursively) on the inlined functions
and samples, which is more accurate.
Commit: cd20a7ff9a617855c918d1325b1dbef32cbe0f31
https://github.com/llvm/llvm-project/commit/cd20a7ff9a617855c918d1325b1dbef32cbe0f31
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readelf] Print ARM specific OSABI values in GNU mode (#82186)
Similar to #75661. Currently, there is only ELFOSABI_ARM, but I plan to
add ELFOSABI_ARM_FDPIC in a subsequent patch #82187
Commit: 8e8f9c0bc0773147b8e9dbc0df9730efd630e18f
https://github.com/llvm/llvm-project/commit/8e8f9c0bc0773147b8e9dbc0df9730efd630e18f
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/execution-mode-per-entry-point.ll
Log Message:
-----------
fix generation of unnecessary OpExecutionMode records (#81839)
SPIRV-V Backend generates unnecessary OpExecutionMode records, putting
into the id's which are not the Entry Point operands of an OpEntryPoint
(ref: https://github.com/llvm/llvm-project/issues/81753). This PR is to
fix the issue.
Commit: 9087abdac31136ca88064509aa856d1bd6f22f10
https://github.com/llvm/llvm-project/commit/9087abdac31136ca88064509aa856d1bd6f22f10
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
Log Message:
-----------
[llvm] Format OSType enum (NFC)
The trailing comments cause clang-format to complain every time the enum
is modified. Fix the formatting to avoid tripping up the formatting
check on GitHub.
Commit: 1b26c25f7e56fe3d5e06c285566ef43812d7baee
https://github.com/llvm/llvm-project/commit/1b26c25f7e56fe3d5e06c285566ef43812d7baee
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[llvm] Upstream the BridgeOS triple enum value (NFC)
This upstreams the BridgeOS target triple enum value.
Commit: f8cbb67b10856465faedfbda81cd23c3ec920730
https://github.com/llvm/llvm-project/commit/f8cbb67b10856465faedfbda81cd23c3ec920730
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[DAGCombiner] Preserve nneg flag from inner zext when we combine (z/s/aext (zext X)) (#82199)
Commit: 66ebda46fc144ba94cde50956da2517edaf32abe
https://github.com/llvm/llvm-project/commit/66ebda46fc144ba94cde50956da2517edaf32abe
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
Log Message:
-----------
Add support for the SPIR-V extension SPV_KHR_uniform_group_instructions (#82064)
This PR is to add support for the SPIR-V extension
SPV_KHR_uniform_group_instructions that adds new instructions to SPIR-V
to support additional group operations within uniform control flow.
Commit: 44a46a0b6818c9b7eb36f2257cb0e6018101ec61
https://github.com/llvm/llvm-project/commit/44a46a0b6818c9b7eb36f2257cb0e6018101ec61
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/insertelement.ll
Log Message:
-----------
[RISCV][GISEL] Add IRTranslation for insertelement with scalable vector type (#80377)
This patch is stacked on #80372, #80307, and #80306.
Commit: 8de230093f585b64fcd642b46e6560131e95b394
https://github.com/llvm/llvm-project/commit/8de230093f585b64fcd642b46e6560131e95b394
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M polly/lib/Exchange/JSONExporter.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/FlattenSchedule.cpp
M polly/lib/Transform/ForwardOpTree.cpp
Log Message:
-----------
[clang-format] Correctly annotate braces of empty ctors/dtors (#82097)
Also reformat Polly.
Fixes #79834.
Commit: 35f45926eb12b2612f23012ab1e80e3be86dbb2d
https://github.com/llvm/llvm-project/commit/35f45926eb12b2612f23012ab1e80e3be86dbb2d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Add asserts for undef handling in PHIComparator, NFC.
Commit: 13e64958a00f9f47fc71027d5b6196906cbc2863
https://github.com/llvm/llvm-project/commit/13e64958a00f9f47fc71027d5b6196906cbc2863
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/MC/AMDGPU/bf16_imm.s
M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
Log Message:
-----------
[AMDGPU] Fix decoder for BF16 inline constants (#82276)
Fix #82039.
Commit: 1f57800fe6ffc1569520e8cc62a740332300e2fa
https://github.com/llvm/llvm-project/commit/1f57800fe6ffc1569520e8cc62a740332300e2fa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[llvm] Handle BridgeOS in Triple::parseOS
This fixes the TripleTest unit test.
Commit: 44b17679e354d2f23b8843589629573b3900119f
https://github.com/llvm/llvm-project/commit/44b17679e354d2f23b8843589629573b3900119f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove stale comment from VPTransformState::get (NFC)
All values accessed via get are now part of VPTransformState, the ILV
reference in the comment has been removed a long time ago. Remove the
stale comment.
Commit: 22fc2cb15d9e9bfb84145c6891fb748e8e52757e
https://github.com/llvm/llvm-project/commit/22fc2cb15d9e9bfb84145c6891fb748e8e52757e
Author: rmarker <37921131+rmarker at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix AllowShortLambdasOnASingleLine interfering with lambda brace wrapping. (#81848)
Fix an issue where the lambda body left brace could sometimes fail to be
wrapped when AllowShortLambdasOnASingleLine is enabled.
Now, when BraceWrapping.BeforeLambdaBody is enabled, if the brace is not
wrapped, we prevent breaks in the lambda body.
Resolves #81845
Commit: 61a96e5afadd034e7d13126f0e43731bbad7ad89
https://github.com/llvm/llvm-project/commit/61a96e5afadd034e7d13126f0e43731bbad7ad89
Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
A llvm/test/Transforms/LoopRotate/coroutine.ll
Log Message:
-----------
[NFC] Precommit a coroutine test for LoopRotate (#82031)
This is to provide a baseline test for
https://github.com/llvm/llvm-project/pull/81937.
Commit: 513d9f2395ea017e72602ca6e747a2e061ab8c3f
https://github.com/llvm/llvm-project/commit/513d9f2395ea017e72602ca6e747a2e061ab8c3f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/test/tools/llvm-dwarfdump/AArch64/ptrauth.s
Log Message:
-----------
[ptrauth] Teach LLVM & LLDB about LLVM_ptrauth_authentication_mode (#82272)
Teach LLVM & LLDB about `DW_AT_LLVM_ptrauth_authentication_mode`
Commit: 13dce35876acdd35269f7d64c187c1d831bbf980
https://github.com/llvm/llvm-project/commit/13dce35876acdd35269f7d64c187c1d831bbf980
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/test/API/sanity/TestSettingSkipping.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/Shell/helper/build.py
Log Message:
-----------
[lldb] Migrate distutils.version.LooseVersion to packaging (#82066)
The distutils package has been deprecated and was removed from Python
3.12. The migration page [1] advises to use the packaging module
instead. Since Python 3.6 that's vendored into pkg_resources.
[1] https://peps.python.org/pep-0632/#migration-advice
Commit: 030d07574f0252c21ed28ae258a5af0e577ea37b
https://github.com/llvm/llvm-project/commit/030d07574f0252c21ed28ae258a5af0e577ea37b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/bf16_imm.s
Log Message:
-----------
[AMDGPU] Fix bf16 inv2pi inline constant hadling (#82283)
Inline constant 1/(2*pi) has the truncated value 0x3e22. According to
the spec it is not rounded. A bf16 value in a nutshall is a fp32 value
with cleared 16 bites of mantissa. The value 0x3e22 converted to fp32 is
0.158203125 and the next representable value 0x3e23 means 0.1591796875.
The fp32 value of 1/(2*pi) = 0.15915494 cannot be represented in bf16.
Although since bf16 values are essentailly truncated fp32 values we can
use 0.15915494 as an idiomatic representation of 1/(2*pi) inline
constant. This is also consistent with sp3 behaviour. The patch fixes
the problem that value we are printing for inv2pi inline constant is not
parsed as inv2pi by the asm parser and gets rounded.
Commit: c3b87a8810535b95ed1abd7c1ebd330131f68890
https://github.com/llvm/llvm-project/commit/c3b87a8810535b95ed1abd7c1ebd330131f68890
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow ASSERT and atomic<T> operations in a trivial function (#82063)
Commit: eac8604d989cb4220367937bae04937e67b9001b
https://github.com/llvm/llvm-project/commit/eac8604d989cb4220367937bae04937e67b9001b
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Add support for tensor.unpack static shapes inference. (#81702)
The revision does not refactor the inferStaticShape for pack and unpack
ops because they can diverge quickly. Because there are more dimensions
can be inferred (i.e., with inner_tile_sizes) if the pack op does not
have padding value.
This is a follow-up of https://github.com/llvm/llvm-project/pull/80848
Commit: 66d8377dbddbf8eb2d692b93e5984bb38fa698e7
https://github.com/llvm/llvm-project/commit/66d8377dbddbf8eb2d692b93e5984bb38fa698e7
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/utils/count_running_jobs.py
Log Message:
-----------
[Github] Add ability to filter jobs in job counting script (#82136)
This patch adds a new flag pair, --filter-gha-runners, and
--no-filter-gha-runners, that filters out all non-Github hosted runners
so that we can actual counts of the Github runners, where we are
actually limited.
Commit: 6f469d60046049edd33eaa02e6a4be074c94a7f5
https://github.com/llvm/llvm-project/commit/6f469d60046049edd33eaa02e6a4be074c94a7f5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
Apply clang-tidy fixes for bugprone-copy-constructor-init in TestPatterns.cpp (NFC)
Commit: 3029acb8e2f9bd4645b4d99b417ebca924c88ae9
https://github.com/llvm/llvm-project/commit/3029acb8e2f9bd4645b4d99b417ebca924c88ae9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in TestBytecodeCallbacks.cpp (NFC)
Commit: 1cf4cc007be0255fa74f7ed04fb16be6dee1cce5
https://github.com/llvm/llvm-project/commit/1cf4cc007be0255fa74f7ed04fb16be6dee1cce5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in TestBytecodeCallbacks.cpp (NFC)
Commit: 6b72c37958c3d8aa0cfa48c4ad6509dd6ea37749
https://github.com/llvm/llvm-project/commit/6b72c37958c3d8aa0cfa48c4ad6509dd6ea37749
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/IR/TestVisitors.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in TestVisitors.cpp (NFC)
Commit: 4345b20508b5702c69dd1649c251c4615014dbd2
https://github.com/llvm/llvm-project/commit/4345b20508b5702c69dd1649c251c4615014dbd2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/test/lib/Transforms/TestConstantFold.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in TestConstantFold.cpp (NFC)
Commit: 21631494b068d9364b8dc8f18e59adee9131a0a5
https://github.com/llvm/llvm-project/commit/21631494b068d9364b8dc8f18e59adee9131a0a5
Author: jimingham <jingham at apple.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/test/API/commands/help/TestHelp.py
Log Message:
-----------
Centralize the handling of completion for simple argument lists. (#82085)
Most commands were adding argument completion handling by themselves,
resulting in a lot of unnecessary boilerplate. In many cases, this could
be done generically given the argument definition and the entries in the
g_argument_table.
I'm going to address this in a couple passes. In this first pass, I
added handling of commands that have only one argument list, with one
argument type, either single or repeated, and changed all the commands
that are of this sort (and don't have other bits of business in their
completers.)
I also added some missing connections between arg types and completions
to the table, and added a RemoteFilename and RemotePath to use in places
where we were using the Remote completers. Those arguments used to say
they were "files" but they were in fact remote files.
I also added a module arg type to use where we were using the module
completer. In that case, we should call the argument module.
Commit: 91a384621e5b762d9c173ffd247cfeadd5f436a2
https://github.com/llvm/llvm-project/commit/91a384621e5b762d9c173ffd247cfeadd5f436a2
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[cmake] Add minor version to library SONAME (#79376)
We need to do this now that we are bumping the minor release number when
we create the release branch.
This also results in a slight change to the library names for LLVM. The
main library now has a more convential library name:
'libLLVM.so.$major.$minor'. The old library name: libLLVM-$major.so is
now a symlink that points to the new library. However, the symlink is
not present in the build directory. It is only present in the install
directory.
The library name was changed because it helped to keep the CMake changes
more simple.
Fixes #76273
Commit: 76a247271507f009a186e81c7f90076ffb043ec3
https://github.com/llvm/llvm-project/commit/76a247271507f009a186e81c7f90076ffb043ec3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__utility/pair.h
M libcxx/include/bitset
M libcxx/include/deque
M libcxx/include/experimental/memory
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/list
M libcxx/include/map
M libcxx/include/queue
M libcxx/include/stack
M libcxx/include/tuple
M libcxx/include/unordered_map
M libcxx/include/vector
Log Message:
-----------
[libc++] Refactor more __enable_ifs to the canonical style (#81457)
This brings the code base closer to having only a single style of
`enable_if`s.
Commit: 9c6df7d90a74c3b98e33d3edf0b5d8982093b4f7
https://github.com/llvm/llvm-project/commit/9c6df7d90a74c3b98e33d3edf0b5d8982093b4f7
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/utils/count_running_jobs.py
Log Message:
-----------
[Github] Add ability to record jobs over time to job counting script (#82137)
This patch adds new flags to the count_running_jobs.py script to enable
the collection of data over a period of time. Specifically, the
--output_file flag is added to enable writing output data to a file, and
the --data-collection-interval flag is added to configure the frequency
that the script checks the job count.
Commit: 61ae7e498253d72422cef853798fc2bee1c731cf
https://github.com/llvm/llvm-project/commit/61ae7e498253d72422cef853798fc2bee1c731cf
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
Log Message:
-----------
[RISCV] Select pattern (shl (sext_vl/zext_vl), 1) to VWADD/VWADDU. (#82225)
Previously, we already had similar selection pattern for (shl (ext)) and
(shl_vl (ext_vl)).
Commit: 71e0623110b674765fb9349f449279faa7361e3d
https://github.com/llvm/llvm-project/commit/71e0623110b674765fb9349f449279faa7361e3d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/test/API/sanity/TestSettingSkipping.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/Shell/helper/build.py
Log Message:
-----------
Revert "[lldb] Migrate distutils.version.LooseVersion to packaging" (#82297)
Reverts llvm/llvm-project#82066 because the following tests started
failing after:
[lldb-api.commands/expression/import-std-module/deque-basic.TestDequeFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_deque-basic/TestDequeFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/deque-dbg-info-content.TestDbgInfoContentDequeFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/forward_list.TestForwardListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_forward_list/TestForwardListFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/forward_list-dbg-info-content.TestDbgInfoContentForwardListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/list.TestListFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_list/TestListFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/non-module-type-separation.TestNonModuleTypeSeparation.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_non-module-type-separation/TestNonModuleTypeSeparation_py/)
[lldb-api.commands/expression/import-std-module/queue.TestQueueFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_queue/TestQueueFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/retry-with-std-module.TestRetryWithStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_retry-with-std-module/TestRetryWithStdModule_py/)
[lldb-api.commands/expression/import-std-module/unique_ptr.TestUniquePtrFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_unique_ptr/TestUniquePtrFromStdModule_py/)
[lldb-api.commands/expression/import-std-module/unique_ptr-dbg-info-content.TestUniquePtrDbgInfoContent.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent_py/)
[lldb-api.commands/expression/import-std-module/vector-of-vectors.TestVectorOfVectorsFromStdModule.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/commands_expression_import-std-module_vector-of-vectors/TestVectorOfVectorsFromStdModule_py/)
[lldb-api.functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr.TestDataFormatterLibcxxSharedPtr.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/functionalities_data-formatter_data-formatter-stl_libcxx_shared_ptr/TestDataFormatterLibcxxSharedPtr_py/)
[lldb-api.functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr.TestDataFormatterLibcxxUniquePtr.py](https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/66513/testReport/junit/lldb-api/functionalities_data-formatter_data-formatter-stl_libcxx_unique_ptr/TestDataFormatterLibcxxUniquePtr_py/)
Commit: 744616b3aebd008a5ad0e9de9f82f5e284440ab1
https://github.com/llvm/llvm-project/commit/744616b3aebd008a5ad0e9de9f82f5e284440ab1
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M llvm/include/llvm/Support/ThreadPool.h
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/LTO/LTO.cpp
M mlir/include/mlir/IR/Threading.h
M mlir/lib/ExecutionEngine/AsyncRuntime.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Pass/Pass.cpp
Log Message:
-----------
Rename `ThreadPool::getThreadCount()` to `getMaxConcurrency()` (NFC) (#82296)
This is addressing a long-time TODO to rename this misleading API. The
old one is preserved for now but marked deprecated.
Commit: 9ed8b272c30a01c450616f0ed8b2373d5d618ebb
https://github.com/llvm/llvm-project/commit/9ed8b272c30a01c450616f0ed8b2373d5d618ebb
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/test/API/commands/help/TestHelp.py
Log Message:
-----------
Revert "Centralize the handling of completion for simple argument lists. (#82085)"
This reverts commit 21631494b068d9364b8dc8f18e59adee9131a0a5.
Reverted because of greendragon failure:
******************** TEST 'lldb-api :: functionalities/completion/TestCompletion.py' FAILED ********************
Script:
Commit: 8ac7c4f3c0796d575515e276a1273c550c867051
https://github.com/llvm/llvm-project/commit/8ac7c4f3c0796d575515e276a1273c550c867051
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
Log Message:
-----------
[SPIRV] Fix warning after #81683
Commit: 8c5c4d9a63bd0cba7f025431e06f63d032010393
https://github.com/llvm/llvm-project/commit/8c5c4d9a63bd0cba7f025431e06f63d032010393
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
A llvm/test/Transforms/Coroutines/coro-async-notail-wasm.ll
Log Message:
-----------
[Coro][WebAssembly] Add tail-call check for async lowering (#81481)
This patch fixes a verifier error when async lowering is used for
WebAssembly target without tail-call feature. This missing check was
revealed by b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab, which removed
inlining of the musttail'ed call and it started leaving the invalid call
at the verification stage. Additionally, `TTI::supportsTailCallFor` did
not respect the concrete TTI's `supportsTailCalls` implementation, so it
always returned true even though `supportsTailCalls` returned false, so
this patch also fixes the wrong CRTP base class implementation.
Commit: 0c02329ff375100ddcf2cb104aebe97bb3c9126f
https://github.com/llvm/llvm-project/commit/0c02329ff375100ddcf2cb104aebe97bb3c9126f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/test/API/sanity/TestSettingSkipping.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/Shell/helper/build.py
Log Message:
-----------
[lldb] Migrate distutils.version.LooseVersion to packaging (#82066)
The distutils package has been deprecated and was removed from Python
3.12. The migration page [1] advises to use the packaging module
instead. Since Python 3.6 that's vendored into pkg_resources.
[1] https://peps.python.org/pep-0632/#migration-advice
Commit: d9f9775ac6289271d57671c55166fa0cad61075b
https://github.com/llvm/llvm-project/commit/d9f9775ac6289271d57671c55166fa0cad61075b
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
R llvm/test/DebugInfo/fixed-point.ll
Log Message:
-----------
Revert "[llvm] Fix assertion error where we didn't check fixed point types." (#82285)
These changes break the `LLVM::fixed-point.ll` test some targets what
fails the builds for those targets
(more details
https://github.com/llvm/llvm-project/pull/80757#issuecomment-1949382211)
The problem wasn't fixed for few days,
Reverts llvm/llvm-project#80757
Commit: 0a6c74e21cc6750c843310ab35b47763cddaaf32
https://github.com/llvm/llvm-project/commit/0a6c74e21cc6750c843310ab35b47763cddaaf32
Author: Craig Hesling <craig at hesling.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/GettingStarted.rst
M llvm/docs/GettingStartedVS.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[python] Bump Python minimum version to 3.8 (#78828)
As per the RFC
https://discourse.llvm.org/t/rfc-upgrading-llvms-minimum-required-python-version/67571,
raise the minimum Python version to ensure that the Python syntax
doesn't become overly obsolete, to enable new Python feature usage,
and to improve the maintainability of CI.
One of the primary use cases for this higher Python version is to enable
python type annotations that are more aligned with current Python
best practices. This is not only important for our own internal Python
for testing, but for the Python bindings that are exposed to users.
Commit: c8fab880fad987fbab6bfbcdab72219f5d35e645
https://github.com/llvm/llvm-project/commit/c8fab880fad987fbab6bfbcdab72219f5d35e645
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] [C++20] [Modules] Ideas for transitioning to modules (#80687)
This patch tries to provide some ideas to transform an existing
libraries to modules. I feel this is helpful for users who is interested
in modules from my observation. While the syntax of modules look easy to
understand, the practice gets harder if the users want to make
compatible work with headers. Especially the `std` module can be
installed in clang18, I think such document may be helpful.
I tried to not be too wordy in this document and I don't want the users
to have impressions that they have to follow this or this is the best
practice. So I tried to use the term `idea` imply the users this is not
compulsory.
I add some regular reviewers for modules, but review opinions from users
are highly recommended.
I want to land this before the releasing of clang18 (in the early
March). We can and should improve this continuously.
Commit: 49775b1dc0cdb3a9d18811f67f268e3b3a381669
https://github.com/llvm/llvm-project/commit/49775b1dc0cdb3a9d18811f67f268e3b3a381669
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
Log Message:
-----------
[Serialization] Record whether the ODR is skipped (#82302)
Close https://github.com/llvm/llvm-project/issues/80570.
In
https://github.com/llvm/llvm-project/commit/a0b6747804e46665ecfd00295b60432bfe1775b6,
we skipped ODR checks for decls in GMF. Then it should be natural to
skip storing the ODR values in BMI.
Generally it should be fine as long as the writer and the reader keep
consistent.
However, the use of preamble in clangd shows the tricky part.
For,
```
// test.cpp
module;
// any one off these is enough to crash clangd
// #include <iostream>
// #include <string_view>
// #include <cmath>
// #include <system_error>
// #include <new>
// #include <bit>
// probably many more
// only ok with libc++, not the system provided libstdc++ 13.2.1
// these are ok
export module test;
```
clangd will store the headers as preamble to speedup the parsing and the
preamble reuses the serialization techniques. (Generally we'd call the
preamble as PCH. However it is not true strictly. I've tested the PCH
wouldn't be problematic.) However, the tricky part is that the preamble
is not modules. It literally serialiaze and deserialize things. So
before clangd parsing the above test module, clangd will serialize the
headers into the preamble. Note that there is no concept like GMF now.
So the ODR bits are stored. However, when clangd parse the file
actually, the decls from preamble are thought as in GMF literally, then
hte ODR bits are skipped. Then mismatch happens.
To solve the problem, this patch adds another bit for decls to record
whether or not the ODR bits are skipped.
Commit: f02f169cecf3aa243f73722f46a905f3012bf040
https://github.com/llvm/llvm-project/commit/f02f169cecf3aa243f73722f46a905f3012bf040
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
Log Message:
-----------
[gn build] Port 49775b1dc0cd
Commit: 2dfa30d0ca6fb6991640a18e53401d82f567f8ff
https://github.com/llvm/llvm-project/commit/2dfa30d0ca6fb6991640a18e53401d82f567f8ff
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/GettingStarted.rst
M llvm/docs/GettingStartedVS.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/TestingGuide.rst
Log Message:
-----------
Revert "[python] Bump Python minimum version to 3.8 (#78828)"
This reverts commit 0a6c74e21cc6750c843310ab35b47763cddaaf32.
This created a lot of post-commit failures due to buildbots running
older versions of Python.
Commit: 7661ade5d1ac4fc8e1e2339b2476cb8e45c24641
https://github.com/llvm/llvm-project/commit/7661ade5d1ac4fc8e1e2339b2476cb8e45c24641
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
Log Message:
-----------
[libc++] Add details about string annotations (#80912)
This commit adds information that only long strings are annotated, and
with all allocators by default.
To read why short string annotations are not turned on yet, read comments in a related
PR: https://github.com/llvm/llvm-project/pull/79536
---------
Co-authored-by: Mark de Wever <zar-rpg at xs4all.nl>
Commit: f6ac598c104ed3c9f4bcbbe830f86500c8d1013e
https://github.com/llvm/llvm-project/commit/f6ac598c104ed3c9f4bcbbe830f86500c8d1013e
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/release/test-release.sh
Log Message:
-----------
[Release] Don't build during test-release.sh Phase 3 install (#82001)
As described in [test-release.sh ninja install does builds in Phase
3](https://github.com/llvm/llvm-project/issues/80999), considerable
parts of Phase 3 of a `test-release.sh` build are run by `ninja
install`, ignoring both `$Verbose` and the parallelism set via `-j NUM`.
This patches fixes this by not specifying any explicit build target for
Phase 3, thus running the full build as usual.
Tested on `sparc64-unknown-linux-gnu`.
Commit: 96e56573089b2a211c71660b0ffc7deb21049bdd
https://github.com/llvm/llvm-project/commit/96e56573089b2a211c71660b0ffc7deb21049bdd
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A clang/test/Modules/pr81745.cppm
Log Message:
-----------
[NFC] [Modules] Add a test for issue 81745
Although the root cause of
https://github.com/llvm/llvm-project/issues/81745 shows not related to
modules, it should be good to add a regression test for that.
Commit: 5911334650a77b9f06009ab906ab778e6ccd90c8
https://github.com/llvm/llvm-project/commit/5911334650a77b9f06009ab906ab778e6ccd90c8
Author: martinboehme <mboehme at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
Log Message:
-----------
[clang][dataflow][NFC] Add a FIXME to handling of union initialization. (#82239)
We want to make it clear that the current behavior doesn't yet handle
unions
properly.
Commit: 45c226d4521515ff1a38292331d82356b273fff7
https://github.com/llvm/llvm-project/commit/45c226d4521515ff1a38292331d82356b273fff7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-19 (Mon, 19 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/IR/DialectBase.td
M mlir/include/mlir/TableGen/Dialect.h
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/TableGen/Dialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/Test/TestDialect.td
M mlir/tools/mlir-tblgen/DialectGen.cpp
Log Message:
-----------
[MLIR] Add ODS support for generating helpers for dialect (discardable) attributes (#77024)
This is a new ODS feature that allows dialects to define a list of
key/value pair representing an attribute type and a name.
This will generate helper classes on the dialect to be able to
manage discardable attributes on operations in a type safe way.
For example the `test` dialect can define:
```
let discardableAttrs = (ins
"mlir::IntegerAttr":$discardable_attr_key,
);
```
And the following will be generated in the TestDialect class:
```
/// Helper to manage the discardable attribute `discardable_attr_key`.
class DiscardableAttrKeyAttrHelper {
::mlir::StringAttr name;
public:
static constexpr ::llvm::StringLiteral getNameStr() {
return "test.discardable_attr_key";
}
constexpr ::mlir::StringAttr getName() {
return name;
}
DiscardableAttrKeyAttrHelper(::mlir::MLIRContext *ctx)
: name(::mlir::StringAttr::get(ctx, getNameStr())) {}
mlir::IntegerAttr getAttr(::mlir::Operation *op) {
return op->getAttrOfType<mlir::IntegerAttr>(name);
}
void setAttr(::mlir::Operation *op, mlir::IntegerAttr val) {
op->setAttr(name, val);
}
bool isAttrPresent(::mlir::Operation *op) {
return op->hasAttrOfType<mlir::IntegerAttr>(name);
}
void removeAttr(::mlir::Operation *op) {
assert(op->hasAttrOfType<mlir::IntegerAttr>(name));
op->removeAttr(name);
}
};
DiscardableAttrKeyAttrHelper getDiscardableAttrKeyAttrHelper() {
return discardableAttrKeyAttrName;
}
```
User code having an instance of the TestDialect can then manipulate this
attribute on operation using:
```
auto helper = testDialect.getDiscardableAttrKeyAttrHelper();
helper.setAttr(op, value);
helper.isAttrPresent(op);
...
```
Commit: a45df47375e50914900dcc07abd2fa67bfa0dd3b
https://github.com/llvm/llvm-project/commit/a45df47375e50914900dcc07abd2fa67bfa0dd3b
Author: Tom Praschan <13141438+tom-anders at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/test/initialize-params.test
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/LSPClient.cpp
M clang-tools-extra/clangd/unittests/LSPClient.h
Log Message:
-----------
[clangd] forward clang-tidy's readability-identifier-naming fix to textDocument/rename (#78454)
Co-authored-by: Nathan Ridge <zeratul976 at hotmail.com>
Commit: d2a26a7bd5fc7cc5752337b7f4f999642feb37dc
https://github.com/llvm/llvm-project/commit/d2a26a7bd5fc7cc5752337b7f4f999642feb37dc
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
Log Message:
-----------
[InstCombine] Do not perform binop-of-shuffle when mask is poison
A miscompilation issue has been addressed with refined checking.
Shuffle masks operand may be turned into `poison` if this does
not lead to observable changes. This however may not guarantee
binop to binop-of-shuffle replacement to be sound anymore.
Fixes: https://github.com/llvm/llvm-project/issues/82052.
Commit: 914e60748729387f45919e42335723eb9d2df460
https://github.com/llvm/llvm-project/commit/914e60748729387f45919e42335723eb9d2df460
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/Transforms/test-strict-pattern-driver.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Transforms/TestConstantFold.cpp
Log Message:
-----------
[mlir][IR][NFC] Rename `notify*Removed` to `notify*Erased` (#82253)
Rename listener callback names:
* `notifyOperationRemoved` -> `notifyOperationErased`
* `notifyBlockRemoved` -> `notifyBlockErased`
The current callback names are misnomers. The callbacks are triggered
when an operation/block is erased, not when it is removed (unlinked).
E.g.:
```c++
/// Notify the listener that the specified operation is about to be erased.
/// At this point, the operation has zero uses.
///
/// Note: This notification is not triggered when unlinking an operation.
virtual void notifyOperationErased(Operation *op) {}
```
This change is in preparation of adding listener support to the dialect
conversion. The dialect conversion internally unlinks IR before erasing
it at a later point of time. There is an important difference between
"remove" and "erase". Lister callback names should be accurate to avoid
confusion.
Commit: 1b894864862d8049e4a2567a472efdc2eda1e035
https://github.com/llvm/llvm-project/commit/1b894864862d8049e4a2567a472efdc2eda1e035
Author: Frederic Cambus <fred at statdns.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/openbsd-headers.test
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
[llvm-objdump] Add support for the PT_OPENBSD_SYSCALLS segment type. (#82121)
Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h
Commit: a8d7511811c7d7c689c3e8f858e8e00a56aba152
https://github.com/llvm/llvm-project/commit/a8d7511811c7d7c689c3e8f858e8e00a56aba152
Author: Frederic Cambus <fred at statdns.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/program-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readobj] Add support for the PT_OPENBSD_SYSCALLS segment type. (#82122)
Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h
Commit: 1cbe26d302ca7d3573c1bf43114dfd7d2f0ca476
https://github.com/llvm/llvm-project/commit/1cbe26d302ca7d3573c1bf43114dfd7d2f0ca476
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[PowerPC] add PowerPC path for PR labeler (#82200)
Add paths for PowerPC to the PR labeler.
Commit: 119a72866f0e143127355fe6e03f57c4f8bab1ae
https://github.com/llvm/llvm-project/commit/119a72866f0e143127355fe6e03f57c4f8bab1ae
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Format/Format.cpp
Log Message:
-----------
[clang-format][NFC] Remove redundant calls to guessIsObjC()
Running clang-format on the following input
```
int lambdas() {
return [&] {
return [&] {
return [&] {
return [&] {
return [&] {
return [&] {
return [&] { return 3; } ();
} (); } (); } (); } (); } (); } (); }
```
will finish instantly if you pass clang-format a .cpp input with this
content, but hang for tens of seconds if you pass the same via stdin
or a .h file.
Adding some debug statements showed that guessIsObjC was getting called
tens of millions of times in a manner that scales very rapidly with the
amount of nesting (if clang-format just takes a few seconds with that
input passed on stdin, try adding a couple more levels of nesting).
This change moves the recursive guessIsObjC call one level of nesting
out of an inner loop whose iterations don't affect the input to the
recursive call. This resolves the performance issue.
Authored-by: davidvc1 and Uran198
Differential Revision: https://reviews.llvm.org/D114837
Differential Revision: https://reviews.llvm.org/D47515
Commit: 63a4b4f610e729ee71758bdc29da10faf5b943b4
https://github.com/llvm/llvm-project/commit/63a4b4f610e729ee71758bdc29da10faf5b943b4
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
Log Message:
-----------
[GlobalIsel] Combine logic of floating point compares (#81886)
It is purely based on symmetry. Registers can be scalars, vectors, and
non-constants.
X < 5.0 || X > 5.0
->
X != 5.0
X < Y && X > Y
->
FCMP_FALSE
X < Y && X < Y
->
FCMP_TRUE
see InstCombinerImpl::foldLogicOfFCmps
Commit: c7799fadfe069c982ad27509e9de6d8d4b7b9007
https://github.com/llvm/llvm-project/commit/c7799fadfe069c982ad27509e9de6d8d4b7b9007
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
Log Message:
-----------
[InstCombine] Add more dependent IV tests (NFC)
Commit: 37c19f9a35c5adad009ad82c608b9ca11155ec06
https://github.com/llvm/llvm-project/commit/37c19f9a35c5adad009ad82c608b9ca11155ec06
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/test/Analysis/Inputs/expected-plists/unix-fns.c.plist
A clang/test/Analysis/unix-fns-o_creat.c
M clang/test/Analysis/unix-fns.c
Log Message:
-----------
[analyzer] UnixAPIMisuseChecker Get O_CREAT from preprocessor (#81855)
Now calling `open` with the `O_CREAT` flag and no mode parameter will
raise an issue in any system that defines `O_CREAT`.
The value for this flag is obtained after the full source code has been
parsed, leveraging `checkASTDecl`.
Hence, any `#define` or `#undefine` of `O_CREAT` following an `open` may
alter the results. Nevertheless, since redefining reserved identifiers
is UB, this is probably ok.
Commit: 9fa18f65983ba761c9fbf7be4c67801a14bf4b34
https://github.com/llvm/llvm-project/commit/9fa18f65983ba761c9fbf7be4c67801a14bf4b34
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp] Handle complex values in visitBool() (#79452)
In C++, we get a ComplexToBool cast, but we might not in C.
Commit: 283a6b9936657712f61c38459c87507e587e3625
https://github.com/llvm/llvm-project/commit/283a6b9936657712f61c38459c87507e587e3625
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
[UTC] Fix SyntaxWarning on Python 3.12 (#82327)
On Python 3.12 we now get a warning in common.py:
llvm/utils/UpdateTestChecks/common.py:488: SyntaxWarning: invalid escape
sequence '\s'
This fixes it by using a raw string literal, see
https://github.com/llvm/llvm-project/pull/78036 and
https://docs.python.org/3/library/re.html
Commit: 756ff969fa01f4666276b926fbc4d24840860d0b
https://github.com/llvm/llvm-project/commit/756ff969fa01f4666276b926fbc4d24840860d0b
Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
A llvm/test/Analysis/Lint/abort-on-error.ll
Log Message:
-----------
[Lint] Add option --lint-abort-on-error (#81999)
This option makes the lint pass abort if errors were found.
This is intended to help lit testing where the lint pass is used and
lint errors should be detected.
Previously, this required checking for non-empty stderr.
Commit: 76e79b0bef6c547e74b0c5e5900e41b44eb2a2f8
https://github.com/llvm/llvm-project/commit/76e79b0bef6c547e74b0c5e5900e41b44eb2a2f8
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
Log Message:
-----------
Fix duplicate mapping detection in gpu::setMappingAttr() (#77499)
Commit: 3be913289893bf695ef679647c0e1a71128ae812
https://github.com/llvm/llvm-project/commit/3be913289893bf695ef679647c0e1a71128ae812
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Log Message:
-----------
[clang][analyzer] Simplify code of StreamChecker - part 2 (NFC). (#82228)
Continuation of commit 42b5037, apply changes to the remaining
functions.
Code for function `fflush` was not changed, because it is more special
compared to the others.
Commit: ec2c770b9f9a0e9eca4a893383d2b27dd4c0bfe7
https://github.com/llvm/llvm-project/commit/ec2c770b9f9a0e9eca4a893383d2b27dd4c0bfe7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/getelementptr.ll
Log Message:
-----------
[InstCombine] Add unsigned variants of gep exact div tests (NFC)
Commit: 39fd3fcd4527d627ee7f526a651aa47c27a9ad0d
https://github.com/llvm/llvm-project/commit/39fd3fcd4527d627ee7f526a651aa47c27a9ad0d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/shifts.cpp
Log Message:
-----------
[clang][Interp] Don't fail on shifts greater than type bitwidth
We need to limit the shift width to the type bitwidth, then do the
shift and report success, but still diagnose what we limited the
shiftwidth.
Commit: 1b12974ccba6478b27d7ba13ceead2864ab4be20
https://github.com/llvm/llvm-project/commit/1b12974ccba6478b27d7ba13ceead2864ab4be20
Author: David Green <david.green at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/fpext.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
Log Message:
-----------
[AArch64][AMDGPU][GlobalISel] Remove vector handling from unmerge_dead_to_trunc (#82224)
This combine transforms an unmerge where only the first element is used
into a truncate. That works OK for scalar but for vector needs to insert
a bitcast to integers, perform the truncate then bitcast back to
vectors. This generates more awkward code than using an Unmerge.
Commit: b3e4686af37c7879790f48f244afcb2da21d3af8
https://github.com/llvm/llvm-project/commit/b3e4686af37c7879790f48f244afcb2da21d3af8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_{ctz,clz,bswap}
Commit: 9bec1ef5f97b1f3cf2b994dced73268ebb312972
https://github.com/llvm/llvm-project/commit/9bec1ef5f97b1f3cf2b994dced73268ebb312972
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] assignments aren't always lvalues in C
If they aren't we need to load from the pointer the Store op
leaves on the stack.
Commit: 90c46be61d8f45f1f307a06912fadc5fb0c1673c
https://github.com/llvm/llvm-project/commit/90c46be61d8f45f1f307a06912fadc5fb0c1673c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
Log Message:
-----------
[IndVars] Add test for #82243.
Test for https://github.com/llvm/llvm-project/issues/82243.
Commit: f122268c04410ba949b6affc99cd329630add576
https://github.com/llvm/llvm-project/commit/f122268c04410ba949b6affc99cd329630add576
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
A llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
M llvm/lib/Target/AMDGPU/R600.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU][NFC] Extend PredicateControl to support True16 predicates. (#82245)
Using OtherPredicates for True16 predicates is often problematic due to
interference with other kinds of predicates, particularly when this
overrides predicates inherited from pseudo instructions.
Commit: 26d4afc3de86ca5416c8e38000362c526b6808cd
https://github.com/llvm/llvm-project/commit/26d4afc3de86ca5416c8e38000362c526b6808cd
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/getelementptr.ll
Log Message:
-----------
[InstCombine] Fold gep of exact unsigned division (#82334)
Extend the transform added in
https://github.com/llvm/llvm-project/pull/76458 to also handle unsigned
division. X exact/ Y * Y == X holds independently of whether the
division is signed or unsigned.
Proofs: https://alive2.llvm.org/ce/z/wFd5Ec
Commit: a4d46157718573157d01a842d225267a5b2a7ef1
https://github.com/llvm/llvm-project/commit/a4d46157718573157d01a842d225267a5b2a7ef1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
[AMDGPU] Try decoding instructions longest first. NFCI. (#82014)
AMDGPUDisassembler::getInstruction tries decoding instructions using
different DecoderTables in a confusing order: first 96-bit instructions,
then some 64-bit, then 32-bit, then some more 64-bit.
This patch changes it to always try longer encodings first. The
motivation is to make getInstruction easier to understand, and to pave
the way for combining some 64-bit tables that do not need to be
separate.
Commit: 49a8fc0da4d0ddc9319e7e68eb359d68403ce384
https://github.com/llvm/llvm-project/commit/49a8fc0da4d0ddc9319e7e68eb359d68403ce384
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
R llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
R llvm/test/CodeGen/Hexagon/post-inc-vec.mir
R llvm/test/CodeGen/Hexagon/post_inc_store.mir
R llvm/test/CodeGen/Hexagon/postincopt-crash.mir
R llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
R llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
Log Message:
-----------
Revert "[Hexagon] Optimize post-increment load and stores in loops. (#82011)"
This reverts commit 0e6a48c3e8cc53f9eb5945ec04f8e03f6d2bae37.
Temporary revert as it causes bad codegen: https://github.com/llvm/llvm-project/pull/82011#issuecomment-1951426107
Commit: 8bc0cbd6c73c3230102048798446fc751f0702d1
https://github.com/llvm/llvm-project/commit/8bc0cbd6c73c3230102048798446fc751f0702d1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 49a8fc0da4d0
Commit: f1efc64b86d6fa60182c4d4a9ad7c8a051c21dbc
https://github.com/llvm/llvm-project/commit/f1efc64b86d6fa60182c4d4a9ad7c8a051c21dbc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
[Driver] Remove dead -freroll-loops flag (#82254)
Remove the `-freroll-loops` flag, which has not had any effect since the
migration to the new pass manager. The underlying pass has been removed
entirely in #80972 due to lack of maintenance and known bugs.
Fixes https://github.com/llvm/llvm-project/issues/59065.
Commit: d5922cf72cc18a7ac9f7afd1941ee2f7773d8469
https://github.com/llvm/llvm-project/commit/d5922cf72cc18a7ac9f7afd1941ee2f7773d8469
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Implement `__is_layout_compatible` (#81506)
This patch implements `__is_layout_compatible` intrinsic, which supports
`std::is_layout_compatible` type trait introduced in C++20
([P0466R5](https://wg21.link/p0466r5) "Layout-compatibility and
Pointer-interconvertibility Traits"). Name matches GCC and MSVC
intrinsic.
Basically, this patch exposes our existing machinery for checking for
layout compatibility and figuring out common initial sequences. Said
machinery is a bit outdated, as it doesn't implement
[CWG1719](https://cplusplus.github.io/CWG/issues/1719.html) "Layout
compatibility and cv-qualification revisited" and
[CWG2759](https://cplusplus.github.io/CWG/issues/2759.html)
"`[[no_unique_address]` and common initial sequence". Those defect
reports are considered out of scope of of this PR, but will be
implemented in subsequent PRs.
Partially addresses #48204
Commit: ddba6b271c07b4bb640b2f2b742710557a762142
https://github.com/llvm/llvm-project/commit/ddba6b271c07b4bb640b2f2b742710557a762142
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Stop using SDWA DecoderNamespaces. NFCI. (#82233)
64-bit SDWA encodings have to be checked first because their first 32
bits are a special case of the corresponding 32-bit non-SDWA encoding of
the same instruction. But all 64-bit encodings are checked first, so we
don't need special handling for SDWA.
Commit: dfb70c3a7c65cd5143c942ad8a18f4177c16d74e
https://github.com/llvm/llvm-project/commit/dfb70c3a7c65cd5143c942ad8a18f4177c16d74e
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/docs/Dialects/emitc.md
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
Log Message:
-----------
[mlir][EmitC] Remove `func.constant` from emitter (#82342)
As part of the renaming the Standard dialect to Func dialect, *support*
for the `func.constant` operation was added to the emitter. However, the
emitter cannot emit function types. Hence the emission for a snippet
like
```
%0 = func.constant @myfn : (f32) -> f32
func.func private @myfn(%arg0: f32) -> f32 {
return %arg0 : f32
}
```
failes with `func.mlir:1:6: error: cannot emit type '(f32) -> f32'`.
This removes `func.constant` from the emitter.
Commit: 9563746d358c68c0c4a6242fa20bc21fdf632dfe
https://github.com/llvm/llvm-project/commit/9563746d358c68c0c4a6242fa20bc21fdf632dfe
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx17.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Diagnose uninitialized global variables explicitly
There used to be some diagnostic differences between the new
interpreter and the old one.
Commit: 2ad43fa467b0b1755535c21b0795f0444d1327fd
https://github.com/llvm/llvm-project/commit/2ad43fa467b0b1755535c21b0795f0444d1327fd
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/MC/AMDGPU/bf16_imm.s
M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
Log Message:
-----------
[AMDGPU] Fix operand types for `V_DOT2_F32_BF16` (#82044)
Commit: fcd6549e5801de938935b93fd2d13020b42eebdb
https://github.com/llvm/llvm-project/commit/fcd6549e5801de938935b93fd2d13020b42eebdb
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A llvm/test/Transforms/LoopIdiom/pr82337.ll
Log Message:
-----------
[LIR] Add test for #82337 (NFC)
Commit: 4db93e5d56440be44d8ad2036e2579208c82ad37
https://github.com/llvm/llvm-project/commit/4db93e5d56440be44d8ad2036e2579208c82ad37
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
Log Message:
-----------
[IndVars] Recompute flags if needed in widenIVUse of IV increment. (#82352)
widenIVUse may hoist a wide induction increment and introduce new uses,
but does not recompute the wrap flags. In some cases this can make the
new uses of the wide IV inc more poisonous.
Update the code to recompute flags if needed when hoisting an IV. If
both the narrow and wide IV increment's flags match and we can re-use
the flags from the increments, there's no need to recompute the flags,
as the replacement won't make the new uses of the wide IV's increment
more poisonous.
Note that this also updates a stale comment which claimed that the widen
increment is only used if it dominates the new use.
The helper should also be used to guard the code added in da437330be,
which I am planning on doing separately once the helper lands.
Fixes https://github.com/llvm/llvm-project/issues/82243.
Commit: 052ee74dae3b43e5f8a4a5df9d41386ef7592c18
https://github.com/llvm/llvm-project/commit/052ee74dae3b43e5f8a4a5df9d41386ef7592c18
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Preprocessor/init.c
Log Message:
-----------
[C23] Add __TYPE_FMTB__ and __TYPE_FMTb__ predefined macros (#82361)
This adds predefined formatting macros in C23 mode for printing unsigned
integers in binary format (e.g, UINT_FAST64_FMTB). These are used to
implement the PRIb (et al) macros in inttypes.h
Fixes https://github.com/llvm/llvm-project/issues/81896
(Was previously reviewed in
[82037](https://github.com/llvm/llvm-project/pull/82037), this is fixing
some failures found post-commit.)
Commit: a1a68603145a39e6abdd35bf7a01535eb53826b1
https://github.com/llvm/llvm-project/commit/a1a68603145a39e6abdd35bf7a01535eb53826b1
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
A mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir
Log Message:
-----------
[mlir][VectorOps] Add unrolling for n-D vector.interleave ops (#80967)
This unrolls n-D vector.interleave ops like:
```mlir
vector.interleave %i, %j : vector<6x3xf32>
```
To a sequence of 1-D operations:
```mlir
%i_0 = vector.extract %i[0]
%j_0 = vector.extract %j[0]
%res_0 = vector.interleave %i_0, %j_0 : vector<3xf32>
vector.insert %res_0, %result[0] :
// ... repeated x6
```
The 1-D operations can then be directly lowered to LLVM.
Depends on: #80966
Commit: 26db845536aa4ada6231873a01252c75637fcbae
https://github.com/llvm/llvm-project/commit/26db845536aa4ada6231873a01252c75637fcbae
Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/include/llvm/ObjectYAML/XCOFFYAML.h
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
M llvm/lib/ObjectYAML/XCOFFYAML.cpp
M llvm/test/CodeGen/PowerPC/aix-dwarf.ll
M llvm/test/tools/llvm-readobj/XCOFF/sections.test
A llvm/test/tools/yaml2obj/XCOFF/dwarf-subsection-types.yaml
M llvm/tools/llvm-readobj/XCOFFDumper.cpp
M llvm/tools/obj2yaml/xcoff2yaml.cpp
Log Message:
-----------
[XCOFF] Support the subtype flag in DWARF section headers (#81667)
The section headers for XCOFF files have a subtype flag for Dwarf
sections. This PR updates obj2yaml, yaml2obj, and llvm-readobj so that
they recognize the subtype.
Commit: 493f10106f7f1799eb67be95058b251e6a3bf0af
https://github.com/llvm/llvm-project/commit/493f10106f7f1799eb67be95058b251e6a3bf0af
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
R llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
Log Message:
-----------
[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)
This patch removes the `-reverse-csr-restore-seq` option from
AArch64FrameLowering, since this is no longer used.
Commit: 9eb399b8548b835547947884b75c5fa79f977394
https://github.com/llvm/llvm-project/commit/9eb399b8548b835547947884b75c5fa79f977394
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/cast.ll
Log Message:
-----------
[InstCombine] Support zext nneg in `foldLogicCastConstant` (#82355)
This patch extends [D36234](https://reviews.llvm.org/D36234) to handle
`zext nneg` instructions.
I found this while adding support for cast instructions in
`getFreelyInvertedImpl`.
Commit: 8ca351d394290f934c2a50293712d4eddf6a97e9
https://github.com/llvm/llvm-project/commit/8ca351d394290f934c2a50293712d4eddf6a97e9
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/minmax.ll
A llvm/test/Transforms/ConstraintElimination/sext.ll
Log Message:
-----------
[ConstraintElim] Add pre-commit tests for PR82271. NFC. (#82357)
This patch adds some tests for
https://github.com/llvm/llvm-project/pull/82344.
Commit: d7a73c91b623baf5c966d9b18f6837ee808ddc89
https://github.com/llvm/llvm-project/commit/d7a73c91b623baf5c966d9b18f6837ee808ddc89
Author: cmtice <cmtice at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[LLVM][ADT] Put both vesions of 'unique' into STLExtras.h (#82312)
Currently there are two versions of llvm::unique, one that requires a
predicate, and is in STLExtras.h; and one that does not require a
predicate, and is in GenericUniformityImpl.h. This moves the one from
GenericUniformityImp.h to STlExtras.h, so they are both together, and
can both be easily called from other places inside LLVM.
Commit: 135529aab0ebe4915143f376d94f8aba6ec71e4e
https://github.com/llvm/llvm-project/commit/135529aab0ebe4915143f376d94f8aba6ec71e4e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-private.f90
Log Message:
-----------
[flang][openacc] Use the same iv privatized value in the loop region (#81821)
IV variable are privatized during acc loop lowering. An hlfir.declare
operation is added when mapping the symbol to the new private value. In
order to avoid using multiple value in the acc.loop region, we map the
symbol to the result of the hlfir.declare operation inserted.
Commit: 539febfe30fd895996cf2579d3f0cdd2a708ee61
https://github.com/llvm/llvm-project/commit/539febfe30fd895996cf2579d3f0cdd2a708ee61
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - share the same SDLoc argument instead of recreating it over and over again.
Commit: 2f1e33df3239714d54665787bd7decdcf35fd60c
https://github.com/llvm/llvm-project/commit/2f1e33df3239714d54665787bd7decdcf35fd60c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
Log Message:
-----------
[X86] Fold add(psadbw(X,0),psadbw(Y,0)) -> psadbw(add(X,Y),0)
If the vXi8 add(X,Y) is guaranteed not to overflow then we can push the addition though the psadbw nodes (being used for reduction) and only need a single psadbw node.
Noticed while working on CTPOP reduction codegen
Commit: 8f7ae64ea108de54d9aad963c55e1aef7dc62b86
https://github.com/llvm/llvm-project/commit/8f7ae64ea108de54d9aad963c55e1aef7dc62b86
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
Log Message:
-----------
[libc][cpp] add `atomic_signal_fence` (#82138)
Add `atomic_signal_fence`. This will be useful in
https://gustedt.gitlabpages.inria.fr/c23-library/#memset_explicit.
Commit: ababa964752d5bfa6eb608c97f19d4e68df1d243
https://github.com/llvm/llvm-project/commit/ababa964752d5bfa6eb608c97f19d4e68df1d243
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/ValueTest.cpp
Log Message:
-----------
[RemoveDIs][NFC] Introduce DbgRecord base class [1/3] (#78252)
Patch 1 of 3 to add llvm.dbg.label support to the RemoveDIs project. The
patch stack adds a new base class
-> 1. Add DbgRecord base class for DPValue and the not-yet-added
DPLabel class.
2. Add the DPLabel class.
3. Enable dbg.label conversion and add support to passes.
Patches 1 and 2 are NFC.
In the near future we also will rename DPValue to DbgVariableRecord and
DPLabel to DbgLabelRecord, at which point we'll overhaul the function
names too. The name DPLabel keeps things consistent for now.
Commit: 3e76e6083da3717fafbb2345eb8a5d1bdac3013e
https://github.com/llvm/llvm-project/commit/3e76e6083da3717fafbb2345eb8a5d1bdac3013e
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/IR/Function.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Set new-dbg-info flag from Modules correctly (#82373)
It turns out there's a pathway for Functions to be inserted into modules
without having the "New" debug-info flag set correctly, which this patch
fixes. Sadly there isn't a Module::insert method to instrument out
there, everyone touches the list directly.
This fix exposes a path where such functions are produced in the
outliner in the wrong mode; requiring a fix there to correctly drop
RemoveDIs-mode debug-info. This is covered by
test/DebugInfo/AArch64/ir-outliner.ll
Commit: 96c5b8cbd19b172b257cb3401aeba666184f7a2a
https://github.com/llvm/llvm-project/commit/96c5b8cbd19b172b257cb3401aeba666184f7a2a
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/c23.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/stdckdint-macros.h
A libc/include/stdckdint.h.def
M libc/spec/stdc.td
A libc/src/stdckdint/CMakeLists.txt
M libc/test/include/CMakeLists.txt
A libc/test/include/stdckdint_test.cpp
Log Message:
-----------
[libc][c23] add definitions for stdckdint.h (#82059)
See docs at
- https://gustedt.gitlabpages.inria.fr/c23-library/#stdckdint
- https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf (Ch7.10)
Compiler header:
-
https://github.com/llvm/llvm-project/blob/450462cbaceddf57812ce15b5135b17f65a77654/clang/lib/Headers/stdckdint.h
- New version of GCC
(https://github.com/gcc-mirror/gcc/blob/cd503b0616462445381a8232fb753239d319af76/gcc/ginclude/stdckdint.h)
also provides this.
Commit: a73e9244621a6186859644012c295740465ad844
https://github.com/llvm/llvm-project/commit/a73e9244621a6186859644012c295740465ad844
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
Log Message:
-----------
[libc] use LIBC_HAS_BUILTIN instead __has_builtin (#82377)
fix the issue that `__has_builtin` is undefined on some non-clang
targets.
Commit: aa7076fc9b7d4b92fc71637bfdb7cb268bcd53bc
https://github.com/llvm/llvm-project/commit/aa7076fc9b7d4b92fc71637bfdb7cb268bcd53bc
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/Analysis/ValueTracking/constant-ranges.ll
Log Message:
-----------
[ValueTracking] Add tests for constant range of `{s|u}rem C, x`; NFC
Commit: 9facaaddadd63a1668c212c8a9ef94a5ad4c6629
https://github.com/llvm/llvm-project/commit/9facaaddadd63a1668c212c8a9ef94a5ad4c6629
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/constant-ranges.ll
Log Message:
-----------
[ValueTracking] Improve tracking for constant range of `{s|u}rem C, x`
Current we only support `C` as the remainder, but we can also limit
with a constant numerator.
Proofs: https://alive2.llvm.org/ce/z/QB95gU
Closes #82303
Commit: 9923d29cfa917a0c25f3237e0cae9567c8806071
https://github.com/llvm/llvm-project/commit/9923d29cfa917a0c25f3237e0cae9567c8806071
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Merge main VPlan verifer with HCFG verifier.
Unify VPlan verifiers in verifyVPlanIsValid. This adds verification for
various properties on blocks to the verifier used for VPlans generated
by the inner loop vectorizer. It also adds def-use checks for the
verifier used in the VPlan native path.
This drops the separate flag to enable HCFG verification. Instead, all
VPlans are verified once they have been created, if assertions are
enabled.
This also removes VPWidenPHIRecipe from VPHeaderPHIRecipe; it is used to
model any phi node in the native path.
Commit: 3b7ba2482e2c1b9b240664a247db55d253a3e1f5
https://github.com/llvm/llvm-project/commit/3b7ba2482e2c1b9b240664a247db55d253a3e1f5
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/enum.c
Log Message:
-----------
[C23] No longer assert on huge enumerator values (#81760)
C23 added the wb and uwb suffixes to generate a bit-precise integer
value. These values can be larger than what is representable in intmax_t
or uintmax_t.
We were asserting that an enumerator constant could not have a value
larger than unsigned long long but that's now a possibility. This patch
turns the assertion into a "value too large" diagnostic.
Note, we do not yet implement WG14 N3029 and so the behavior of this
patch will cause the enumerator to be cast to unsigned long long, but
this behavior may change in the future. GCC selects __uint128_t as the
underlying type for such an enumeration and we may want to match that
behavior in the future. This patch has several FIXME comments related to
this and the release notes call out the possibility of a change in
behavior in the future.
Fixes https://github.com/llvm/llvm-project/issues/69352
Commit: 94100bc2fb1a39dbeb43d18a95176097c53f1324
https://github.com/llvm/llvm-project/commit/94100bc2fb1a39dbeb43d18a95176097c53f1324
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A openmp/runtime/src/z_AIX_asm.S
Log Message:
-----------
[OpenMP][AIX]Add assembly file containing microtasking routines and unnamed common block definitions (#81770)
This patch adds assembly file `z_AIX_asm.S` that contains the 32- and
64-bit XCOFF version of microtasking routines and unnamed common block
definitions. This code has been run through the libomp LIT tests and a
user package successfully.
Commit: 066773c4117512a76e127741631630fef57caf14
https://github.com/llvm/llvm-project/commit/066773c4117512a76e127741631630fef57caf14
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
Log Message:
-----------
[X86] computeKnownBitsForTargetNode - add generic handling of PSHUFB
When PSHUFB is used as a LUT (for CTPOP, BITREVERSE etc.), its the source operand that is constant and the index operand the variable. As long as the indices don't set the MSB (which zeros the output element), then the common known bits from the source operand can be used directly, even though the shuffle mask isn't constant.
Further helps to improve CTPOP reduction codegen
Commit: ef28379022121ce32cf93d7c3a7571a73ab5f801
https://github.com/llvm/llvm-project/commit/ef28379022121ce32cf93d7c3a7571a73ab5f801
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
A llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test
Log Message:
-----------
[llvm-objcopy] Fix file offsets when PT_INTERP/PT_LOAD offsets are equal (#80562)
(#79887) When the offset of a PT_INTERP segment equals the offset of a
PT_LOAD segment, we consider that the parent of the PT_LOAD segment is
the PT_INTERP segment. In `layoutSegments`, we place both segments to be
after the current `Offset`, ignoring the PT_LOAD alignment.
This scenario is possible with fixed section addresses, but doesn't
happen with default linker layouts (.interp precedes other sections and
is part of a PT_LOAD segment containing the ELF header and program
headers).
```
% cat a.s
.globl _start; _start: ret
.rodata; .byte 0
.tdata; .balign 4096; .byte 0
% clang -fuse-ld=lld a.s -o a -nostdlib -no-pie -z separate-loadable-segments -Wl,-Ttext=0x201000,--section-start=.interp=0x202000,--section-start=.rodata=0x202020,-z,nognustack
% llvm-objcopy a a2
% llvm-readelf -l a2 # incorrect offset(PT_LOAD)
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000040 0x0000000000200040 0x0000000000200040 0x0001c0 0x0001c0 R 0x8
INTERP 0x001001 0x0000000000202000 0x0000000000202000 0x00001c 0x00001c R 0x1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x000000 0x0000000000200000 0x0000000000200000 0x000200 0x000200 R 0x1000
LOAD 0x001000 0x0000000000201000 0x0000000000201000 0x000001 0x000001 R E 0x1000
//// incorrect offset
LOAD 0x001001 0x0000000000202000 0x0000000000202000 0x000021 0x000021 R 0x1000
LOAD 0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 RW 0x1000
TLS 0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x000001 R 0x1000
GNU_RELRO 0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 R 0x1000
```
The same issue occurs for PT_TLS/PT_GNU_RELRO if we PT_TLS's alignment
is smaller and we place the PT_LOAD after PT_TLS/PT_GNU_RELRO segments
(not linker default, but possible with a `PHDRS` linker script command).
Fix #79887: when two segments have the same offset, order the one with a
larger alignment first. In the previous case, the PT_LOAD segment will
go before the PT_INTERP segment. In case of equal alignments, it doesn't
matter which segment is treated as the parent segment.
Commit: 4a23ab439cfba3e9b4c7987e6d1c919c97b4e803
https://github.com/llvm/llvm-project/commit/4a23ab439cfba3e9b4c7987e6d1c919c97b4e803
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
Fix Wcovered-switch-default Werror after #78252
bot failure: https://lab.llvm.org/buildbot/#/builders/19/builds/24831
Commit: ae8facc1f8e8a2d04b5a3519fc1901db110fe452
https://github.com/llvm/llvm-project/commit/ae8facc1f8e8a2d04b5a3519fc1901db110fe452
Author: John Harrison <harjohn at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Do not write over the existing error if launchCommands fail during debugger launch. (#82051)
This fixes an issue where the error is lost if a command while executing
`launchCommands` when launching the debugger.
This should fix #82048
Commit: 4c6043de0b837d23699424d875057d00956d80ac
https://github.com/llvm/llvm-project/commit/4c6043de0b837d23699424d875057d00956d80ac
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
A clang/include/clang/InstallAPI/FileList.h
A clang/include/clang/InstallAPI/HeaderFile.h
M clang/lib/ExtractAPI/CMakeLists.txt
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/FileList.cpp
A clang/lib/InstallAPI/HeaderFile.cpp
M clang/unittests/CMakeLists.txt
A clang/unittests/InstallAPI/CMakeLists.txt
A clang/unittests/InstallAPI/FileListTest.cpp
A clang/unittests/InstallAPI/HeaderFileTest.cpp
Log Message:
-----------
[clang][InstallAPI] Add input file support to library (#81701)
This patch adds support for expected InstallAPI inputs. InstallAPI
accepts a well defined filelist of headers and how those headers
represent a single library.
InstallAPI captures header files to determine linkable symbols to then
compare against what was compiled in a binary dylib and generate TBD
files.
Commit: d2942a86d7b8fc4cba4f73294efb53a3e47dc751
https://github.com/llvm/llvm-project/commit/d2942a86d7b8fc4cba4f73294efb53a3e47dc751
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
A llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
Log Message:
-----------
[MergeFunctions] Fix thunks for non-instruction debug info (#82080)
When MergeFunctions creates new thunk functions, it needs to copy over
the debug info format kind from the original function, otherwise we'll
mix debug info formats and run into assertions. This was exposed by a
downstream change that runs MergeFunctions before inlining, which caused
assertions when inlining attempted to inline thunks created by merging,
and the added test covers both scenarios where merging creates thunks.
Commit: 7f3980a7b2c9f95ab3b106a94fe6e63158155b0b
https://github.com/llvm/llvm-project/commit/7f3980a7b2c9f95ab3b106a94fe6e63158155b0b
Author: James Robinson <jamesr at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
Log Message:
-----------
[Fuzzer] Use user signal to coordinate handler shutdown (#82067)
This updates the signal handle thread coordinating to use a user signal
bit on the SignalHandlerEvent to coordinate shutdown instead of closing
the event handle. Closing the event handle is racy as the handle may be
closed before the signal handler thread resolves the handle value in
_zx_object_wait_many() and we would like to make this an explicit error.
Using the user signal bit 1 instead and then closing the event object
after the signal handler thread is joined cannot race as the wait will
terminate whether the signal is raised before or after the wait begins.
Commit: d2173d8f534d73d2a3fab074a721729626859755
https://github.com/llvm/llvm-project/commit/d2173d8f534d73d2a3fab074a721729626859755
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] foldFCmpIntToFPConst - simplify repeated calls to getBitWidth/getScalarSizeInBits. NFC.
Noticed on #82241 - we don't need to use the IntegerType just for the scalar width, and we were calling it 3 times in different forms - we can just call Type::getScalarSizeInBits once and reuse.
Commit: 8302cef83f0614f1fb2078f2335b94aa77bde271
https://github.com/llvm/llvm-project/commit/8302cef83f0614f1fb2078f2335b94aa77bde271
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
M clang/test/Misc/warning-flags.c
Log Message:
-----------
[Clang][Sema] Convert warning for extraneous template parameter lists to an extension warning (#82277)
We currently accept the following explicit specialization with a warning
for the extraneous template parameter list:
```
template<typename T>
void f();
template<>
template<>
void f<int>(); // warning: extraneous template parameter list in template specialization
```
This should really be an extension warning so we reject with
`-pedantic-errors`. This patch converts the warning to an extension
warning.
Commit: 7af70643ca4220c254bdb1e9ea51762228642a10
https://github.com/llvm/llvm-project/commit/7af70643ca4220c254bdb1e9ea51762228642a10
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
Log Message:
-----------
Revert "[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)"
Patch 3f0404aae7ed2 is breaking some debugs build so we cannot use the reverse here.
This reverts commit 493f10106f7f1799eb67be95058b251e6a3bf0af.
Commit: 48af281f7a5abe0b01daf7847d624d2a6b0ae9fa
https://github.com/llvm/llvm-project/commit/48af281f7a5abe0b01daf7847d624d2a6b0ae9fa
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-tailcall.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
Revert "[AArch64] Restore Z-registers before P-registers (#79623)"
This reverts commit 3f0404aae7ed2f7138526e1bcd100a60dfe08227.
std::reverse is breaking some builds
Commit: d39d5ccbc0c3ea6aca68e46ff9f4503b682d1ac2
https://github.com/llvm/llvm-project/commit/d39d5ccbc0c3ea6aca68e46ff9f4503b682d1ac2
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] fix build after 4c6043de0b837d23699424d875057d00956d80ac
Commit: 5454991c29945d791b82a9e25b1f605f54c75710
https://github.com/llvm/llvm-project/commit/5454991c29945d791b82a9e25b1f605f54c75710
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/UnitTest/CMakeLists.txt
Log Message:
-----------
[libc] Cleanup of hermetic test flag handling (#82384)
Summary:
This cleans up the handling of hermetic test flags. Primarily done to
simplify the GPU rework patch.
Commit: c625b996527335c4fd6b6aa246655a993487e846
https://github.com/llvm/llvm-project/commit/c625b996527335c4fd6b6aa246655a993487e846
Author: Lang Hames <lhames at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
A llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/sectcreate-data.txt
A llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC] Add SectCreateMaterializationUnit, llvm-jitlink -sectcreate option.
The SectCreateMaterializationUnit creates a LinkGraph with a single named
section containing a single named block whose content is given by a
MemoryBuffer. It is intended to support emulation of ld64's -sectcreate option.
Commit: fb615cf3b9c2d887441a4c0cca326eddc592351a
https://github.com/llvm/llvm-project/commit/fb615cf3b9c2d887441a4c0cca326eddc592351a
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
Log Message:
-----------
[Clang][Sema] Diagnose declarative nested-name-specifiers naming alias templates (#80842)
According to [expr.prim.id.qual] p3:
> The _nested-name-specifier_ `::` nominates the global namespace. A
_nested-name-specifier_ with a _computed-type-specifier_ nominates the
type denoted by the _computed-type-specifier_, which shall be a class or
enumeration type. **If a _nested-name-specifier_ `N` is declarative and
has a _simple-template-id_ with a template argument list `A` that
involves a template parameter, let `T` be the template nominated by `N`
without `A`. `T` shall be a class template.**
Meaning, the out-of-line definition of `A::f` in the following example
is ill-formed:
```
template<typename T>
struct A
{
void f();
};
template<typename T>
using B = A<T>;
template<typename T>
void B<T>::f() { } // error: a declarative nested name specifier cannot name an alias template
```
This patch diagnoses such cases as an extension (in group `alias-template-in-declaration-name`).
Commit: ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
https://github.com/llvm/llvm-project/commit/ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A lld/test/wasm/no-strip-segment.s
M lld/wasm/InputChunks.h
M lld/wasm/MarkLive.cpp
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSectionWasm.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
A llvm/test/CodeGen/WebAssembly/no-strip.ll
M llvm/test/MC/WebAssembly/no-dead-strip.ll
Log Message:
-----------
[WebAssembly] Add segment RETAIN flag to support private retained data (#81539)
In WebAssembly, we have `WASM_SYMBOL_NO_STRIP` symbol flag to mark the
referenced content as retained. However, the flag is not enough to
express retained data that is not referenced by any symbol. This patch
adds a new segment flag`WASM_SEG_FLAG_RETAIN` to support "private"
linkage data that is retained by llvm.used.
This kind of data that is not referenced but must be retained is usually
used with encapsulation symbols (__start/__stop). Swift runtime uses
this technique and depends on the fact "all metadata sections in live
objects are retained", which was not guaranteed with `--gc-sections`
before this patch.
This is a revised version of https://reviews.llvm.org/D126950 (has been
reverted) based on @MaskRay's comments
Commit: 807ed697beb438407905f3c728ed8c34ccc2d0d2
https://github.com/llvm/llvm-project/commit/807ed697beb438407905f3c728ed8c34ccc2d0d2
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
Log Message:
-----------
[AMDGPU] Use autogenerated test checks for sdwa-preserve.mir test. NFC. (#82380)
Commit: a9b5753220ef1f24b1b5bb44b5ca485a66c66349
https://github.com/llvm/llvm-project/commit/a9b5753220ef1f24b1b5bb44b5ca485a66c66349
Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/test/Transforms/LoopRotate/coroutine.ll
Log Message:
-----------
[LoopRotate][coroutines] Avoid hoisting addresses of thread-local variables outside loops in coroutines (#81937)
Because loops in coroutines may have a co_await statement that
reschedules the coroutine to another thread, we cannot cache addresses
of thread-local variables obtained inside a loop by moving the
computation of thoes addresses outside a loop.
Since LLVM doesn't have a model for coroutine memory accesses, this
patch fixes this bug by disabling this optimization for coroutines in
the same way as https://reviews.llvm.org/D135550 and
https://reviews.llvm.org/D151774.
Commit: f740366fa68d3cfceda7efe2d573348253fbb1e9
https://github.com/llvm/llvm-project/commit/f740366fa68d3cfceda7efe2d573348253fbb1e9
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/codegen.mlir
Log Message:
-----------
[mlir][sparse] support type conversion from SoA COO to memrefs. (#82398)
Commit: 0b2b91ee9cf92d08e5eec159545ce4147b8d908e
https://github.com/llvm/llvm-project/commit/0b2b91ee9cf92d08e5eec159545ce4147b8d908e
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
A llvm/test/DebugInfo/fixed-point.ll
Log Message:
-----------
Reapply "[llvm] Fix assertion error where we didn't check fixed point… (#82412)
… types." (#82285)
This reverts commit d9f9775ac6289271d57671c55166fa0cad61075b.
The test was missing a `REQUIRES: object-emission`.
Commit: 19e71726eee3f35c3f37f6394fc4b001805f9c9a
https://github.com/llvm/llvm-project/commit/19e71726eee3f35c3f37f6394fc4b001805f9c9a
Author: Caroline Tice <cmtice at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[LLVM][unittests] Fix type issue in STLExtrasTest.cpp
Fixes a type error in UniqueNoPred test, that is causing the
ppc64le-lld-multistage-test buildbot to fail.
Commit: cd4e2466163c46c4e731f8dfc77a9b6673d26c89
https://github.com/llvm/llvm-project/commit/cd4e2466163c46c4e731f8dfc77a9b6673d26c89
Author: Lucile Rose Nihlen <luci.the.rose at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-windows.sh
Log Message:
-----------
repair and re-enable Windows buildkite presubmit (#82393)
Commit: a468d02fe9e544f39f6c0428c23b2396df6a35ff
https://github.com/llvm/llvm-project/commit/a468d02fe9e544f39f6c0428c23b2396df6a35ff
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M flang/CMakeLists.txt
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/runtime/CMakeLists.txt
A flang/runtime/Float128Math/CMakeLists.txt
A flang/runtime/Float128Math/cabs.cpp
A flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/sin.cpp
A flang/runtime/Float128Math/sqrt.cpp
M flang/test/Lower/Intrinsics/missing-math-runtime.f90
M flang/tools/flang-driver/driver.cpp
Log Message:
-----------
[flang][runtime] Add FortranFloat128Math wrapper library. (#81971)
Implemented few entry points for REAL(16) math in FortranF128Math
static library. It is a thin wrapper around GNU libquadmath.
Flang driver can always link it, and the dependencies will
be brought in as needed.
The final Fortran program/library that uses any of the entry points
will depend on the underlying third-party library - this dependency
has to be resolved somehow. I added FLANG_RUNTIME_F128_MATH_LIB
CMake control so that the compiler driver and the runtime library
can be built using the same third-party library: this way the linker
knows which dependency to link in (under --as-needed).
The compiler distribution should specify which third-party library
is required for linking/running the apps that use REAL(16).
The compiler package may provide a version of the third-party library
or at least a stub library that can be used for linking, but
the final program execution will still require the actual library.
Commit: ed4bdb86b084bf633770136d005426adeeb2cd57
https://github.com/llvm/llvm-project/commit/ed4bdb86b084bf633770136d005426adeeb2cd57
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/CPP/bit.h
M libc/test/src/__support/CPP/bit_test.cpp
Log Message:
-----------
[libc][__support][bit] add count_zeros (#82076)
Will be useful for implementing C23 stdbit.h's stdc_count_zeros and
stdc_count_ones.
Commit: f804e2badf30321121df4d0d7df8e32e10f134cc
https://github.com/llvm/llvm-project/commit/f804e2badf30321121df4d0d7df8e32e10f134cc
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/eh-frame-pcrel-overflow.s
Log Message:
-----------
[ELF] .eh_frame: use errorOrWarn for "PC offset is too large"
errorOrWarn is more conventional for recoverable errors. This error
message does not have to use `fatal`, and we try to remove such uses in
parallel code paths.
Commit: bb029a5c039766ef83c88a456cf936cec0a1a69b
https://github.com/llvm/llvm-project/commit/bb029a5c039766ef83c88a456cf936cec0a1a69b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
Log Message:
-----------
[gn] port 4c6043de0b83 (InstallAPITests)
Commit: d6850be44d2bfcd79d31fede3b8018357416da03
https://github.com/llvm/llvm-project/commit/d6850be44d2bfcd79d31fede3b8018357416da03
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
Log Message:
-----------
[mlir][linalg] Add e2e test for linalg.mmt4d (#81790)
Follow-up for #81422. My intention is to write an e2e test targetting
SVE, but more work is needed. Sending this as an intermiedate step.
Commit: 7542f60b722d87fb64e911439cb7b64344a48763
https://github.com/llvm/llvm-project/commit/7542f60b722d87fb64e911439cb7b64344a48763
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port c625b9965273
Commit: 1db2859dd972dfe1284564c43d55c30280f977d5
https://github.com/llvm/llvm-project/commit/1db2859dd972dfe1284564c43d55c30280f977d5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/pp005.F
M flang/test/Preprocessing/pp006.F
M flang/test/Preprocessing/pp105.F90
M flang/test/Preprocessing/pp106.F90
M flang/test/Preprocessing/pp134.F90
Log Message:
-----------
[flang] Handle more use cases reported for issues/78797 (#79628)
I implemented legacy "token pasting" via line continuation for
call prefix&
&MACRO&
&suffix(1)
in a recent patch; this patch addresses the related cases
call prefix&
&MACRO&
&(1)
and
call &
&MACRO&
&suffix(1)
Fixes the latest https://github.com/llvm/llvm-project/issues/79590.
Commit: 1219214a3bcc51022492928b8bb4ff4bdb75d0cb
https://github.com/llvm/llvm-project/commit/1219214a3bcc51022492928b8bb4ff4bdb75d0cb
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
Log Message:
-----------
[Hexagon] Update InstrInfo to include LD/ST offsets of vector instructions (#82386)
The hook HexagonInstrInfo::isValidOffset() is updated to evaluate
offsets of missed LD/ST vector instructions.
Commit: 96b17043507caec02a2ef440b369506122bdeb11
https://github.com/llvm/llvm-project/commit/96b17043507caec02a2ef440b369506122bdeb11
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/runtime/unit.cpp
Log Message:
-----------
[flang][runtime] Don't write implied ENDFILE for REC=/POS= (#79637)
An implied ENDFILE record, which truncates an external file, should be
written to a sequential unit whenever the file is repositioned for a
BACKSPACE or REWIND statement if a WRITE statement has executed since
the last OPEN/BACKSPACE/REWIND.
But the REC= and POS= positioning specifiers don't apply to sequential
units (they're for direct and stream units, resp.), so don't truncate
the file when they're used.
Commit: 78762357d449cfcd11426c8e152302a27f2e7d4d
https://github.com/llvm/llvm-project/commit/78762357d449cfcd11426c8e152302a27f2e7d4d
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/lto/codemodel.ll
M lld/test/ELF/x86-64-section-layout.s
Log Message:
-----------
[ELF] Support placing .lbss/.lrodata/.ldata after .bss
https://reviews.llvm.org/D150510 places .lrodata before .rodata to
minimize the number of permission transitions in the memory image.
However, this layout is less ideal for -fno-pic code (which is still
important).
Small code model -fno-pic code has R_X86_64_32S relocations with a range
of `[0,2**31)` (if we ignore the negative area). Placing `.lrodata`
earlier exerts relocation pressure on such code. Non-x86 64-bit
architectures generally have a similar `[0,2**31)` limitation if they
don't use PC-relative relocations.
If we place .lrodata later, we will need one extra PT_LOAD. Two layouts
are appealing:
* .bss/.lbss/.lrodata/.ldata (GNU ld)
* .bss/.ldata/.lbss/.lrodata
The GNU ld layout has the nice property that there is only one BSS
(except .tbss/.relro_padding). Add -z lrodata-after-bss to support
this layout.
Since a read-only PT_LOAD segment (for large data sections) may appear
after RW PT_LOAD segments. The placement of `_etext` has to be adjusted.
Pull Request: https://github.com/llvm/llvm-project/pull/81224
Commit: 5a20a208037d32d52f0c626ea3b199278ff0df0a
https://github.com/llvm/llvm-project/commit/5a20a208037d32d52f0c626ea3b199278ff0df0a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
M flang/lib/Semantics/check-directive-structure.h
Log Message:
-----------
[flang] Resolve "possible performance problem" issue spam (#79769)
Four "issues" on GitHub report possible performance problems, likely
detected by static analysis. None of them would ever make a measureable
difference in compilation time, but I'm resolving them to clean up the
open issues list.
Fixes https://github.com/llvm/llvm-project/issues/79703, .../79705,
.../79706, & .../79707.
Commit: adf838daee63b3245c8822957988da5367e1572c
https://github.com/llvm/llvm-project/commit/adf838daee63b3245c8822957988da5367e1572c
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][Vectorizer] Added support to Vectorize tensor.unpack (#76087)
Added support to vectorized tensor.unpack. The unpack Op is split into a
`vector.transfer_read`, `vector.transpose`, `vector.shape_cast` and a
`vector.transfer_write`.
Commit: 18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
https://github.com/llvm/llvm-project/commit/18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-prefer-isa-or-dyn-cast-in-conditionals in OpFormatGen.cpp (NFC)
Commit: e13bbd1e71797c781a0b242a7c121e5c5c620bc2
https://github.com/llvm/llvm-project/commit/e13bbd1e71797c781a0b242a7c121e5c5c620bc2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-use-emplace in RewriterGen.cpp (NFC)
Commit: dd5696cdefaff2b3ee9c4de3053e31630863588c
https://github.com/llvm/llvm-project/commit/dd5696cdefaff2b3ee9c4de3053e31630863588c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Bytecode/BytecodeTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in BytecodeTest.cpp (NFC)
Commit: 1893a3743eb971f0ea7657dc119b642a12870a1e
https://github.com/llvm/llvm-project/commit/1893a3743eb971f0ea7657dc119b642a12870a1e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in FileLineColLocBreakpointManagerTest.cpp (NFC)
Commit: 31f45596737f37e16226c039ff6f53406174b9d5
https://github.com/llvm/llvm-project/commit/31f45596737f37e16226c039ff6f53406174b9d5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in SerializationTest.cpp (NFC)
Commit: 563ef306017a47d387f1c36dd562b172c1ad0626
https://github.com/llvm/llvm-project/commit/563ef306017a47d387f1c36dd562b172c1ad0626
Author: jimingham <jingham at apple.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
Add the RegisterCompleter to eArgTypeRegisterName in g_argument_table (#82428)
This is a follow-on to:
https://github.com/llvm/llvm-project/pull/82085
The completer for register names was missing from the argument table. I
somehow missed that the only register completer test was x86_64, so that
test broke.
I added the completer in to the right slot in the argument table, and
added a small completions test that just uses the alias register names.
If we end up having a platform that doesn't define register names, we'll
have to skip this test there, but it should add a sniff test for
register completion that will run most everywhere.
Commit: be8b2d1ea54f964603b89ab9d4dfad26afebb347
https://github.com/llvm/llvm-project/commit/be8b2d1ea54f964603b89ab9d4dfad26afebb347
Author: Moshe <moshberm at Gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
Log Message:
-----------
Add explicit conversion to fix arm64 builds. (#82429)
Fixes issue preventing builds on ARM-based Macs.
https://github.com/llvm/llvm-project/issues/82205.
Co-authored-by: Moshe Berman <mosheberman at users.noreply.github.com>
Commit: 2236048f5fdde70dd95e97ccc87437424a371cef
https://github.com/llvm/llvm-project/commit/2236048f5fdde70dd95e97ccc87437424a371cef
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/resolve17.f90
Log Message:
-----------
[flang] Further refine errors vs warnings for ambiguous generics (#80161)
Ensure that the compiler emits a hard error for a generic interface with
ambiguous specific procedures when it is declared as such, and the
ambiguity doesn't involve optional or unlimited polymorphic dummy data
arguments. But: emit an optional portability warning when the ambiguity
in the generic interface is due to USE association's merging of multiple
generics, as USE association may involve modules not under control of
the programmer; we'll emit a hard error message if any the actual
arguments in a particular reference to the generic procedure doesn't
resolve to exactly one specific procedure. And don't emit warnings when
potential ambiguity due to USE association is taking place in a module
file; the warnings, if any, will have been produced when the module file
was compiled.
Commit: 39cab1a0a0d68cb33142099c320674fa54e11a91
https://github.com/llvm/llvm-project/commit/39cab1a0a0d68cb33142099c320674fa54e11a91
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
[AMDGPU] Add v2bf16 for opsel immediate folding (#82435)
This was previously enabled since v2bf16 was represented by v2f16. As of
now it is NFC since we only have dot instructions which could use it,
but currently folding is guarded by the hasDOTOpSelHazard().
Commit: 54b014b3f76e1c0060bd129e1196b6c729cb30b0
https://github.com/llvm/llvm-project/commit/54b014b3f76e1c0060bd129e1196b6c729cb30b0
Author: Lang Hames <lhames at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Use '@' rather than ':' for separator in -sectcreate.
This should avoid the issue with Windows paths that have caused failures on
some builders.
Commit: 3ff805540173b83d73b673b39ac5760fc19bac15
https://github.com/llvm/llvm-project/commit/3ff805540173b83d73b673b39ac5760fc19bac15
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][ScanDeps] Canonicalize -D and -U flags (#82298)
Canonicalize `-D` and `-U` flags by sorting them and only keeping the
last instance of a given name.
This optimization will only fire if all `-D` and `-U` flags start with a
simple identifier that we can guarantee a simple analysis of can
determine if two flags refer to the same identifier or not. See the
comment on `getSimpleMacroName()` for details of what the issues are.
Commit: d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
https://github.com/llvm/llvm-project/commit/d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
AMDGPU: Use HasFP8ConversionInsts appropriately, NFC (#82433)
The corresponding fp8 conversion instructions are available for a
subtarget when and only when the subtarget "HasFP8ConversionInsts". We
should not assume all the future subtargets (gfx12+) have
FP8ConversionInsts.
In this patch, we use OtherPredicates to carry HasFP8ConversionInsts
feature. This is because SubtargetPredicate is not copied from pseudos
to reals for DPP16 and DPP6. To avoid overriding OtherPredicates in a
few places, we use the newly introduced True16Predicate to hold
UseRealTrue16Insts instead.
This work repalces the inadvertently closed pull request:
https://github.com/llvm/llvm-project/pull/82024
Commit: 53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
https://github.com/llvm/llvm-project/commit/53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/test/SemaCUDA/float16.cu
Log Message:
-----------
[NVPTX] Enable the _Float16 type for NVPTX compilation (#82436)
Summary:
The PTX target supports the f16 type natively and we alreaqdy have a few
LLVM backend tests that support the LLVM-IR. We should be able to enable
this for generic use. This is done prior the f16 math functions being
written in the GPU libc case.
Commit: dc672d2f6a48fb3d502c260eb353f389723ec417
https://github.com/llvm/llvm-project/commit/dc672d2f6a48fb3d502c260eb353f389723ec417
Author: jimingham <jingham at apple.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
Remove the "generic" register completion test. (#82445)
For reasons that are not clear to me, on arm64, the alias registers are
listed in list of register info's we do completion against, but for
x86_64 they are not. Maybe this is a difference in how the dynamic
register builders work for the two systems. Anyway, it doesn't look
possible to make a generic one.
Commit: 646c7e528325f239638c5e758631b999993510d8
https://github.com/llvm/llvm-project/commit/646c7e528325f239638c5e758631b999993510d8
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc] add more stdbit.h entrypoints to additional targets (#82440)
stdbit.h isn't complete yet, but looking to turn these on on more
targets for
earlier feedback.
Commit: ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
https://github.com/llvm/llvm-project/commit/ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
Fix llvm-x86_64-debian-dylib buildbot
This was broken by 91a384621e5b762d9c173ffd247cfeadd5f436a2.
Commit: 98db8d0cb78e9dd3f78427d519ae8dd175b70b03
https://github.com/llvm/llvm-project/commit/98db8d0cb78e9dd3f78427d519ae8dd175b70b03
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Fix v_dot2_f16_f16/v_dot2_bf16_bf16 operands (#82423)
src0 and src1 are packed f16/bf16, we are printing literals like
0x40002000, but we cannot parse it.
Commit: f78027dfeca9925efe7e025beb05b4cef8a1581a
https://github.com/llvm/llvm-project/commit/f78027dfeca9925efe7e025beb05b4cef8a1581a
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
Log Message:
-----------
[mlir][mesh] Better op result names (#82408)
Implement OpAsmOpInterface for most ops to increase IR readability. For
example `mesh.process_linear_index` would produce a value with name
`proc_linear_idx`.
Commit: 4ca0480a4fefe25c2f6e36c04f02998af79274a0
https://github.com/llvm/llvm-project/commit/4ca0480a4fefe25c2f6e36c04f02998af79274a0
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Driver,BareMetal] Replace -lclang_rt.builtins{,-$arch}.a with an absolute path (#82424)
The generic `tools::AddRunTimeLibs` uses an absolute path. Change
BareMetal to match.
I believe users are not supposed to place other files under the
directory containing `libclang_rt.builtins-$arch.a`. If they rely on the
implicit -L, they now need to explicitly specify -L.
Commit: 5248a9872454065b5e4d44ca2f29329df7c2d28f
https://github.com/llvm/llvm-project/commit/5248a9872454065b5e4d44ca2f29329df7c2d28f
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
Log Message:
-----------
[mlir][sparse] support SoA COO in codegen path. (#82439)
*NOTE*: the `SoA` property only makes a difference on codegen path, and
is ignored in libgen path at the moment (only SoA COO is supported).
Commit: 7c071c23ffe934d863f3a1863d77b41f7e4d2b51
https://github.com/llvm/llvm-project/commit/7c071c23ffe934d863f3a1863d77b41f7e4d2b51
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port ff4d6c64ee42
Commit: 031f9f331723e6bebc405ffdee4b8a87a5fc0472
https://github.com/llvm/llvm-project/commit/031f9f331723e6bebc405ffdee4b8a87a5fc0472
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Ignore calls to WTF's container methods (#82156)
This PR makes the checker ignore / skip calls to methods of Web Template
Platform's container types such as HashMap, HashSet, WeakHashSet,
WeakHashMap, Vector, etc...
Commit: 84ed55e11f8d8f434395f869a1caa8485dd0c187
https://github.com/llvm/llvm-project/commit/84ed55e11f8d8f434395f869a1caa8485dd0c187
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
R clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
Revert "[clang][ScanDeps] Canonicalize -D and -U flags (#82298)"
This reverts commit 3ff805540173b83d73b673b39ac5760fc19bac15.
Test is failing on bots, see
https://github.com/llvm/llvm-project/pull/82298#issuecomment-1955664462
Commit: 8603a7b21f301508d3a6af9f2238c7b92ce19617
https://github.com/llvm/llvm-project/commit/8603a7b21f301508d3a6af9f2238c7b92ce19617
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add a query for exact VLEN to RISCVSubtarget [nfc]
We've now got enough of these in tree that we can see which patterns
appear to be idiomatic. As such, extract a helper for checking
if we know the exact VLEN.
Commit: b9a071dc3995c1599724447b9db8ced449318839
https://github.com/llvm/llvm-project/commit/b9a071dc3995c1599724447b9db8ced449318839
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir
Log Message:
-----------
[mlir][Linalg] Add folders for `linalg.transpose` (#81709)
This PR adds folders for linalg transpose ops with only one dimension or
an identity permutation. The folding removes the `linalg.transpose` and
just propagates the input tensor.
Commit: 2836d8edbfbcd461b25101ed58f93c862d65903a
https://github.com/llvm/llvm-project/commit/2836d8edbfbcd461b25101ed58f93c862d65903a
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M .github/workflows/release-tasks.yml
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[workflows] Fix permissions check for creating new releases (#81163)
The default GitHub token does not have read permissions on the org, so
we need to use a custom token in order to read the members of the
llvm-release-managers team.
Commit: 5a45d32b5b42dc4ed4852b0045391a1c2be41b48
https://github.com/llvm/llvm-project/commit/5a45d32b5b42dc4ed4852b0045391a1c2be41b48
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
Log Message:
-----------
[lldb] Add more ways to find the .dwp file. (#81067)
When using split DWARF we can run into many different ways to store
debug info:
- lldb loads `<exe>` which contains skeleton DWARF and needs to find
`<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.debug.dwp`
- lldb loads `<exe>.debug` and needs to find `<exe>.dwp`
Previously we only handled the first two cases. This patch adds support
for the latter two.
Commit: f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
https://github.com/llvm/llvm-project/commit/f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/test/Dialect/SparseTensor/external.mlir
Log Message:
-----------
[mlir][sparse] assemble SoA COO correctly. (#82449)
Commit: c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
https://github.com/llvm/llvm-project/commit/c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
Author: Owen Anderson <resistor at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/extractvector-of-load.mir
Log Message:
-----------
[GlobalISel] Make sure to check for load barriers when merging G_EXTRACT_VECTOR_ELT into G_LOAD. (#82306)
Fixes https://github.com/llvm/llvm-project/issues/78477
Commit: 03203b79c6247465850ee6e9f3e2399afc35720b
https://github.com/llvm/llvm-project/commit/03203b79c6247465850ee6e9f3e2399afc35720b
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
Log Message:
-----------
[SPIR-V] Fix vloadn OpenCL builtin lowering (#81148)
This pull request fixes an issue with missing vector element count
immediate in OpExtInst calls and adds a case for generating bitcasts
before GEPs for kernel arguments of non-matching pointer type. The new
LITs are based on basic/vload_local and basic/vload_global OpenCL CTS
tests. The tests after this change pass SPIR-V validation.
Commit: 79889734b940356ab3381423c93ae06f22e772c9
https://github.com/llvm/llvm-project/commit/79889734b940356ab3381423c93ae06f22e772c9
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
A llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
Log Message:
-----------
Implement convergence control in MIR using SelectionDAG (#71785)
LLVM function calls carry convergence control tokens as operand bundles, where
the tokens themselves are produced by convergence control intrinsics. This patch
implements convergence control tokens in MIR as follows:
1. Introduce target-independent ISD opcodes and MIR opcodes for convergence
control intrinsics.
2. Model token values as untyped virtual registers in MIR.
The change also introduces an additional ISD opcode CONVERGENCECTRL_GLUE and a
corresponding machine opcode with the same spelling. This glues the convergence
control token to SDNodes that represent calls to intrinsics. The glued token is
later translated to an implicit argument in the MIR.
The lowering of calls to user-defined functions is target-specific. On AMDGPU,
the convergence control operand bundle at a non-intrinsic call is translated to
an explicit argument to the SI_CALL_ISEL instruction. Post-selection adjustment
converts this explicit argument to an implicit argument on the SI_CALL
instruction.
Commit: 823102ab1e357e84846f03f2d6df5265271061bc
https://github.com/llvm/llvm-project/commit/823102ab1e357e84846f03f2d6df5265271061bc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 79889734b940
Commit: 086280f4d1c085c8e02cd3986bf87529ec7162c5
https://github.com/llvm/llvm-project/commit/086280f4d1c085c8e02cd3986bf87529ec7162c5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Fix linking error of SIISelLowering.cpp.o (NFC)
ld.lld: error: undefined symbol: llvm::MachineOperand::dump() const
>>> referenced by SIISelLowering.cpp
Commit: e4057aacc52bf8b352898504be8e7f8190841aac
https://github.com/llvm/llvm-project/commit/e4057aacc52bf8b352898504be8e7f8190841aac
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetMachine.cpp
Log Message:
-----------
[X86] Add missing pass initialization calls. (#82447)
If the passes aren't registered, they don't show up in print-after-all.
Commit: b8ed69ecc01385c03844e8fa05ba418a5670d322
https://github.com/llvm/llvm-project/commit/b8ed69ecc01385c03844e8fa05ba418a5670d322
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/readsteadycounter.ll
Log Message:
-----------
[RISCV] Support llvm.readsteadycounter intrinsic
This intrinsic was introduced by #81331, which is a lot like
`llvm.readcyclecounter`.
For the RISCV implementation, we rename `ReadCycleWide` pseudo to
`ReadCounterWide` and make it accept two operands (the low and high
parts of the counter). As for legalization and lowering parts, we
reuse the code of `ISD::READCYCLECOUNTER` (make it able to handle
both intrinsics), and we use `time` CSR for `ISD::READSTEADYCOUNTER`.
Tests using Clang builtins are runned on real hardware and it works
as excepted.
Reviewers: asb, MaskRay, dtcxzyw, preames, topperc, jhuber6
Reviewed By: jhuber6, asb, MaskRay, dtcxzyw
Pull Request: https://github.com/llvm/llvm-project/pull/82322
Commit: a2afcd5721869d1d03c8146bae3885b3385ba15e
https://github.com/llvm/llvm-project/commit/a2afcd5721869d1d03c8146bae3885b3385ba15e
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
R llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
R llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
Log Message:
-----------
Revert "Implement convergence control in MIR using SelectionDAG (#71785)"
This reverts commit 79889734b940356ab3381423c93ae06f22e772c9.
Encountered multiple buildbot failures.
Commit: 5375cbfb6255ed19a6bed7065a697905ca65d575
https://github.com/llvm/llvm-project/commit/5375cbfb6255ed19a6bed7065a697905ca65d575
Author: Matteo Franciolini <mfranciolini at tesla.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
Log Message:
-----------
Fix pipeline-invalid.mlir bytecode roundtrip test (#82366)
If an op was not contained in a region when was written to bytecode,
we don't have an initialized valueScope with forward references to
define.
Commit: 44b717df4d837ce4e8d76b00cee2e122ae6ad28c
https://github.com/llvm/llvm-project/commit/44b717df4d837ce4e8d76b00cee2e122ae6ad28c
Author: Owen Anderson <resistor at mac.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
A llvm/test/CodeGen/AArch64/extractvector-oob-load.mir
Log Message:
-----------
[GlobalISel] Clamp out-of-range G_EXTRACT_VECTOR_ELT constant indices when converting them into loads. (#82460)
This avoid turning a poison value into a segfault, and fixes
https://github.com/llvm/llvm-project/issues/78383
Commit: ec516ff3e6122069b36f32a6db8bb3dc672133fc
https://github.com/llvm/llvm-project/commit/ec516ff3e6122069b36f32a6db8bb3dc672133fc
Author: Jooyung Han <jooyung.han at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M compiler-rt/lib/builtins/os_version_check.c
Log Message:
-----------
Fix __isOSVersionAtLeast for Android (#80496)
Allow pre-release APIs on pre-release devices.
The current implementation requires __ANDROID_API_FUTURE__ to use new
APIs on pre-release system. This makes it hard to maintain the codebase
because it should be switched a concrete version (e.g. __ANDROID_API_X__
on release of X).
Instead, we can just allow pre-release APIs on pre-release system
without mandating the major version of __ANDROID_API_FUTURE__.
Note that this doesn't make API guards just no-op in pre-release builds.
We can still rely on its compile-time checks and it still works as
expected with release builds. Even with pre-release builds, it's the
same as before because we would pass __ANDROID_API_FUTURE__ to make the
calls anyway.
Commit: 04fbc461e0fd1c6f2b014761e9c03ca80d17b33b
https://github.com/llvm/llvm-project/commit/04fbc461e0fd1c6f2b014761e9c03ca80d17b33b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix RemoveSemicolon for empty functions (#82278)
Fixes #79833.
Commit: ab7dcb0ef634ef370618aa244ad28d8c654b894c
https://github.com/llvm/llvm-project/commit/ab7dcb0ef634ef370618aa244ad28d8c654b894c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port a2afcd572186
Commit: 8b23d68a621f16b6d66e68cb64b99f1221b9df2c
https://github.com/llvm/llvm-project/commit/8b23d68a621f16b6d66e68cb64b99f1221b9df2c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp
Log Message:
-----------
[Analyzer] Support RefAllowingPartiallyDestroyed and RefPtrAllowingPartiallyDestroyed (#82209)
This PR adds the support for WebKit's RefAllowingPartiallyDestroyed and
RefPtrAllowingPartiallyDestroyed, which are smart pointer types which
may be used after the destructor had started running.
Commit: a445474d3fdec2bdaaa42a6dc83c2fb01867076f
https://github.com/llvm/llvm-project/commit/a445474d3fdec2bdaaa42a6dc83c2fb01867076f
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Use TImmLeaf for csr_sysreg (#82463)
And use `getTargetConstant` to create operands.
This PR addresses comments after committing #82322.
Commit: 351e4fa2bfe5b13073c1675a1b1693ea766c1e25
https://github.com/llvm/llvm-project/commit/351e4fa2bfe5b13073c1675a1b1693ea766c1e25
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Fix assert when transforming a pack indexing type. (#82234)
When a pack in a pack indexing specifier cannot be immediately expanded,
we were creating an incomplete TypeLoc
(causing assertion failure).
As we do not keep track of typelocs of expanded elements, we create a
trivial typeloc
Fixes #81697
Commit: d3fb596c9720b8bf192823730e9fccc3d86de9a8
https://github.com/llvm/llvm-project/commit/d3fb596c9720b8bf192823730e9fccc3d86de9a8
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] Fix scheduling info for compressed LD/ST of FP types. (#82339)
Commit: 7ce1a11f7f436234ce3eaf11c74043937a1ec36b
https://github.com/llvm/llvm-project/commit/7ce1a11f7f436234ce3eaf11c74043937a1ec36b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
Log Message:
-----------
[InstCombine] Fold dependent IVs (#81151)
Fold `iv = phi(start, iv.next = iv2.next + start)` where `iv2 =
phi(iv2.start, iv2.next = iv2 + iv2.step)`
to `iv = iv2 + start` removing one induction variable from the loop.
Proof: https://alive2.llvm.org/ce/z/hfmwgf
Fixes https://github.com/llvm/llvm-project/issues/77108.
Commit: 1246b64faa5eea1553c1c1aad425c31b701fa6ea
https://github.com/llvm/llvm-project/commit/1246b64faa5eea1553c1c1aad425c31b701fa6ea
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/std-c-library-functions-path-notes.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
Log Message:
-----------
[clang][analyzer] Change modeling of 'fileno' in checkers. (#81842)
Function 'fileno' fails only if invalid pointer is passed, this is a
case that is often ignored in source code. The failure case leads to
many "false positive" reports when `fileno` returns -1 and this is not
checked in the program. Because this, the function is now assumed
to not fail (this is assumption that the passed file pointer is correct).
The change affects `StdCLibraryFunctionsChecker` and
`StreamChecker`.
Commit: 02fad0565fe7f061bdaa79ff33b29f64b2c290eb
https://github.com/llvm/llvm-project/commit/02fad0565fe7f061bdaa79ff33b29f64b2c290eb
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV][SDAG] Fold `select c, ~x, x` into `xor -c, x` (#82462)
This patch lowers select of constants if `TrueV == ~FalseV`.
Address the comment in
https://github.com/llvm/llvm-project/pull/82456#discussion_r1496881603.
Commit: 8b84de26dfc1ba742b427e45bc900bc233fd58e1
https://github.com/llvm/llvm-project/commit/8b84de26dfc1ba742b427e45bc900bc233fd58e1
Author: Clement Courbet <courbet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
A llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp
A llvm/tools/llvm-exegesis/lib/ValidationEvent.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis][NFC] Refactor all `ValidationEvent` info in a single … (#82256)
…table.
All data is derived from a single table rather than being spread out
over an enum, a table and the main entry point.
This is intended as a replacement for #82092.
Commit: 50373506d570f3db1e1af7c13d46409736452f3a
https://github.com/llvm/llvm-project/commit/50373506d570f3db1e1af7c13d46409736452f3a
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
[clang] Preserve found-decl when constructing VarTemplateIds (#82265)
Commit: f8c1af1d096b97a42e4ab178c93accfc4e5fa288
https://github.com/llvm/llvm-project/commit/f8c1af1d096b97a42e4ab178c93accfc4e5fa288
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
Log Message:
-----------
[gn build] Port 8b84de26dfc1
Commit: 4725993f1a812c86b9ad79d229a015d0216ff550
https://github.com/llvm/llvm-project/commit/4725993f1a812c86b9ad79d229a015d0216ff550
Author: martinboehme <mboehme at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Correctly handle `InitListExpr` of union type. (#82348)
Commit: 0c13a896dfc930a09e082ad83070e223cfd9a4f9
https://github.com/llvm/llvm-project/commit/0c13a896dfc930a09e082ad83070e223cfd9a4f9
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/docs/Dialects/OpenACCDialect.md
M mlir/docs/Passes.md
M mlir/docs/Tutorials/transform/Ch4.md
Log Message:
-----------
[mlir][docs] Fix broken docs (#82308)
- Fixed OpenACC's spec link format
- Add missed `OpenACCPasses.md` into Passes.md
- Add missed `MyExtensionCh4.md` into Ch4.md of tutorial of transform
Commit: 07292b7203e31fb90d9180bfccde0d4e84be2245
https://github.com/llvm/llvm-project/commit/07292b7203e31fb90d9180bfccde0d4e84be2245
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopIdiom/pr82337.ll
Log Message:
-----------
[LIR][SCEVExpander] Restore original flags when aborting transform (#82362)
SCEVExpanderCleaner will currently remove instructions created by
SCEVExpander, but not restore poison generating flags that it may have
dropped. As such, running LIR can currently spuriously drop flags
without performing any transforms.
Fix this by keeping track of original instruction flags in SCEVExpander.
Fixes https://github.com/llvm/llvm-project/issues/82337.
Commit: 1ff1e823836e6ed741c69681a2af9f1c3871e8c2
https://github.com/llvm/llvm-project/commit/1ff1e823836e6ed741c69681a2af9f1c3871e8c2
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/bitcast.ll
Log Message:
-----------
[AArch64][GlobalISel] Pre-Commit Tests for Refactor BITCAST
Commit: 7242896233635e553694507e6584decb43ee4a16
https://github.com/llvm/llvm-project/commit/7242896233635e553694507e6584decb43ee4a16
Author: David Green <david.green at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
M flang/test/Transforms/simplifyintrinsics.fir
Log Message:
-----------
[Flang] Attempt to fix Nan handling in Minloc/Maxloc intrinsic simplification (#82313)
In certain case "extreme" values like Nan, Inf and 0xffffffff could lead
to generating different code via the inline-generated intrinsics vs the
versions in the runtimes (and other compilers like gfortran). There are
some examples I was using for testing in
https://godbolt.org/z/x4EfqEss5.
This changes the generation for the intrinsics to be more like the
runtimes, using a condition that is similar to:
isFirst || (prev != prev && elem == elem) || elem < prev
The middle part is only used for floating point operations, and checks
if the values are Nan. This should then hopefully make the logic closer
to - return the first element with the lowest value, with Nans ignored
unless there are only Nans. The initial limit value for floats are also
changed from the largest float to Inf, to make sure it is handled
correctly.
The integer reductions are also changed to use a similar scheme to make
sure they work with masked values. This means that the preamble after
the loop can be removed.
Commit: 5db49f726619b943d8201ef3867393923836cb2f
https://github.com/llvm/llvm-project/commit/5db49f726619b943d8201ef3867393923836cb2f
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
Log Message:
-----------
[GlobalISel] replace right identity X * -1.0 with fneg(x) (#80526)
follow up patch to #78673
@Pierre-vh @jayfoad @arsenm Could you review when you have a chance.
Commit: 91f11611337dde9a8e0a5e19240f6bb4671922c6
https://github.com/llvm/llvm-project/commit/91f11611337dde9a8e0a5e19240f6bb4671922c6
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A mlir/include/mlir-c/Dialect/Transform/Interpreter.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
A mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/transform_interpreter.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
A mlir/test/python/dialects/transform_interpreter.py
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir] expose transform interpreter to Python (#82365)
Transform interpreter functionality can be used standalone without going
through the interpreter pass, make it available in Python.
Commit: 48101edc8d57364d9c9f9e2829f0d4e975c0ade5
https://github.com/llvm/llvm-project/commit/48101edc8d57364d9c9f9e2829f0d4e975c0ade5
Author: John Brawn <john.brawn at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/MC/AArch64/armv9.4a-gcs.s
M llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
Log Message:
-----------
[AArch64] Fix syntax of gcsstr and gcssttr instructions (#82385)
The address register should be surrounded by square brackets, like in
all the other str instructions.
Fixes https://github.com/llvm/llvm-project/issues/81846
Commit: 35593f6613445fe4a8daa6e7589deec82fcd4d2b
https://github.com/llvm/llvm-project/commit/35593f6613445fe4a8daa6e7589deec82fcd4d2b
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] Use isinstance() instead of issubclass(type(...), ...) (#82345)
The two forms are equivalent, so there is no reason to use the longer
one.
Commit: 3533fe783df4b417f16077edb70099010d2d7eef
https://github.com/llvm/llvm-project/commit/3533fe783df4b417f16077edb70099010d2d7eef
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
Revert "[clang] Preserve found-decl when constructing VarTemplateIds (#82265)"
This reverts commit 50373506d570f3db1e1af7c13d46409736452f3a. Broke
include-cleaner tests
Commit: d31406b394307e5629372271f797f55c7ca9bbd3
https://github.com/llvm/llvm-project/commit/d31406b394307e5629372271f797f55c7ca9bbd3
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/docs/FortranLLVMTestSuite.md
Log Message:
-----------
[flang][docs] Update llvm-test-suite docs (#81596)
With some missing config options and a link to the test suite docs that
explain how to setup `ISO_FORTRAN_C_HEADER` and set the stop message
variable.
Commit: bdeb3d47d185aedbe6af5eda5c91310e37938f5b
https://github.com/llvm/llvm-project/commit/bdeb3d47d185aedbe6af5eda5c91310e37938f5b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
Log Message:
-----------
[X86] Regenerate saddsat/ssubsat vector tests
Adds missing avx512 constant broadcast comments
Commit: 3cb4f62de0eba62edd730d0ed80fd90d2826763d
https://github.com/llvm/llvm-project/commit/3cb4f62de0eba62edd730d0ed80fd90d2826763d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/prefer-avx256-mask-extend.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
Log Message:
-----------
[X86] Regenerate vector tests to add missing avx512 constant broadcast comments
Commit: a0b3dbaf4b3c01dc7f0a83fce059a26360b58eb2
https://github.com/llvm/llvm-project/commit/a0b3dbaf4b3c01dc7f0a83fce059a26360b58eb2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/2008-05-23-CompareFold.ll
M llvm/test/Transforms/InstCombine/2008-11-08-FCmp.ll
M llvm/test/Transforms/InstCombine/2009-05-23-FCmpToICmp.ll
M llvm/test/Transforms/InstCombine/2012-02-13-FCmp.ll
Log Message:
-----------
[InstCombine] Regenerate some fcmp tests to use the update_test_checks.py script
Commit: 6d160a49c2e7f36367de3f61f0460e28921450d5
https://github.com/llvm/llvm-project/commit/6d160a49c2e7f36367de3f61f0460e28921450d5
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
Log Message:
-----------
[AMDGPU][TableGen][NFC] Combine predicates without using classes. (#82346)
Saves generating ~1200 instances of the PredConcat TableGen class.
Also removes the default predicates from resulting predicate lists.
Commit: 6ce5159945997126b8a0f40f55e876c9fd882fc5
https://github.com/llvm/llvm-project/commit/6ce5159945997126b8a0f40f55e876c9fd882fc5
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
M mlir/python/mlir/dialects/_ods_common.py
M mlir/python/mlir/dialects/arith.py
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/ir/value.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] Use ir.Value directly instead of _SubClassValueT (#82341)
_SubClassValueT is only useful when it is has >1 usage in a signature.
This was not true for the signatures produced by tblgen.
For example
def call(result, callee, operands_, *, loc=None, ip=None) ->
_SubClassValueT:
...
here a type checker does not have enough information to infer a type
argument for _SubClassValueT, and thus effectively treats it as Any.
Commit: b1080e187e91576ac6d44087f072583e101f0f51
https://github.com/llvm/llvm-project/commit/b1080e187e91576ac6d44087f072583e101f0f51
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
Log Message:
-----------
[clang][Interp] Convert complex initializers to rvalues
We internalle handle these via pointers, but we need to return
them as RValues in initializers.
Commit: 40fae67a50e08e6b5b5300210021218e404d63a7
https://github.com/llvm/llvm-project/commit/40fae67a50e08e6b5b5300210021218e404d63a7
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/default-none.f90
Log Message:
-----------
[Flang][OpenMP] Fix to construct-names inside OpenMP construct with default(none) (#82479)
When a do loop with a construct-name is used inside OpenMP construct
with default(none), an incorrect error will be raised as below.
```
program cn_and_default
implicit none
integer :: i
!$omp parallel default(none)
loop: do i = 1, 10
end do loop
!$omp end parallel
end program
```
> The DEFAULT(NONE) clause requires that 'loop' must be listed in a
data-sharing attribute clause
This patch fixes this by adding a condition to check and skip processing
construct-names.
Commit: e209178d6402348414b69941c77d621919b3b7ab
https://github.com/llvm/llvm-project/commit/e209178d6402348414b69941c77d621919b3b7ab
Author: Vedant Paranjape <vedant.paranjape at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll
Log Message:
-----------
[SimplifyIndVar] LCSSA form is destroyed by simplifyLoopIVs, preserve it (#78696)
In LoopUnroll, peelLoop is called on the loop. After the loop is peeled
it calls simplifyLoopAfterUnroll on the loop. This call to
simplifyLoopAfterUnroll doesn't preserve the LCSSA form of the parent
loop and thus during the next call to peelLoop the LCSSA form is already
broken.
LoopPeel util takes in the PreserveLCSSA argument and it passes
on the same argument to simplifyLoop which checks if the loop is in a
valid LCSSA form, when (PreserveLCSSA = true).
This causes an assert in simplifyLoop when (PreserveLCSSA = true), as
during the last call LCSSA for the loop wasn't preserved, and thus
crashes at the following assert.
assert(L->isRecursivelyLCSSAForm(*DT, *LI) &&
"Requested to preserve LCSSA, but it's already broken.");
Upon debugging, it is evident that simplifyLoopIVs call inside
simplifyLoopAfterUnroll breaks the LCSSA form. This patch fixes
llvm#77118, it checks if the replacement of IV Users with Loop Invariant
preserves the LCSSA form. If it does not, it emits the required LCSSA
Phi instructions.
Commit: 02e17ab1b97a8c0dc22facc8c66850e5aca28b60
https://github.com/llvm/llvm-project/commit/02e17ab1b97a8c0dc22facc8c66850e5aca28b60
Author: Lukacma <lukac.marian9 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A clang/test/Sema/aarch64-sme2p1-diagnostics.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[AArch64] Added feature dependencies for SME2p1 to TargetParser (#81860)
This patches adds missing target-feature dependencies for SME2.1
Commit: 28fb2b33c2f43f6a8057e398eb899eb61e6652e9
https://github.com/llvm/llvm-project/commit/28fb2b33c2f43f6a8057e398eb899eb61e6652e9
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
Log Message:
-----------
[LLVM][SelectionDAG] Reduce number of ComputeValueVTs variants. (#75614)
This is another step in the direction of fixing the `Fixed(0) !=
Scalable(0)` bugbear, although whilst weird I don't believe it's causing
us any real issues.
Commit: c50ca3daa445f7e54343fb365339181185ee0f2c
https://github.com/llvm/llvm-project/commit/c50ca3daa445f7e54343fb365339181185ee0f2c
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
Log Message:
-----------
[RISCV][ISel] Combine vector fadd/fsub/fmul with fp extend. (#81248)
Extend D133739 and #76785 to support vector widening floating-point
add/sub/mul instructions.
Specifically, this patch works for the below optimization case:
### Source code
```
define void @vfwmul_v2f32_multiple_users(ptr %x, ptr %y, ptr %z, <2 x float> %a, <2 x float> %b, <2 x float> %b2) {
%c = fpext <2 x float> %a to <2 x double>
%d = fpext <2 x float> %b to <2 x double>
%d2 = fpext <2 x float> %b2 to <2 x double>
%e = fmul <2 x double> %c, %d
%f = fadd <2 x double> %c, %d2
%g = fsub <2 x double> %d, %d2
store <2 x double> %e, ptr %x
store <2 x double> %f, ptr %y
store <2 x double> %g, ptr %z
ret void
}
```
### Before this patch
[Compiler Explorer](https://godbolt.org/z/aaEMs5s9h)
```
vfwmul_v2f32_multiple_users:
vsetivli zero, 2, e32, mf2, ta, ma
vfwcvt.f.f.v v11, v8
vfwcvt.f.f.v v8, v9
vfwcvt.f.f.v v9, v10
vsetvli zero, zero, e64, m1, ta, ma
vfmul.vv v10, v11, v8
vfadd.vv v11, v11, v9
vfsub.vv v8, v8, v9
vse64.v v10, (a0)
vse64.v v11, (a1)
vse64.v v8, (a2)
ret
```
### After this patch
```
vfwmul_v2f32_multiple_users:
vsetivli zero, 2, e32, mf2, ta, ma
vfwmul.vv v11, v8, v9
vfwadd.vv v12, v8, v10
vfwsub.vv v8, v9, v10
vse64.v v11, (a0)
vse64.v v12, (a1)
vse64.v v8, (a2)
```
Commit: 6e20cb5524034861d67a1d898907b4755b240f16
https://github.com/llvm/llvm-project/commit/6e20cb5524034861d67a1d898907b4755b240f16
Author: Alex Zinenko <zinenko at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/test/CAPI/transform_interpreter.c
Log Message:
-----------
[mlir] fix memory leak
Fix a leak of the root operation not being deleted in the recently
introduced transform_interpreter.c.
Commit: dd3e0a4643670f33850278ad281a358bbdd04e92
https://github.com/llvm/llvm-project/commit/dd3e0a4643670f33850278ad281a358bbdd04e92
Author: hev <wangrui at loongson.cn>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
A llvm/test/CodeGen/LoongArch/addrspacecast.ll
Log Message:
-----------
[LoongArch] Assume no-op addrspacecasts by default (#82332)
This PR indicates that `addrspacecasts` are always no-ops on LoongArch.
Fixes #82330
Commit: b5437c8ab2af277548ee59b6838e365d35a0d926
https://github.com/llvm/llvm-project/commit/b5437c8ab2af277548ee59b6838e365d35a0d926
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Opcodes.td
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][Interp] Emit const references for Float arguments (#79753)
The Float print type is backed by the Floating class, which in turn uses
APFloat, which might heap-allocate memory, so might be expensive to
copy.
Add an 'AsRef' bit to the ArgType tablegen class, which defines whether
we pass the argument around by copy or by reference.
Commit: 654e65d3b20835b4959d4d591e179814914ab5e2
https://github.com/llvm/llvm-project/commit/654e65d3b20835b4959d4d591e179814914ab5e2
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Analysis/Presburger/Barvinok.cpp
Log Message:
-----------
[mlir] Apply ClangTidy performance fix.
Use const reference for loop variable.
Commit: 0fb3d4296f3a3ebe36661643155f4ee35a3167b7
https://github.com/llvm/llvm-project/commit/0fb3d4296f3a3ebe36661643155f4ee35a3167b7
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/bitcast.ll
Log Message:
-----------
[AArch64][GlobalISel] Refactor BITCAST Legalization (#80505)
Ensure BITCAST is only legal for types with the same amount of bits.
Enable BITCAST to work with non-legal vector types as well.
Commit: 69279a8413e08dd24168bad961975e79a50d9c19
https://github.com/llvm/llvm-project/commit/69279a8413e08dd24168bad961975e79a50d9c19
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/atomic_wait.bench.cpp
A libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
Log Message:
-----------
[libc++][test] add benchmarks for `std::atomic::wait` (#70571)
For the mutex vs atomic test:
Old: `unique_lock<mutex>`
New: a lock implemented with `atomic::wait`
On 10 years old Intel Macbook, `atomic::wait` is 50% slower than `mutex`
```
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------
BM_multi_thread_lock_unlock/1024 +0.3735 +2.4497 1724726 2368935 153159 528354
BM_multi_thread_lock_unlock/2048 +0.4174 +1.2487 3410538 4834012 435062 978311
BM_multi_thread_lock_unlock/4096 +0.5256 +1.9824 6903783 10532681 590266 1760405
BM_multi_thread_lock_unlock/8192 +0.5415 +0.4578 14536391 22408399 1456328 2123075
BM_multi_thread_lock_unlock/16384 +0.5663 +0.0513 30181991 47275023 3316850 3486950
BM_multi_thread_lock_unlock/32768 +0.5635 -0.2081 62027663 96977726 6477076 5129190
BM_multi_thread_lock_unlock/65536 +0.5228 -0.3273 129637761 197408739 11341630 7628955
BM_multi_thread_lock_unlock/131072 +0.4825 -0.1070 266256295 394712193 10379800 9269200
BM_multi_thread_lock_unlock/262144 +0.4793 +0.2795 539732340 798409253 10802200 13821100
BM_multi_thread_lock_unlock/524288 +0.5272 +0.2847 1070035132 1634124353 14523000 18657800
BM_multi_thread_lock_unlock/1048576 +0.4799 +0.3353 2125510441 3145636119 13404200 17899000
OVERALL_GEOMEAN +0.4970 +0.3886 0 0 0 0
```
On Apple Arm, `atomic::wait` is 200% slower than `mutex`. And
`atomic::wait` is even slower than my 10 years old Intel CPU Macbook
```
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------
BM_multi_thread_lock_unlock/1024 +2.1811 +3.9854 2036726 6478993 119817 597334
BM_multi_thread_lock_unlock/2048 +1.6736 +1.4301 3162161 8454415 426201 1035727
BM_multi_thread_lock_unlock/4096 +1.1017 +0.6456 6620503 13914159 893019 1469578
BM_multi_thread_lock_unlock/8192 +0.6688 +0.2148 12089392 20174635 1489000 1808799
BM_multi_thread_lock_unlock/16384 +1.4217 -0.2436 19365999 46899345 2068266 1564530
BM_multi_thread_lock_unlock/32768 +2.6161 -0.4927 31371052 113440165 3715100 1884540
BM_multi_thread_lock_unlock/65536 +2.6286 -0.3967 54314581 197086847 5912764 3567410
BM_multi_thread_lock_unlock/131072 +2.3554 +0.4990 103176565 346201425 9260407 13880900
BM_multi_thread_lock_unlock/262144 +2.8780 +0.4995 182355400 707170733 16335852 24496000
BM_multi_thread_lock_unlock/524288 +3.0280 +0.3001 360953079 1453902595 32548700 42316364
BM_multi_thread_lock_unlock/1048576 +3.7480 +1.2374 714500462 3392470417 48603455 108747000
OVERALL_GEOMEAN +2.0791 +0.3874 0 0 0 0
```
For the atomic_wait test:
On my 2013 MacBook with Intel CPU
```
Run on (8 X 2300 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x4)
L1 Instruction 32 KiB (x4)
L2 Unified 256 KiB (x4)
L3 Unified 6144 KiB (x1)
Load Average: 1.95, 3.77, 4.13
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_atomic_wait_one_thread_one_atomic_wait/1024 184455 ns 183979 ns 3760
BM_atomic_wait_one_thread_one_atomic_wait/2048 361607 ns 360917 ns 1912
BM_atomic_wait_one_thread_one_atomic_wait/4096 709055 ns 708326 ns 929
BM_atomic_wait_one_thread_one_atomic_wait/8192 1469063 ns 1467430 ns 488
BM_atomic_wait_one_thread_one_atomic_wait/16384 2865332 ns 2863473 ns 237
BM_atomic_wait_one_thread_one_atomic_wait/32768 5839429 ns 5834708 ns 113
BM_atomic_wait_one_thread_one_atomic_wait/65536 11460822 ns 11453183 ns 60
BM_atomic_wait_one_thread_one_atomic_wait/131072 23052804 ns 23035000 ns 30
BM_atomic_wait_one_thread_one_atomic_wait/262144 46958743 ns 46712733 ns 15
BM_atomic_wait_one_thread_one_atomic_wait/524288 93151904 ns 92977429 ns 7
BM_atomic_wait_one_thread_one_atomic_wait/1048576 186100011 ns 185888500 ns 4
BM_atomic_wait_one_thread_one_atomic_wait/2097152 364548135 ns 364280000 ns 2
BM_atomic_wait_one_thread_one_atomic_wait/4194304 747181672 ns 745056000 ns 1
BM_atomic_wait_one_thread_one_atomic_wait/8388608 1473070400 ns 1471165000 ns 1
BM_atomic_wait_one_thread_one_atomic_wait/16777216 2950352547 ns 2947373000 ns 1
BM_atomic_wait_multi_thread_one_atomic_wait/1024 668544 ns 167233 ns 4496
BM_atomic_wait_multi_thread_one_atomic_wait/2048 1384668 ns 369750 ns 1941
BM_atomic_wait_multi_thread_one_atomic_wait/4096 2851627 ns 768559 ns 995
BM_atomic_wait_multi_thread_one_atomic_wait/8192 5797669 ns 1476876 ns 526
BM_atomic_wait_multi_thread_one_atomic_wait/16384 11597952 ns 2692792 ns 260
BM_atomic_wait_multi_thread_one_atomic_wait/32768 23528028 ns 5291465 ns 142
BM_atomic_wait_multi_thread_one_atomic_wait/65536 46287247 ns 8547713 ns 87
BM_atomic_wait_multi_thread_one_atomic_wait/131072 90315848 ns 13294492 ns 61
BM_atomic_wait_multi_thread_one_atomic_wait/262144 190722393 ns 16193917 ns 36
BM_atomic_wait_multi_thread_one_atomic_wait/524288 408456684 ns 23641600 ns 10
BM_atomic_wait_multi_thread_one_atomic_wait/1048576 708809670 ns 36361900 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1024 2116444 ns 11669 ns 10000
BM_atomic_wait_multi_thread_wait_different_atomics/2048 12435259 ns 21905 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/4096 6393816 ns 17819 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/8192 11930400 ns 28637 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/16384 20987224 ns 35272 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/32768 44335820 ns 66660 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/65536 91395912 ns 129030 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/131072 145440007 ns 165960 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/262144 368219935 ns 420800 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/524288 630106863 ns 809500 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1048576 1138174673 ns 1093000 ns 10
```
On apple arm
```
Run on (8 X 24.1208 MHz CPU s)
CPU Caches:
L1 Data 64 KiB (x8)
L1 Instruction 128 KiB (x8)
L2 Unified 4096 KiB (x2)
Load Average: 1.34, 1.58, 1.66
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_atomic_wait_one_thread_one_atomic_wait/1024 61602 ns 61602 ns 8701
BM_atomic_wait_one_thread_one_atomic_wait/2048 123148 ns 123146 ns 5688
BM_atomic_wait_one_thread_one_atomic_wait/4096 246248 ns 246249 ns 2888
BM_atomic_wait_one_thread_one_atomic_wait/8192 480373 ns 480359 ns 1455
BM_atomic_wait_one_thread_one_atomic_wait/16384 974725 ns 974721 ns 724
BM_atomic_wait_one_thread_one_atomic_wait/32768 1922185 ns 1922115 ns 355
BM_atomic_wait_one_thread_one_atomic_wait/65536 3940632 ns 3940608 ns 181
BM_atomic_wait_one_thread_one_atomic_wait/131072 7886302 ns 7886102 ns 88
BM_atomic_wait_one_thread_one_atomic_wait/262144 15393156 ns 15393000 ns 45
BM_atomic_wait_one_thread_one_atomic_wait/524288 30833221 ns 30832174 ns 23
BM_atomic_wait_one_thread_one_atomic_wait/1048576 62551936 ns 62551909 ns 11
BM_atomic_wait_one_thread_one_atomic_wait/2097152 123155625 ns 123155667 ns 6
BM_atomic_wait_one_thread_one_atomic_wait/4194304 252468180 ns 252458667 ns 3
BM_atomic_wait_one_thread_one_atomic_wait/8388608 505075604 ns 505075500 ns 2
BM_atomic_wait_one_thread_one_atomic_wait/16777216 992977209 ns 992935000 ns 1
BM_atomic_wait_multi_thread_one_atomic_wait/1024 531411 ns 239695 ns 2783
BM_atomic_wait_multi_thread_one_atomic_wait/2048 1030592 ns 484868 ns 1413
BM_atomic_wait_multi_thread_one_atomic_wait/4096 1951896 ns 922357 ns 631
BM_atomic_wait_multi_thread_one_atomic_wait/8192 3759893 ns 1952074 ns 390
BM_atomic_wait_multi_thread_one_atomic_wait/16384 7417929 ns 3458309 ns 233
BM_atomic_wait_multi_thread_one_atomic_wait/32768 14386361 ns 5590830 ns 100
BM_atomic_wait_multi_thread_one_atomic_wait/65536 29725536 ns 6521887 ns 115
BM_atomic_wait_multi_thread_one_atomic_wait/131072 60023797 ns 10766795 ns 73
BM_atomic_wait_multi_thread_one_atomic_wait/262144 120782267 ns 17532091 ns 44
BM_atomic_wait_multi_thread_one_atomic_wait/524288 242539333 ns 27506920 ns 25
BM_atomic_wait_multi_thread_one_atomic_wait/1048576 482833787 ns 53721600 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1024 2230048 ns 626042 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/2048 3931958 ns 837540 ns 884
BM_atomic_wait_multi_thread_wait_different_atomics/4096 6506887 ns 1127922 ns 586
BM_atomic_wait_multi_thread_wait_different_atomics/8192 10528008 ns 1651254 ns 456
BM_atomic_wait_multi_thread_wait_different_atomics/16384 18055829 ns 2066379 ns 317
BM_atomic_wait_multi_thread_wait_different_atomics/32768 29878496 ns 2875600 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/65536 50523799 ns 3193170 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/131072 85926943 ns 4121950 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/262144 154602296 ns 5879050 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/524288 279121754 ns 10063400 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1048576 522796900 ns 12370300 ns 10
```
Commit: 98a07f72eefb43476ca9e7af3178879d6ef71464
https://github.com/llvm/llvm-project/commit/98a07f72eefb43476ca9e7af3178879d6ef71464
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[X86] LowerCTPOP - "ctpop(i2 x) --> sub(x, (x >> 1))"
If we only have 2 active bits then we can avoid the i8 CTPOP multiply expansion entirely
Another expansion pulled from #79823
Commit: b8c9b0613465b2770d2ae7f61364ddce6bba4511
https://github.com/llvm/llvm-project/commit/b8c9b0613465b2770d2ae7f61364ddce6bba4511
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[X86] LowerCTPOP - add i3 and i4 LUT 'shift+mask' expansions
Use the 3 or 4 active bits as a shift amount into a i32/i64 constant representing the number of set bits.
In future, it might be worthwhile to move this into a generic location in case other targets want to make use of them.
Another expansion pulled from #79823
Commit: 88a18556aeeaf70315990ed9fb23c28834edf454
https://github.com/llvm/llvm-project/commit/88a18556aeeaf70315990ed9fb23c28834edf454
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Fix MSVC signed/unsigned mismatch warning
Commit: e3d4cac2bcbdb719a0d29055c8c60df0e98e0126
https://github.com/llvm/llvm-project/commit/e3d4cac2bcbdb719a0d29055c8c60df0e98e0126
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning
Commit: 1a7166833d38a2a5c26eacecd13833a9a15e3b3d
https://github.com/llvm/llvm-project/commit/1a7166833d38a2a5c26eacecd13833a9a15e3b3d
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
Log Message:
-----------
[AArch64] Fix stack probing clobbering flags (#81879)
Certain stack probing sequences might clobber flags, then we can't use a
block as a prologue if the flags register is a live-in on entry to that
block.
Commit: 61bc5f6c7383ec7d8a0e847abcd56ddc02ee77bf
https://github.com/llvm/llvm-project/commit/61bc5f6c7383ec7d8a0e847abcd56ddc02ee77bf
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/Mangler.cpp
A flang/test/Lower/HLFIR/block_bindc_pocs.f90
Log Message:
-----------
[Flang]: Fix to bind(C) procs inside BLOCK construct (#82483)
Name mangling is invoked for a bind(C) procedure contained in a block in
a context that does not have access to block ID mapping. Relaxing an
assert to account for this.
Fixes #79408
Commit: 91ebd010aa76a711abd88f74ecca8e82e15b23cd
https://github.com/llvm/llvm-project/commit/91ebd010aa76a711abd88f74ecca8e82e15b23cd
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Interp.cpp
Log Message:
-----------
[clang][Interp] Remove dereference()
This function tried to be smart about the dereferenced value,
but it ended up hurting more than it helped. At least in the current
state, where we still try get the correct output.
I might add something similar back later.
Commit: f7c2e5fa05d221a3dfc53744f353517407c2ffec
https://github.com/llvm/llvm-project/commit/f7c2e5fa05d221a3dfc53744f353517407c2ffec
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[clang] [SemaCXX] Disallow deducing "this" on operator `new` and `delete` (#82251)
Resolves Issue #82249
As described in the issue, any deallocation function for a `class X` is
a static member (even if not explicitly declared static).
Commit: 6ba8ca8c1600ce33274e4f22397bd4d400f0ad8d
https://github.com/llvm/llvm-project/commit/6ba8ca8c1600ce33274e4f22397bd4d400f0ad8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
Log Message:
-----------
[CostModel][X86] Don't use undef for icmp cost tests
Cleanup prior to #80122 fix - using undef means we think that the comparison is with a Constant
Commit: a0869b14cde9ed71bb4323c8717f59ee1b1e79bf
https://github.com/llvm/llvm-project/commit/a0869b14cde9ed71bb4323c8717f59ee1b1e79bf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
M llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll
Log Message:
-----------
[CostModel][X86] Fix expanded CTPOP i8 costs
Updated to match #79989 / 9410019ac977141bc73aee19690b5896ded59219
Commit: 4d4af15c3fb671ed9f7eef9f29ebd6fde15618df
https://github.com/llvm/llvm-project/commit/4d4af15c3fb671ed9f7eef9f29ebd6fde15618df
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
R flang/lib/Lower/OpenMP.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.h
A flang/lib/Lower/OpenMP/Utils.cpp
A flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[NFC][flang][OpenMP] Split `DataSharing` and `Clause` processors (#81973)
This started as an experiment to reduce the compilation time of
iterating over `Lower/OpenMP.cpp` a bit since it is too slow at the
moment. Trying to do that, I split the `DataSharingProcessor`,
`ReductionProcessor`, and `ClauseProcessor` into their own files and
extracted some shared code into a util file. All of these new `.h/.cpp`
files as well as `OpenMP.cpp` are now under a `Lower/OpenMP/` directory.
This resulted is a slightly better organization of the OpenMP lowering
code and hence opening this NFC.
As for the compilation time, this unfortunately does not affect it much
(it shaves off a few seconds of `OpenMP.cpp` compilation) since from
what I learned the bottleneck is in `DirectivesCommon.h` and
`PFTBuilder.h` which both consume a lot of time in template
instantiation it seems.
Commit: 5a023f564f9886bcc732147d12e114f5ced92c5d
https://github.com/llvm/llvm-project/commit/5a023f564f9886bcc732147d12e114f5ced92c5d
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
Log Message:
-----------
[AArch64][SVE2] Enable dynamic shuffle for fixed length types. (#72490)
When SVE register size is unknown or the minimal size is not equal to
the maximum size then we could determine the actual SVE register size in
the runtime and adjust shuffle mask in the runtime.
Commit: 73185854a3fc469b7d3e21d0b5d2ecb5ee15d201
https://github.com/llvm/llvm-project/commit/73185854a3fc469b7d3e21d0b5d2ecb5ee15d201
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG1719 "Layout compatibility and cv-qualification revisited" (#82358)
This patch updates our internal notion of `layout-compatible` to ignore cv-qualification,
which in turn fixes `__is_layout_compatible` intrinsic.
Commit: 9c0e45d7f0e2202e16dbd9a7b9f462e2bcb741ae
https://github.com/llvm/llvm-project/commit/9c0e45d7f0e2202e16dbd9a7b9f462e2bcb741ae
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/frame-29.ll
Log Message:
-----------
[SystemZ] Use VT (not ArgVT) for SlotVT in LowerCall(). (#82475)
When an integer argument is promoted and *not* split (like i72 -> i128 on
a new machine with vector support), the SlotVT should be i128, which is
stored in VT - not ArgVT.
Fixes #81417
Commit: e214f004cb9e17847262d8fe64926a9cad6d2e86
https://github.com/llvm/llvm-project/commit/e214f004cb9e17847262d8fe64926a9cad6d2e86
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Turn in-place op modification into `IRRewrite` (#81245)
This commit simplifies the internal state of the dialect conversion. A
separate field for the previous state of in-place op modifications is no
longer needed.
Commit: 3a70335bae25b9df39e20d714d3ed1ab0fc6d20a
https://github.com/llvm/llvm-project/commit/3a70335bae25b9df39e20d714d3ed1ab0fc6d20a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Support rolling back properties in dialect conversion (#82474)
The dialect conversion rolls back in-place op modifications upon
failure. Rolling back modifications of attributes is already supported,
but there was no support for properties until now.
Commit: b49f155cb9144b208b1291b5f02630d588350e1a
https://github.com/llvm/llvm-project/commit/b49f155cb9144b208b1291b5f02630d588350e1a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Simplify `ArgConverter` state (#81462)
* When converting a block signature, `ArgConverter` creates a new block
with the new signature and moves all operation from the old block to the
new block. The new block is temporarily inserted into a region that is
stored in `regionMapping`. The old block is not yet deleted, so that the
conversion can be rolled back. `regionMapping` is not needed. Instead of
moving the old block to a temporary region, it can just be unlinked.
Block erasures are handles in the same way in the dialect conversion.
* `regionToConverter` is a mapping from regions to type converter. That
field is never accessed within `ArgConverter`. It should be stored in
`ConversionPatternRewriterImpl` instead.
* `convertedBlocks` is not needed. Old blocks are already stored in
`ConvertedBlockInfo`.
Commit: f037e709cad410b885cb22ebb22e7e7539d41fb0
https://github.com/llvm/llvm-project/commit/f037e709cad410b885cb22ebb22e7e7539d41fb0
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
Log Message:
-----------
[RISCV][TTI] Cost a subvector extract at a register boundary with exact vlen (#82405)
If we have exact vlen knowledge, we can figure out which indices
correspond to register boundaries. Our lowering uses this knowledge to
replace the vslidedown.vi with a sub-register extract. Our costs can
reflect that as well.
This is another piece split off
https://github.com/llvm/llvm-project/pull/80164
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 3ee8c93769cd094ea0748b4a446a475160c0f51f
https://github.com/llvm/llvm-project/commit/3ee8c93769cd094ea0748b4a446a475160c0f51f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Offload] Fix NVPTX global entry names
Summary:
This was missed, the NVPTX globals cannot use a `.`.
Commit: ffcdf47bc443b36754c36bd6e1a77b4163657a00
https://github.com/llvm/llvm-project/commit/ffcdf47bc443b36754c36bd6e1a77b4163657a00
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
A clang/test/AST/Interp/pointer-addition.c
Log Message:
-----------
[clang][Interp] Allow adding an offset to a function pointer
Pretty sure this isn't doing anything, but it fixes a test and
is generally the right thing to do.
Fixing the behavior will come later.
Commit: 4beb4d5c72880ec69ef36bdebaed06c90cc5309b
https://github.com/llvm/llvm-project/commit/4beb4d5c72880ec69ef36bdebaed06c90cc5309b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A llvm/test/Analysis/CostModel/X86/icmp0.ll
Log Message:
-----------
[CostModel][X86] Add test coverage for icmp vs zero
This is really to test for icmp vs constant - some icmp unsigned could fold to simpler comparisons, but costmodel analysis won't do this
Commit: c16d0d14de40559eb3845a88b6434550dd1dcf77
https://github.com/llvm/llvm-project/commit/c16d0d14de40559eb3845a88b6434550dd1dcf77
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
Log Message:
-----------
[SimplifyCFG] Add test coverage for #80122
Commit: 9978f6a10f37d12e1eecad0d4bfacd350d933ed7
https://github.com/llvm/llvm-project/commit/9978f6a10f37d12e1eecad0d4bfacd350d933ed7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/icmp0.ll
M llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
Log Message:
-----------
[CostModel][X86] Reduce the extra costs for ICMP complex predicates when an operand is constant
In most cases, SETCC lowering will be able to simplify/commute the comparison by adjusting the constant.
TODO: We still need to adjust ExtraCost based on CostKind
Fixes #80122
Commit: 453b1a2fce3c46e866131797f876976032cff384
https://github.com/llvm/llvm-project/commit/453b1a2fce3c46e866131797f876976032cff384
Author: cmtice <cmtice at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[LLVM][DWARF] Refactor code for generating DWARF V5 .debug_names (#82394)
[LLVM][DWARF] Refactor code for generating DWARF v5 .debug_names
Refactor the code that uniques the entries and computes the bucket count
for the DWARF V5 .debug_names accelerator table.
Commit: 13b0321e978fd95503d5f5471a0cfdcd439a5936
https://github.com/llvm/llvm-project/commit/13b0321e978fd95503d5f5471a0cfdcd439a5936
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Reject unimplemented cast expressions differently
Instead of asserting, emit an appropriate diagnostic.
Commit: 3f732c4141e95de829a896c38af11473377dbcd6
https://github.com/llvm/llvm-project/commit/3f732c4141e95de829a896c38af11473377dbcd6
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Fix use-after-free in #82474 (#82504)
When a `ModifyOperationRewrite` is committed, the operation may already
have been erased, so `OperationName` must be cached in the rewrite
object.
Note: This will no longer be needed with #81757, which adds a "cleanup"
method to `IRRewrite`.
Commit: 2cd59bdc891ab59a1abfe5205feb45791a530a47
https://github.com/llvm/llvm-project/commit/2cd59bdc891ab59a1abfe5205feb45791a530a47
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
Log Message:
-----------
[RISCV] Add test case for miscompile in gather -> strided load combine. NFC
This shows the issue in #82430, but triggers it via the widening SEW combine
rather than a GEP that RISCVGatherScatterLowering doesn't detect.
Commit: 2e29c91b96832504b9008be5e095f7dd640cdea0
https://github.com/llvm/llvm-project/commit/2e29c91b96832504b9008be5e095f7dd640cdea0
Author: Mogball <jeff at modular.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
R llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
Log Message:
-----------
Revert "[Coro] [async] Disable inlining in async coroutine splitting (#80904)"
This reverts commit b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab.
This commit breaks coroutine splitting for non-swift calling convention
functions. In this example:
```ll
; ModuleID = 'repro.ll'
source_filename = "stdlib/test/runtime/test_llcl.mojo"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@0 = internal constant { i32, i32 } { i32 trunc (i64 sub (i64 ptrtoint (ptr @crash to i64), i64 ptrtoint (ptr getelementptr inbounds ({ i32, i32 }, ptr @0, i32 0, i32 1) to i64)) to i32), i32 64 }
define dso_local void @af_suspend_fn(ptr %0, i64 %1, ptr %2) #0 {
ret void
}
define dso_local void @crash(ptr %0) #0 {
%2 = call token @llvm.coro.id.async(i32 64, i32 8, i32 0, ptr @0)
%3 = call ptr @llvm.coro.begin(token %2, ptr null)
%4 = getelementptr inbounds { ptr, { ptr, ptr }, i64, { ptr, i1 }, i64, i64 }, ptr poison, i32 0, i32 0
%5 = call ptr @llvm.coro.async.resume()
store ptr %5, ptr %4, align 8
%6 = call { ptr, ptr, ptr } (i32, ptr, ptr, ...) @llvm.coro.suspend.async.sl_p0p0p0s(i32 0, ptr %5, ptr @ctxt_proj_fn, ptr @af_suspend_fn, ptr poison, i64 -1, ptr poison)
ret void
}
define dso_local ptr @ctxt_proj_fn(ptr %0) #0 {
ret ptr %0
}
; Function Attrs: nomerge nounwind
declare { ptr, ptr, ptr } @llvm.coro.suspend.async.sl_p0p0p0s(i32, ptr, ptr, ...) #1
; Function Attrs: nounwind
declare token @llvm.coro.id.async(i32, i32, i32, ptr) #2
; Function Attrs: nounwind
declare ptr @llvm.coro.begin(token, ptr writeonly) #2
; Function Attrs: nomerge nounwind
declare ptr @llvm.coro.async.resume() #1
attributes #0 = { "target-features"="+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves" }
attributes #1 = { nomerge nounwind }
attributes #2 = { nounwind }
```
This verifier crashes after the `coro-split` pass with
```
cannot guarantee tail call due to mismatched parameter counts
musttail call void @af_suspend_fn(ptr poison, i64 -1, ptr poison)
LLVM ERROR: Broken function
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: opt ../../../reduced.ll -O0
#0 0x00007f1d89645c0e __interceptor_backtrace.part.0 /build/gcc-11-XeT9lY/gcc-11-11.4.0/build/x86_64-linux-gnu/libsanitizer/asan/../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4193:28
#1 0x0000556d94d254f7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
#2 0x0000556d94d19a2f llvm::sys::RunSignalHandlers() /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Signals.cpp:105:20
#3 0x0000556d94d1aa42 SignalHandler(int) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Unix/Signals.inc:371:36
#4 0x00007f1d88e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x00007f1d88e969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0x00007f1d88e969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#7 0x00007f1d88e969fc pthread_kill ./nptl/pthread_kill.c:89:10
#8 0x00007f1d88e42476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#9 0x00007f1d88e287f3 abort ./stdlib/abort.c:81:7
#10 0x0000556d8944be01 std::vector<llvm::json::Value, std::allocator<llvm::json::Value>>::size() const /usr/include/c++/11/bits/stl_vector.h:919:40
#11 0x0000556d8944be01 bool std::operator==<llvm::json::Value, std::allocator<llvm::json::Value>>(std::vector<llvm::json::Value, std::allocator<llvm::json::Value>> const&, std::vector<llvm::json::Value, std::allocator<llvm::json::Value>> const&) /usr/include/c++/11/bits/stl_vector.h:1893:23
#12 0x0000556d8944be01 llvm::json::operator==(llvm::json::Array const&, llvm::json::Array const&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/Support/JSON.h:572:69
#13 0x0000556d8944be01 llvm::json::operator==(llvm::json::Value const&, llvm::json::Value const&) (.cold) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/JSON.cpp:204:28
#14 0x0000556d949ed2bd llvm::report_fatal_error(char const*, bool) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/ErrorHandling.cpp:82:70
#15 0x0000556d8e37e876 llvm::SmallVectorBase<unsigned int>::size() const /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:91:32
#16 0x0000556d8e37e876 llvm::SmallVectorTemplateCommon<llvm::DiagnosticInfoOptimizationBase::Argument, void>::end() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:282:41
#17 0x0000556d8e37e876 llvm::SmallVector<llvm::DiagnosticInfoOptimizationBase::Argument, 4u>::~SmallVector() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1215:24
#18 0x0000556d8e37e876 llvm::DiagnosticInfoOptimizationBase::~DiagnosticInfoOptimizationBase() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:413:7
#19 0x0000556d8e37e876 llvm::DiagnosticInfoIROptimization::~DiagnosticInfoIROptimization() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:622:7
#20 0x0000556d8e37e876 llvm::OptimizationRemark::~OptimizationRemark() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:689:7
#21 0x0000556d8e37e876 operator() /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2213:14
#22 0x0000556d8e37e876 emit<llvm::CoroSplitPass::run(llvm::LazyCallGraph::SCC&, llvm::CGSCCAnalysisManager&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)::<lambda()> > /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h:83:12
#23 0x0000556d8e37e876 llvm::CoroSplitPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2212:13
#24 0x0000556d8c36ecb1 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CoroSplitPass, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#25 0x0000556d91c1a84f llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:90:12
#26 0x0000556d8c3690d1 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#27 0x0000556d91c2162d llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:278:18
#28 0x0000556d8c369035 llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#29 0x0000556d9457abc5 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManager.h:247:20
#30 0x0000556d8e30979e llvm::CoroConditionalWrapper::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroConditionalWrapper.cpp:19:74
#31 0x0000556d8c365755 llvm::detail::PassModel<llvm::Module, llvm::CoroConditionalWrapper, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#32 0x0000556d9457abc5 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManager.h:247:20
#33 0x0000556d89818556 llvm::SmallPtrSetImplBase::isSmall() const /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:196:33
#34 0x0000556d89818556 llvm::SmallPtrSetImplBase::~SmallPtrSetImplBase() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:84:17
#35 0x0000556d89818556 llvm::SmallPtrSetImpl<llvm::AnalysisKey*>::~SmallPtrSetImpl() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:321:7
#36 0x0000556d89818556 llvm::SmallPtrSet<llvm::AnalysisKey*, 2u>::~SmallPtrSet() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:427:7
#37 0x0000556d89818556 llvm::PreservedAnalyses::~PreservedAnalyses() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/Analysis.h:109:7
#38 0x0000556d89818556 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/NewPMDriver.cpp:532:10
#39 0x0000556d897e3939 optMain /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/optdriver.cpp:737:27
#40 0x0000556d89455461 main /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/opt.cpp:25:33
#41 0x00007f1d88e29d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#42 0x00007f1d88e29e40 call_init ./csu/../csu/libc-start.c:128:20
#43 0x00007f1d88e29e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#44 0x0000556d897b6335 _start (/home/ubuntu/modular/.derived/third-party/llvm-project/build-relwithdebinfo-asan/bin/opt+0x150c335)
Aborted (core dumped)
Commit: 162fa4dd25d631d0ab7816ec6081bcaff951a23c
https://github.com/llvm/llvm-project/commit/162fa4dd25d631d0ab7816ec6081bcaff951a23c
Author: Harald van Dijk <harald at gigawatt.nl>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/IR/Module.cpp
Log Message:
-----------
Module::getOrInsertFunction: set debug info format (#82505)
Function::Function's constructor sets the debug info format based on the
passed in parent Module, so by using this rather than modifying the
function list directly, we pick up the debug info format automatically.
Commit: 71441ed1716e6ed3f053dea9c1ceb9cfe2822aea
https://github.com/llvm/llvm-project/commit/71441ed1716e6ed3f053dea9c1ceb9cfe2822aea
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][Vector] Add vector bitwidth target to xfer op flattening (#81966)
This PR adds an optional bitwidth parameter to the vector xfer op
flattening transformation so that the flattening doesn't happen if the
trailing dimension of the read/writen vector is larger than this
bitwidth (i.e., we are already able to fill at least one vector register
with that size).
Commit: 58f45d909d2a1565128846e423b480808736f214
https://github.com/llvm/llvm-project/commit/58f45d909d2a1565128846e423b480808736f214
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Lower/OpenMP/target.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
Log Message:
-----------
[flang][openmp] - depend clause support in target, target enter/update/exit data constructs (#81610)
This patch adds support in flang for the depend clause in target and
target enter/update/exit constructs. Previously, the following line in a
fortran program would have resulted in the error shown below it.
!$omp target map(to:a) depend(in:a)
"not yet implemented: Unhandled clause DEPEND in TARGET construct"
Commit: cc374d8056990a4c6df44173ad7ef59474ba498b
https://github.com/llvm/llvm-project/commit/cc374d8056990a4c6df44173ad7ef59474ba498b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp_offload_registration.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_codegen_registration.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_codegen_registration.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/test/offloading/requires.c
Log Message:
-----------
[OpenMP] Remove `register_requires` global constructor (#80460)
Summary:
Currently, OpenMP handles the `omp requires` clause by emitting a global
constructor into the runtime for every translation unit that requires
it. However, this is not a great solution because it prevents us from
having a defined order in which the runtime is accessed and used.
This patch changes the approach to no longer use global constructors,
but to instead group the flag with the other offloading entires that we
already handle. This has the effect of still registering each flag per
requires TU, but now we have a single constructor that handles
everything.
This function removes support for the old `__tgt_register_requires` and
replaces it with a warning message. We just had a recent release, and
the OpenMP policy for the past four releases since we switched to LLVM
is that we do not provide strict backwards compatibility between major
LLVM releases now that the library is versioned. This means that a user
will need to recompile if they have an old binary that relied on
`register_requires` having the old behavior. It is important that we
actively deprecate this, as otherwise it would not solve the problem of
having no defined init and shutdown order for `libomptarget`. The
problem of `libomptarget` not having a define init and shutdown order
cascades into a lot of other issues so I have a strong incentive to be
rid of it.
It is worth noting that the current `__tgt_offload_entry` only has space
for a 32-bit integer here. I am planning to overhaul these at some point
as well.
Commit: cc13f3ba45015254075434f0f94a2ea6ff4bc1b4
https://github.com/llvm/llvm-project/commit/cc13f3ba45015254075434f0f94a2ea6ff4bc1b4
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
Log Message:
-----------
Correctly round FP -> BF16 when SDAG expands such nodes (#82399)
We did something pretty naive:
- round FP64 -> BF16 by first rounding to FP32
- skip FP32 -> BF16 rounding entirely
- taking the top 16 bits of a FP32 which will turn some NaNs into
infinities
Let's do this in a more principled way by rounding types with more
precision than FP32 to FP32 using round-inexact-to-odd which will negate
double rounding issues.
Commit: 0a518db99e0cffcdbb4cae73e27da87edbb25170
https://github.com/llvm/llvm-project/commit/0a518db99e0cffcdbb4cae73e27da87edbb25170
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
R clang/include/clang/Frontend/InstallAPIOptions.h
M clang/include/clang/InstallAPI/Context.h
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
R clang/lib/Frontend/InstallAPIConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/InstallAPI/CMakeLists.txt
R clang/lib/InstallAPI/Context.cpp
M clang/test/CMakeLists.txt
R clang/test/Driver/installapi.h
M clang/test/InstallAPI/installapi-basic.test
A clang/test/InstallAPI/installapi-driver-invalid-options.test
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/clang-installapi/CMakeLists.txt
A clang/tools/clang-installapi/ClangInstallAPI.cpp
A clang/tools/clang-installapi/Options.cpp
A clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] Set InstallAPI as a standalone tool instead of CC1 action (#82293)
Installapi has important distinctions when compared to the clang driver,
so much that, it doesn't make much sense to try to integrate into it.
This patch partially reverts the CC1 action & driver support to replace
with its own driver as a clang tool.
For distribution, we could use `LLVM_TOOL_LLVM_DRIVER_BUILD` mechanism
for integrating the functionality into clang such that the toolchain
size is less impacted.
Commit: 2c30180f72b9c39dda1fd77bcbec8022e19bec23
https://github.com/llvm/llvm-project/commit/2c30180f72b9c39dda1fd77bcbec8022e19bec23
Author: Mogball <jeff at modular.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[coro] [async] Don't fail on targets that don't support tail calls
Commit: e50a231dcdd6aafa922b177b4fc4629bb7a10a79
https://github.com/llvm/llvm-project/commit/e50a231dcdd6aafa922b177b4fc4629bb7a10a79
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/copyprivate.f90
A flang/test/Lower/OpenMP/copyprivate.f90
Log Message:
-----------
[flang][OpenMP] Add support for copyprivate (#80485)
Add initial handling of OpenMP copyprivate clause in Flang.
When lowering copyprivate, Flang generates the copy function
needed by each variable and builds the appropriate
omp.single's CopyPrivateVarList.
This is patch 3 of 4, to add support for COPYPRIVATE in Flang.
Original PR: https://github.com/llvm/llvm-project/pull/73128
Commit: 579ae446375b2bec6d329b612adfa0a74f7126e3
https://github.com/llvm/llvm-project/commit/579ae446375b2bec6d329b612adfa0a74f7126e3
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] Add missing clangBasic library dependency
Appeases CI: https://lab.llvm.org/buildbot/#/builders/268/builds/8581/steps/5/logs/stdio
Commit: e7bfe414a6abee31a8c83afbc8206e6249dd837d
https://github.com/llvm/llvm-project/commit/e7bfe414a6abee31a8c83afbc8206e6249dd837d
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] Add additional missing library dependency
Fixes: https://lab.llvm.org/buildbot/#/builders/268/builds/8583
Commit: c5bbf979ada59e4ef9e67cb8bae59522d17b5140
https://github.com/llvm/llvm-project/commit/c5bbf979ada59e4ef9e67cb8bae59522d17b5140
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] fixes mistake in #82018 (#82223)
fixes #81766 #82018
Commit: 2167881f5154823dc3183845700add7df15fc856
https://github.com/llvm/llvm-project/commit/2167881f5154823dc3183845700add7df15fc856
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
A llvm/test/MC/ARM/fdpic.s
M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
M llvm/test/tools/llvm-readobj/ELF/reloc-types-arm.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[ARM,MC] Support FDPIC relocations
Linux kernel fs/binfmt_elf_fdpic.c supports FDPIC for MMU-less systems.
GCC/binutils/qemu support FDPIC ABI for ARM
(https://github.com/mickael-guene/fdpic_doc).
_ARM FDPIC Toolchain and ABI_ provides a summary.
This patch implements FDPIC relocations to the integrated assembler.
There are 6 static relocations and 2 dynamic relocations, with
R_ARM_FUNCDESC as both static and dynamic.
gas requires `--fdpic` to assemble data relocations like `.word f(FUNCDESC)`.
This patch adds `MCTargetOptions::FDPIC` and reports an error if FDPIC
is not set.
Pull Request: https://github.com/llvm/llvm-project/pull/82187
Commit: 5488e3ea4869b32e82f7f7dfb3ba22cb7b5b9436
https://github.com/llvm/llvm-project/commit/5488e3ea4869b32e82f7f7dfb3ba22cb7b5b9436
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] add explicit dependency on llvmOption library
Commit: 6f0e39c4239bb4c0980a048e264f61bded147388
https://github.com/llvm/llvm-project/commit/6f0e39c4239bb4c0980a048e264f61bded147388
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Set ISD::FP_{EXTEND,ROUND} to Custom for more types
Sometimes those nodes are queried with the non-bf16. We need to request
to SDAG that we want to handle the non-bf16 side so that the handler can
detect if bf16 is being used on either side.
Commit: 966b026785a09ec079e8b0ba79358892fcb958ad
https://github.com/llvm/llvm-project/commit/966b026785a09ec079e8b0ba79358892fcb958ad
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Simplify handling of ISD::BF16_TO_FP
We only use it to get from BF16 to F32. After that point, we insert
an FP_EXTEND to get the rest of the way.
Commit: 4247175d4536964322b129d1d3bbe6128da653bf
https://github.com/llvm/llvm-project/commit/4247175d4536964322b129d1d3bbe6128da653bf
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
[nfc]For InstrProfData.inc, clang-format functions and opt-out of formatting on the rest (#82057)
Without this, each time `InstrProfData.inc` is modified (like in
https://github.com/llvm/llvm-project/pull/81691), pre-commit CI
clang-format aggressively formats many lines in an unreadable way. Pull
request with red pre-commit checks are usually frowned upon.
* Use `// clang-format:<reason>` instead of `/* clang-format */`. The
former
[allows](https://github.com/llvm/llvm-project/blob/563ef306017a47d387f1c36dd562b172c1ad0626/clang/lib/Format/Format.cpp#L4108-L4113)
specifying a reason but the latter is
[not](https://github.com/llvm/llvm-project/blob/563ef306017a47d387f1c36dd562b172c1ad0626/clang/lib/Format/Format.cpp#L4105-L4106).
- Filed https://github.com/llvm/llvm-project/issues/82426 to track the
issue in clang-format.
Commit: 9c2468821ec51defd09c246fea4a47886fff8c01
https://github.com/llvm/llvm-project/commit/9c2468821ec51defd09c246fea4a47886fff8c01
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
M lldb/test/API/commands/expression/fixits/TestFixIts.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/TestSMEZRegistersSaveRestore.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/TestZAThreadedDynamic.py
M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/trace/TestTraceExport.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/archives/TestBSDArchives.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
M lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
M lldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
M lldb/test/API/functionalities/multidebugger_commands/TestMultipleDebuggersCommands.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/signal/TestSendSignal.py
M lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
M lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
M lldb/test/API/functionalities/signal/raise/TestRaise.py
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/step-avoids-regexp/TestStepAvoidsRegexp.py
M lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py
M lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
M lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
M lldb/test/API/functionalities/tsan/basic/TestTsanBasic.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/stl/TestSTL.py
M lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
M lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
M lldb/test/API/lua_api/TestLuaAPI.py
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
M lldb/test/API/macosx/queues/TestQueues.py
M lldb/test/API/macosx/universal/TestUniversal.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/format/TestFormat.py
M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
M lldb/test/API/python_api/frame/get-variables/TestGetVariables.py
M lldb/test/API/python_api/module_section/TestModuleAndSection.py
M lldb/test/API/python_api/process/TestProcessAPI.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/test/API/python_api/sbdata/TestSBData.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
M lldb/test/API/python_api/value/change_values/libcxx/atomic/TestChangeValue.py
M lldb/test/API/python_api/value/change_values/libcxx/map/TestChangeMapValue.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAttach.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
Log Message:
-----------
[lldb][test] Modernize asserts (#82503)
This uses [teyit](https://pypi.org/project/teyit/) to modernize asserts,
as recommended by the [unittest release
notes](https://docs.python.org/3.12/whatsnew/3.12.html#id3).
For example, `assertTrue(a == b)` is replaced with `assertEqual(a, b)`.
This produces better error messages, e.g. `error: unexpectedly found 1
and 2 to be different` instead of `error: False`.
Commit: 1c81b4a8f237db286aae5b8893aea09676a41d68
https://github.com/llvm/llvm-project/commit/1c81b4a8f237db286aae5b8893aea09676a41d68
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
A llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn
Log Message:
-----------
[gn] port 0a518db99e0c (clang-installapi)
Commit: ddc0f1d8fed4f1a1742598ffd7dc3195bb37a8f1
https://github.com/llvm/llvm-project/commit/ddc0f1d8fed4f1a1742598ffd7dc3195bb37a8f1
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[TargetLowering] Actually add the adjustment to the significand
The logic was supposed to be choosing between {0, 1, -1} as an
adjustment to the FP bit pattern. However, the adjustment itself was
used as the bit pattern instead which result in garbage results.
Commit: 3d66d6932e26199f72766b6554d1c4878246ec6e
https://github.com/llvm/llvm-project/commit/3d66d6932e26199f72766b6554d1c4878246ec6e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Support live-ins without underlying IR in type analysis. (#80723)
A VPlan contains multiple live-ins without underlying IR, like VFxUF or
VectorTripCount. Trying to infer the scalar type of those causes a crash
at the moment.
Update VPTypeAnalysis to take a VPlan in its constructor and assign
types to those live-ins up front. All those live-ins share the type of
the canonical IV.
PR: https://github.com/llvm/llvm-project/pull/80723
Commit: 22cf983387e52e3df01504c69df8266e9d80d9da
https://github.com/llvm/llvm-project/commit/22cf983387e52e3df01504c69df8266e9d80d9da
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[VPlan] Use opaque pointers in VPlan unit test IR (#69947)
Updates the unit tests for VPlan to use opaque pointers in strings
containing LLVM IR. This is to match the similar adjustments being made
for lit tests to use opaque pointers.
Commit: db9811cd131d66c1c3dff0222fc8bcc83a555846
https://github.com/llvm/llvm-project/commit/db9811cd131d66c1c3dff0222fc8bcc83a555846
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Make lldbDataFormatters.py compatible with Python 3.8 (#82518)
I just tried to load this into LLDB built against Python 3.8.5 and got
the following error: `TypeError: 'type' object is not subscriptable`. I
could fix this by wrapping the annotations in quotes but since Python
3.7 this syntax can be enabled with `from __future__ import
annotations`.
Commit: baf6bd303bd58a521809d456dd9b179636982fc5
https://github.com/llvm/llvm-project/commit/baf6bd303bd58a521809d456dd9b179636982fc5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] Fixes to immediate-escalating functions (#82281)
* Consider that immediate escalating function can appear at global
scope, fixing a crash
* Lambda conversion to function pointer was sometimes not performed in
an immediate function context when it should be.
Fixes #82258
Commit: 5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10
https://github.com/llvm/llvm-project/commit/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/BinarySection.h
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/unittests/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Fix memory leak in BinarySection (#82520)
The change in #80950 exposed a memory leak in BinarySection. Let
BinarySection manage memory passed via updateContents() unless a valid
SectionID is set indicating that the contents are managed by JITLink.
Commit: 7fa8585fdefd98dd73940c74165aa55da1175f02
https://github.com/llvm/llvm-project/commit/7fa8585fdefd98dd73940c74165aa55da1175f02
Author: Bill Wendling <morbo at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/InstallAPI/FileList.cpp
Log Message:
-----------
[NFC][clang] Remove trailing whitespaces
Commit: cb1fed3a89e0cdc2660edaada1f0868cae3b7bcf
https://github.com/llvm/llvm-project/commit/cb1fed3a89e0cdc2660edaada1f0868cae3b7bcf
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
Log Message:
-----------
[NVPTX] Correctly guard int -> bf16 on PTX version and SM version
Commit: d4fd20258f63d30be638b04f10eaa469707759f0
https://github.com/llvm/llvm-project/commit/d4fd20258f63d30be638b04f10eaa469707759f0
Author: mlevesquedion <mlevesquedion at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Transforms/parametric-tiling.mlir
Log Message:
-----------
[mlir] Use arith max or min ops instead of cmp + select (#82178)
I believe the semantics should be the same, but this saves 1 op and simplifies the code.
For example, the following two instructions:
```
%2 = cmp sgt %0, %1
%3 = select %2, %0, %1
```
Are equivalent to:
```
%2 = maxsi %0 %1
```
Commit: cd160a6e98533fbc04a76d1b969db77b49668eb3
https://github.com/llvm/llvm-project/commit/cd160a6e98533fbc04a76d1b969db77b49668eb3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Do not add call results with void type to State (NFC).
With vector libraries, we may vectorize calls with void return types. Do
not add those values to the state; they can never be accessed.
Commit: 99c457dc2ef395872d7448c85609f6cb73a7f89b
https://github.com/llvm/llvm-project/commit/99c457dc2ef395872d7448c85609f6cb73a7f89b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/lib/builtins/divtc3.c
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/int_types.h
M compiler-rt/lib/builtins/multc3.c
Log Message:
-----------
Unbreak *tf builtins for hexfloat (#82208)
This re-lands cc0065a7d082f0bd322a538cf62cfaef1c8f89f8 in a way that
keeps existing targets working.
---------
Original commit message:
#68132 ended up removing
__multc3 & __divtc3 from compiler-rt library builds that have
QUAD_PRECISION but not TF_MODE due to missing int128 support.
I added support for QUAD_PRECISION to use the native hex float long double representation.
---------
Co-authored-by: Sean Perry <perry at ca.ibm.com>
Commit: 81b4b89197a6be5f19f907b558540bb3cb70f064
https://github.com/llvm/llvm-project/commit/81b4b89197a6be5f19f907b558540bb3cb70f064
Author: Justin Stitt <jstitt007 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/integer-overflow.c
Log Message:
-----------
[Sanitizer] Support -fwrapv with -fsanitize=signed-integer-overflow (#82432)
Clang has a `signed-integer-overflow` sanitizer to catch arithmetic
overflow; however, most of its instrumentation [fails to
apply](https://godbolt.org/z/ee41rE8o6) when `-fwrapv` is enabled; this
is by design.
The Linux kernel enables `-fno-strict-overflow` which implies `-fwrapv`.
This means we are [currently unable to detect signed-integer
wrap-around](https://github.com/KSPP/linux/issues/26). All the while,
the root cause of many security vulnerabilities in the Linux kernel is
[arithmetic overflow](https://cwe.mitre.org/data/definitions/190.html).
To work around this and enhance the functionality of
`-fsanitize=signed-integer-overflow`, we instrument signed arithmetic
even if the signed overflow behavior is defined.
Co-authored-by: Justin Stitt <justinstitt at google.com>
Commit: c63e68ba5fb54b69521c4f010d1c5290856c6509
https://github.com/llvm/llvm-project/commit/c63e68ba5fb54b69521c4f010d1c5290856c6509
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
Bump the minimum LLVM version for TestTypeList.py
Commit: 2b2881b0ae94e56aa019b519419d122bb7b81462
https://github.com/llvm/llvm-project/commit/2b2881b0ae94e56aa019b519419d122bb7b81462
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/InstallAPI/Context.h
Log Message:
-----------
Add namespace qualifier for llvm::StringRef
Commit: 9eff001d3dbe84851caa7de4e1093af62c009e06
https://github.com/llvm/llvm-project/commit/9eff001d3dbe84851caa7de4e1093af62c009e06
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
Log Message:
-----------
[TargetLowering] Correctly yield NaN from FP_TO_BF16
We didn't set the exponent field, resulting in tiny numbers instead of
NaNs.
Commit: d17eade22ab9a65144a2bbd538f47924eed6b87d
https://github.com/llvm/llvm-project/commit/d17eade22ab9a65144a2bbd538f47924eed6b87d
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
Do not call disable / enable on null depot (#82542)
depot can be null if allocation_ring_buffer_size=0
Commit: be36812fb7cb3fca05f20865e062c966a14dbfdc
https://github.com/llvm/llvm-project/commit/be36812fb7cb3fca05f20865e062c966a14dbfdc
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
Log Message:
-----------
[TargetLowering] Be more efficient in fp -> bf16 NaN conversions
We can avoid masking completely as it is OK (and probably preferable) to
bring over some of the existant NaN payload.
Commit: 828bf134d732a29146d1dd666548c75b49012b08
https://github.com/llvm/llvm-project/commit/828bf134d732a29146d1dd666548c75b49012b08
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Cleanup HeaderFile Interface & options handling, NFC (#82544)
Commit: 049e142badfca3fae5c190c5d4b37acdd2e9c10c
https://github.com/llvm/llvm-project/commit/049e142badfca3fae5c190c5d4b37acdd2e9c10c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/lib/CMakeLists.txt
M libc/startup/linux/CMakeLists.txt
Log Message:
-----------
[libc] Fix startup utilities failing to install in full build mode (#82522)
Summary:
Currently, doing `ninja install` will fail in fullbuild mode due to the
startup utilities not being built by default. This was hidden previously
by the fact that if tests were run, it would build the startup utilities
and thus they would be present.
This patch solves this issue by making the `libc-startup` target a
dependncy on the final library. Furthermore we simply factor out the
library install directory into the base CMake directory next to the
include directory handling. This change makes the `crt` files get
installed in `lib/x86_64-unknown-linu-gnu` instead of just `lib`.
This fixes an error I had where doing a runtimes failed to install its
libraries because the install step always errored.
Commit: 300425cea51ef566a4d38e57afd9a7ae8024a682
https://github.com/llvm/llvm-project/commit/300425cea51ef566a4d38e57afd9a7ae8024a682
Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Revert "[Docs] Add release note about Clang-defined target OS macros … (#80045)
…(#79879)"
This reverts commit b40d5b1b08564d23d5e0769892ebbc32447b2987.
The target OS macros work is included in the 18.x release. Move the
release note to the release branch
(https://github.com/llvm/llvm-project/pull/80044).
Commit: 699c408c88b3ed02f25464aa868bd48454fbba3f
https://github.com/llvm/llvm-project/commit/699c408c88b3ed02f25464aa868bd48454fbba3f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC][HWASAN] Fix misleading name
Commit: 9ea9e93f4a74b363887b773397bcb134062270d9
https://github.com/llvm/llvm-project/commit/9ea9e93f4a74b363887b773397bcb134062270d9
Author: Yuta Mukai <mukai.yuta at fujitsu.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Fix elements being added while the list is iterated (#80805)
There is no need to add the elements of Objs twice, so the addition is
removed.
Commit: 640e781dc87bdb74e14a66c89e54417e60150904
https://github.com/llvm/llvm-project/commit/640e781dc87bdb74e14a66c89e54417e60150904
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Use SkeletonCU in place of IsDWO check (#82540)
Changed isDWO to a function that checks Skeleton CU that is passed in.
This is for preparation for
https://github.com/llvm/llvm-project/pull/81062.
Commit: 004c1972b4585fe8051814ceb6c6cdbf3cb62290
https://github.com/llvm/llvm-project/commit/004c1972b4585fe8051814ceb6c6cdbf3cb62290
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/DebugData.h
M bolt/lib/Core/DebugData.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Expose DebugStrOffsetsWriter::clear (#82548)
Refactored cod that clears data-structures in DebugStrOffsetsWriter into
clear() function and made initialize() public. This is for
https://github.com/llvm/llvm-project/pull/81062.
Commit: f204aee1b9173ed9ae72017808f0a379c3a8de7a
https://github.com/llvm/llvm-project/commit/f204aee1b9173ed9ae72017808f0a379c3a8de7a
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/CMakeLists.txt
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/lib/Dialect/GPU/CMakeLists.txt
R mlir/lib/Dialect/GPU/Transforms/SerializeToCubin.cpp
Log Message:
-----------
[mlir][GPU] Remove the SerializeToCubin pass (#82486)
The `SerializeToCubin` pass was deprecated in September 2023 in favor of
GPU compilation attributes; see the [GPU
compilation](https://mlir.llvm.org/docs/Dialects/GPU/#gpu-compilation)
section in the `gpu` dialect MLIR docs.
This patch removes `SerializeToCubin` from the repo.
Commit: 4c0fdcdb33076e936327cb0743c827f019a8e1ff
https://github.com/llvm/llvm-project/commit/4c0fdcdb33076e936327cb0743c827f019a8e1ff
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
A llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
A llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll
Log Message:
-----------
[Hexagon] Generate absolute-set load/store instructions. (#82034)
The optimization finds the loads/stores of a specific form and translate
the first load/store to an absolute-set form there by optimizing out the
transfer and eliminate the constant extenders.
Commit: d62ca8def395ac165f253fdde1d93725394a4d53
https://github.com/llvm/llvm-project/commit/d62ca8def395ac165f253fdde1d93725394a4d53
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
A llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
A llvm/test/CodeGen/Hexagon/post-inc-vec.mir
A llvm/test/CodeGen/Hexagon/post_inc_store.mir
A llvm/test/CodeGen/Hexagon/postincopt-crash.mir
A llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
A llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
Log Message:
-----------
[Hexagon] Optimize post-increment load and stores in loops. (#82418)
This patch optimizes the post-increment instructions so that we can
packetize them together.
v1 = phi(v0, v3')
v2,v3 = post_load v1, 4
v2',v3'= post_load v3, 4
This can be optimized in two ways
v1 = phi(v0, v3')
v2,v3' = post_load v1, 8
v2' = load v1, 4
Commit: a976e3c6959209f6f011260f64e4705ee84b47e8
https://github.com/llvm/llvm-project/commit/a976e3c6959209f6f011260f64e4705ee84b47e8
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
Log Message:
-----------
[compiler-rt][Fuchsia] Propogate raw_report to UnmapOrDieVmar (#82566)
As of #77488, UnmapOrDie now accepts raw_report which allows the program
to crash without calling Report(). We should propogate this value
through UnmapOrDieVmar and have that call ReportMunmapFailureAndDie
which uses `raw_report`.
Commit: ba31a195f5f2efc17bee8cf3be4260badc578615
https://github.com/llvm/llvm-project/commit/ba31a195f5f2efc17bee8cf3be4260badc578615
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 4c0fdcdb3307
Commit: dd6d059da5a75689666e555058ade7a83e81d29f
https://github.com/llvm/llvm-project/commit/dd6d059da5a75689666e555058ade7a83e81d29f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port d62ca8def395
Commit: 99822be6f08e42eef38913a128996a93e8292f73
https://github.com/llvm/llvm-project/commit/99822be6f08e42eef38913a128996a93e8292f73
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in SerializationTest.cpp (NFC)
Commit: 443247993cb8562f1308aab5ee0a9404983707d0
https://github.com/llvm/llvm-project/commit/443247993cb8562f1308aab5ee0a9404983707d0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/IR/InterfaceAttachmentTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in InterfaceAttachmentTest.cpp (NFC)
Commit: df8d5c17802b162c5d20300426f03d6fb970d2a2
https://github.com/llvm/llvm-project/commit/df8d5c17802b162c5d20300426f03d6fb970d2a2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in OperationSupportTest.cpp (NFC)
Commit: fa25433d433932b1b8fd296206b1bcd974afecad
https://github.com/llvm/llvm-project/commit/fa25433d433932b1b8fd296206b1bcd974afecad
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-use-override in SerializeNVVMTarget.cpp (NFC)
Commit: 0d12628d06b8ab37157faea474548735ddb7eeb2
https://github.com/llvm/llvm-project/commit/0d12628d06b8ab37157faea474548735ddb7eeb2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-container-size-empty in SerializeNVVMTarget.cpp (NFC)
Commit: 1eeeab82c6eb185f5139e633a59c2dbcb15616e4
https://github.com/llvm/llvm-project/commit/1eeeab82c6eb185f5139e633a59c2dbcb15616e4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py
M lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
M lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
M lldb/test/API/macosx/arm-corefile-regctx/TestArmMachoCorefileRegctx.py
M lldb/test/API/macosx/lc-note/addrable-bits/TestAddrableBitsCorefile.py
M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
M lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py
M lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
M lldb/test/API/macosx/queues/TestQueues.py
M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
M lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py
Log Message:
-----------
[lldb][test] Modernize assertEqual(value, bool) (#82526)
Any time we see the pattern `assertEqual(value, bool)`, we can replace
that with `assert<bool>(value)`. Likewise for `assertNotEqual`.
Technically this relaxes the test a bit, as we may want to make sure
`value` is either `True` or `False`, and not something that implicitly
converts to a bool. For example, `assertEqual("foo", True)` will fail,
but `assertTrue("foo")` will not. In most cases, this distinction is not
important.
There are two such places that this patch does **not** transform, since
it seems intentional that we want the result to be a bool:
*
https://github.com/llvm/llvm-project/blob/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py#L90
*
https://github.com/llvm/llvm-project/blob/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10/lldb/test/API/commands/settings/TestSettings.py#L940
Followup to 9c2468821ec51defd09c246fea4a47886fff8c01. I patched `teyit`
with a `visit_assertEqual` node handler to generate this.
Commit: 11d115d0569b212dfeb7fe6485be48070e068e19
https://github.com/llvm/llvm-project/commit/11d115d0569b212dfeb7fe6485be48070e068e19
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
Log Message:
-----------
[RISCV] Adjust test case to show wrong stride. NFC
See https://github.com/llvm/llvm-project/pull/82506#discussion_r1498080785
Commit: 7e1432f1258e229a4fcc9c017937166f0578e1f8
https://github.com/llvm/llvm-project/commit/7e1432f1258e229a4fcc9c017937166f0578e1f8
Author: Alex Langford <alangford at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/Options.h
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/unittests/Interpreter/CMakeLists.txt
A lldb/unittests/Interpreter/TestOptions.cpp
Log Message:
-----------
[lldb] Standardize command option parsing error messages (#82273)
I have been looking to simplify parsing logic and improve the interfaces
so that they are both easier to use and harder to abuse. To be specific,
I am referring to functions such as `OptionArgParser::ToBoolean`: I
would like to go from its current interface to something more like
`llvm::Error<bool> ToBoolean(llvm::StringRef option_arg)`.
Through working on that, I encountered 2 inconveniences:
1. Option parsing code is not uniform. Every function writes a slightly
different error message, so incorporating an error message from the
`ToBoolean` implementation is going to be laborious as I figure out what
exactly needs to change or stay the same.
2. Changing the interface of `ToBoolean` would require a global atomic
change across all of the Command code. This would be quite frustrating
to do because of the non-uniformity of our existing code.
To address these frustrations, I think it would be easiest to first
standardize the error reporting mechanism when parsing options in
commands. I do so by introducing `CreateOptionParsingError` which will
create an error message of the shape:
Invalid value ('${option_arg}') for -${short_value} ('${long_value}'):
${additional_context}
Concretely, it would look something like this:
(lldb) breakpoint set -n main -G yay
error: Invalid value ('yay') for -G (auto-continue): Failed to parse as
boolean
After this, updating the interfaces for parsing the values themselves
should become simpler. Because this can be adopted incrementally, this
should be able to done over the course of time instead of all at once as
a giant difficult-to-review change. I've changed exactly one function
where this function would be used as an illustration of what I am
proposing.
Commit: 05af9c83f3a0d154f73d619ac1361eae05531e5e
https://github.com/llvm/llvm-project/commit/05af9c83f3a0d154f73d619ac1361eae05531e5e
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A llvm/test/TableGen/HwModeEncodeDecode2.td
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
Log Message:
-----------
[TableGen] Suppress per-HwMode duplicate instructions/tables. (#82567)
Currently, for per-HwMode encoding/decoding, those instructions that do
not have a HwMode override are duplicated into the decoder tables for
all HwModes. This includes inducing multiple tables for instructions
that are otherwise unrelated (e.g., different namespace with no
overrides at all).
This patch adds support to suppress instruction and table duplicates.
TableGen option "-gen-disassembler --suppress-per-hwmode-duplicates"
enables the suppression (off by default).
For one downstream backend with a complicated ISA and major
cross-generation encoding differences, this eliminates ~32000 duplicate
table entries at the time of this patch.
There are legitimate reasons to suppress or not suppress duplicates. If
there are relatively few non-overridden related instructions, it can be
convenient to pull them into the per-mode tables (only need to decode
the per-mode tables, slightly simpler decode function in disassembler).
On the other hand, in some backends, the opposite is true or the size is
too large to tolerate any duplication in the first place. We let the
user decide which makes sense.
This is currently off by default, though there is no reason it couldn't
be enabled by default. Any existing backends downstream using the
per-HwMode feature will function as before. Turning on the feature
requires minor modifications to their disassembler due to more/less
tables and naming.
Commit: 815644b4dd882ade2e5649d4f97c3dd6f7aea200
https://github.com/llvm/llvm-project/commit/815644b4dd882ade2e5649d4f97c3dd6f7aea200
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
Log Message:
-----------
[RISCV] Fix mgather -> riscv.masked.strided.load combine not extending indices (#82506)
This fixes the miscompile reported in #82430 by telling
isSimpleVIDSequence to sign extend to XLen instead of the width of the
indices, since the "sequence" of indices generated by a strided load
will be at XLen.
This was the simplest way I could think of getting isSimpleVIDSequence
to treat the indexes as if they were zero extended to XLenVT.
Another way we could do this is by refactoring out the "get constant
integers" part from isSimpleVIDSequence and handle them as APInts so we
can separately zero extend it.
Fixes #82430
Commit: db7e9e68411de074dee78c92657e983da4b89500
https://github.com/llvm/llvm-project/commit/db7e9e68411de074dee78c92657e983da4b89500
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/test/profile/instrprof-write-buffer-internal.c
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/Instrumentation/InstrProfiling/coverage.ll
M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/Transforms/PGOProfile/comdat_internal.ll
M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
A llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/tools/llvm-profdata/binary-ids-padding.test
M llvm/test/tools/llvm-profdata/large-binary-id-size.test
M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
M llvm/test/tools/llvm-profdata/raw-two-profiles.test
Log Message:
-----------
[TypeProf][InstrPGO] Introduce raw and instr profile format change for type profiling. (#81691)
* Raw profile format
- Header: records the byte size of compressed vtable names, and the
number of profiled vtable entries (call it `VTableProfData`). Header
also records padded bytes of each section.
- Payload: adds a section for compressed vtable names, and a section to
store `VTableProfData`. Both sections are padded so the size is a
multiple of 8.
* Indexed profile format
- Header: records the byte offset of compressed vtable names.
- Payload: adds a section to store compressed vtable names. This section
is used by `llvm-profdata` to show the list of vtables profiled for an
instrumented site.
[The originally reviewed
patch](https://github.com/llvm/llvm-project/pull/66825) will have
profile reader/write change and llvm-profdata change.
- To ensure this PR has all the necessary profile format change along
with profile version bump, created a copy of the originally reviewed
patch in https://github.com/llvm/llvm-project/pull/80761. The copy
doesn't have profile format change, but it has the set of tests which
covers type profile generation, profile read and profile merge. Tests
pass there.
rfc in
https://discourse.llvm.org/t/rfc-dynamic-type-profiling-and-optimizations-in-llvm/74600
---------
Co-authored-by: modiking <modiking213 at gmail.com>
Commit: 4d73cbe863886add6742a8ebd00d19c1cab11095
https://github.com/llvm/llvm-project/commit/4d73cbe863886add6742a8ebd00d19c1cab11095
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[nfc]remove unused variable after pr/81691 (#82578)
* `N` became unused after [pull request 81691](https://github.com/llvm/llvm-project/pull/81691)
* This should fix the build bot failure of `unused variable`
https://lab.llvm.org/buildbot/#/builders/77/builds/34840
Commit: 0e8d1877cd145719b7acb707539287b7b877a555
https://github.com/llvm/llvm-project/commit/0e8d1877cd145719b7acb707539287b7b877a555
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/test/profile/instrprof-write-buffer-internal.c
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/Instrumentation/InstrProfiling/coverage.ll
M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/Transforms/PGOProfile/comdat_internal.ll
M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
R llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/tools/llvm-profdata/binary-ids-padding.test
M llvm/test/tools/llvm-profdata/large-binary-id-size.test
M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
M llvm/test/tools/llvm-profdata/raw-two-profiles.test
Log Message:
-----------
Revert type profiling change as compiler-rt test break on Windows. (#82583)
Examples
https://lab.llvm.org/buildbot/#/builders/127/builds/62532/steps/8/logs/stdio
Commit: 386aa7b16977150da917a78423fd05cb19609850
https://github.com/llvm/llvm-project/commit/386aa7b16977150da917a78423fd05cb19609850
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Replace `vector.shuffle` with `vector.interleave` in vector narrow type emulation (#82550)
This PR replaces the generation of `vector.shuffle` with
`vector.interleave` in the i4 conversions in vector narrow type
emulation. The multi dimensional semantics of `vector.interleave` allow
us to enable these conversion emulations also for multi dimensional
vectors.
Commit: 675791335285fa86434dc46e5c92f543e0e79d19
https://github.com/llvm/llvm-project/commit/675791335285fa86434dc46e5c92f543e0e79d19
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Log Message:
-----------
[lldb][test] Fix PythonDataObjectsTest
This is using `FileSystem::Instance()` w/o calling `FileSystem::Initialize()`. Use `SubsystemRAII` to do that.
Commit: 6676f67e3103bb6779d226de6bb4f0f8f8ab99f2
https://github.com/llvm/llvm-project/commit/6676f67e3103bb6779d226de6bb4f0f8f8ab99f2
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Remove stub target which is not needed anymore.
Commit: bc1c86b810e518a8e3fa90d5c26908c43788873d
https://github.com/llvm/llvm-project/commit/bc1c86b810e518a8e3fa90d5c26908c43788873d
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Also remove SerializeToCubin target.
Commit: 7e97ae35ae2d1c38d149e670139a538bdba86e93
https://github.com/llvm/llvm-project/commit/7e97ae35ae2d1c38d149e670139a538bdba86e93
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/make-compressible.mir
Log Message:
-----------
[RISCV] Teach RISCVMakeCompressible handle Zca/Zcf/Zce/Zcd. (#81844)
Make targets which don't have C but have Zca/Zcf/Zce/Zcd benefit from
this pass.
Commit: edd4aee4dd9b5b98b2576a6f783e4086173d902a
https://github.com/llvm/llvm-project/commit/edd4aee4dd9b5b98b2576a6f783e4086173d902a
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Compute integers once in isSimpleVIDSequence. NFCI (#82590)
We need to iterate through the integers twice in isSimpleVIDSequence, so
instead of computing them twice just compute them once at the start.
This also replaces the individual checks that each element is constant
with a single call to BuildVectorSDNode::isConstant.
Commit: e899641df2391179e8ec29ca14c53b09ae7ce85c
https://github.com/llvm/llvm-project/commit/e899641df2391179e8ec29ca14c53b09ae7ce85c
Author: martinboehme <mboehme at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow] Fix inaccuracies in `buildStmtToBasicBlockMap()`. (#82496)
See the comments added to the code for details on the inaccuracies that
have
now been fixed.
The patch adds tests that fail with the old implementation.
Commit: 8bd327d6fed5a4ae99bdbd039f5503700030cf53
https://github.com/llvm/llvm-project/commit/8bd327d6fed5a4ae99bdbd039f5503700030cf53
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fdiv-sqrt-to-rsq.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Add fdiv / sqrt to rsq combine (#78673)
Fixes #64743
Commit: fde344aef20bc4280f01294ac6e14a5c2db2d572
https://github.com/llvm/llvm-project/commit/fde344aef20bc4280f01294ac6e14a5c2db2d572
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Improve signature conversion API (#81997)
This commit improves the block signature conversion API of the dialect
conversion.
There is the following comment in
`ArgConverter::applySignatureConversion`:
```
// If no arguments are being changed or added, there is nothing to do.
```
However, the implementation actually used to replace a block with a new
block even if the block argument types do not change (i.e., there is
"nothing to do"). This is fixed in this commit. The documentation of the
public `ConversionPatternRewriter` API is updated accordingly.
This commit also removes a check that used to *sometimes* skip a block
signature conversion if the block was already converted. This is not
consistent with the public `ConversionPatternRewriter` API; blocks
should always be converted, regardless of whether they were already
converted or not.
Block signature conversion also used to be silently skipped when the
specified block was detached. Instead of silently skipping, an assertion
is triggered. Attempting to convert a detached block (which is likely an
erased block) is invalid API usage.
Commit: 25e7e8d993f12f391ad90d23b5c3e2385ebafc81
https://github.com/llvm/llvm-project/commit/25e7e8d993f12f391ad90d23b5c3e2385ebafc81
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/AArch64/addsub.ll
M llvm/test/CodeGen/AArch64/callbr-asm-obj-file.ll
M llvm/test/CodeGen/RISCV/pr51206.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
Log Message:
-----------
[CGP] Permit tail call optimization on undefined return value
We may freely allow tail call optzs on undef values as well.
Fixes: https://github.com/llvm/llvm-project/issues/82387.
Commit: c5253aa136ac6ba683b367b2bae0dde1a543d1df
https://github.com/llvm/llvm-project/commit/c5253aa136ac6ba683b367b2bae0dde1a543d1df
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-tailcall.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
[AArch64] Restore Z-registers before P-registers (#79623) (#82492)
This is needed by PR#77665[1] that uses a P-register while restoring
Z-registers.
The reverse for SVE register restore in the epilogue was added to
guarantee performance, but further work was done to improve sve frame
restore and besides that the schedule also may change the order of the
restore, undoing the reverse restore.
This also fix the problem reported in (PR #79623) on Windows with
std::reverse and .base().
[1]https://github.com/llvm/llvm-project/pull/77665
Commit: 55558cd05c998f1b287b0af97aa6db0db0bdfaa0
https://github.com/llvm/llvm-project/commit/55558cd05c998f1b287b0af97aa6db0db0bdfaa0
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (#81756)
This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).
Until now, the signature conversion of a block was only a "partial" IR
rewrite. Rollbacks were triggered via
`BlockTypeConversionRewrite::rollback`, but there was no
`BlockTypeConversionRewrite::commit` equivalent.
Overview of changes:
* Remove `ArgConverter`, an internal helper class that kept track of all
block type conversions. There is now a separate
`BlockTypeConversionRewrite` for each block type conversion.
* No more special handling for block type conversions. They are now
normal "IR rewrites", just like "block creation" or "block movement". In
particular, trigger "commits" of block type conversion via
`BlockTypeConversionRewrite::commit`.
* Remove `ArgConverter::notifyOpRemoved`. This function was used to
inform the `ArgConverter` that an operation was erased, to prevent a
double-free of operations in certain situations. It would be unpractical
to add a `notifyOpRemoved` API to `IRRewrite`. Instead, erasing
ops/block should go through a new `SingleEraseRewriter` (that is owned
by the `ConversionPatternRewriterImpl`) if there is chance of
double-free. This rewriter ignores `eraseOp`/`eraseBlock` if the
op/block was already freed.
Commit: fddf23c6f4478fc39b0077538d288082f983ce80
https://github.com/llvm/llvm-project/commit/fddf23c6f4478fc39b0077538d288082f983ce80
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
Log Message:
-----------
[SPIRV] Add support for the SPV_KHR_subgroup_rotate extension (#82374)
This PR adds support for the SPV_KHR_subgroup_rotate extension that
enables rotating values across invocations within a subgroup:
*
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/KHR/SPV_KHR_subgroup_rotate.asciidoc
Commit: 6cca23a3b91e12c0b6639449bc1e5eb564067db3
https://github.com/llvm/llvm-project/commit/6cca23a3b91e12c0b6639449bc1e5eb564067db3
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
A llvm/test/CodeGen/SPIRV/switch-no-jump-table.ll
Log Message:
-----------
[SPIRV] Prevent creation of jump tables from switch (#82287)
This PR is to prevent creation of jump tables from switch. The reason is
that SPIR-V doesn't know how to lower jump tables, and a sequence of
commands that IRTranslator generates for switch via jump tables breaks
SPIR-V Backend code generation with complains to G_BRJT. The next
example is the shortest code to break SPIR-V Backend code generation in
this way:
```
target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
target triple = "spir64-unknown-unknown"
define spir_func void @foo(i32 noundef %val) {
entry:
switch i32 %val, label %sw.epilog [
i32 0, label %sw.bb
i32 1, label %sw.bb2
i32 2, label %sw.bb3
i32 3, label %sw.bb4
]
sw.bb:
br label %sw.epilog
sw.bb2:
br label %sw.epilog
sw.bb3:
br label %sw.epilog
sw.bb4:
br label %sw.epilog
sw.epilog:
ret void
}
```
To resolve the issue we set a high lower limit for number of blocks in a
jump table via getMinimumJumpTableEntries() and prevent undesirable (or
rather unsupported at the moment) path of code generation.
Commit: bcbffd99c48ed0cabd1b94e9ff252680f0968fc3
https://github.com/llvm/llvm-project/commit/bcbffd99c48ed0cabd1b94e9ff252680f0968fc3
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
Log Message:
-----------
[AMDGPU] Split Dpp8FI and Dpp16FI operands (#82379)
Split Dpp8FI and Dpp16FI into two different operands sharing an
AsmOperandClass. They are parsed and rendered identically as fi:1 but
the encoding is different: for DPP16 FI is a single bit, but for DPP8 it
uses two different special values in the src0 field. Having a dedicated
decoder for Dpp8FI allows it to reject other (non-special) src0 values
so that AMDGPUDisassembler::getInstruction no longer needs to call
isValidDPP8 to do post hoc validation of decoded DPP8 instructions.
Commit: 6193233540e55de61baeb80208b06c6808b14dbc
https://github.com/llvm/llvm-project/commit/6193233540e55de61baeb80208b06c6808b14dbc
Author: Yury Gribov <tetra2005 at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
A llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
Log Message:
-----------
[AArch64] Fix sched model for TSV110 core. (#82343)
Accumulator operand of MADD instruction can be bypassed from another
MUL-like operation. Before this fix bypassing was incorrectly applied to
multiplier operand.
Co-authored-by: Yury Gribov <gribov.yuri at huawei.com>
Commit: 4a602d9250e1eb3c729d0421d11be2be8693cbf2
https://github.com/llvm/llvm-project/commit/4a602d9250e1eb3c729d0421d11be2be8693cbf2
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
Log Message:
-----------
Add support for the SPV_INTEL_usm_storage_classes extension (#82247)
Add support for the SPV_INTEL_usm_storage_classes extension:
*
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_usm_storage_classes.asciidoc
Commit: f01719afaae9a208ac272d99760d18e4c16d9241
https://github.com/llvm/llvm-project/commit/f01719afaae9a208ac272d99760d18e4c16d9241
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
A mlir/test/Integration/Dialect/Vector/CPU/test-interleave.mlir
Log Message:
-----------
[mlir][test] Add integration tests for vector.interleave (#80969)
Commit: e4d4ebe0415b9f1fd8cb034ac68f0616f12facf2
https://github.com/llvm/llvm-project/commit/e4d4ebe0415b9f1fd8cb034ac68f0616f12facf2
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
Log Message:
-----------
[llvm][llvm-jitlink] Disable test on Windows on Arm
This fails on one of our bots:
https://lab.llvm.org/buildbot/#/builders/120/builds/6309
llvm-jitlink error: Unsupported target machine architecture in COFF object
The other bot doesn't run the test at all it seems but I can't explain
why. It's also possible that I'm mistaken and the mostly native but still
"cross compiling" setup we have on WoA means an x86 object is produced sometimes
(perhaps because a default triple is still x86).
Commit: b9ce237980b5a636e87e3578609c812833f7537f
https://github.com/llvm/llvm-project/commit/b9ce237980b5a636e87e3578609c812833f7537f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
Log Message:
-----------
[AMDGPU] Clean up conversion of DPP instructions in AMDGPUDisassembler (#82480)
Convert DPP instructions after all calls to tryDecodeInst, just like we
do for all other instruction types. NFCI.
Commit: 4f12f47550eee85447c9ec37d27a20c6593d3d40
https://github.com/llvm/llvm-project/commit/4f12f47550eee85447c9ec37d27a20c6593d3d40
Author: Harald van Dijk <harald at gigawatt.nl>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
Log Message:
-----------
[AArch64] Switch to soft promoting half types. (#80576)
The traditional promotion is known to generate wrong code.
Like #80440 for ARM, except that far less is affected as on AArch64,
hardware floating point support always includes FP16 support and is
unaffected by these changes. This only affects `-mgeneral-regs-only`
(Clang) / `-mattr=-fp-armv8` (LLVM).
Because this only affects a configuration where no FP support is
available at all, `useFPRegsForHalfType()` has no effect and is not
specified: `f32` was getting legalized as a parameter and return type to
an integer anyway.
Commit: 3b7d43301e3662da4197cef7948c18fab850d9c4
https://github.com/llvm/llvm-project/commit/3b7d43301e3662da4197cef7948c18fab850d9c4
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Remove DPP DecoderNamespaces. NFC. (#82491)
Now that there is no special checking for valid DPP encodings, these
instructions can use the same DecoderNamespace as other 64- or 96-bit
instructions.
Also clean up setting DecoderNamespace: in most cases it should be set
as a pair with AssemblerPredicate.
Commit: f17e4151423a798c18533080fe7f8a3e922d7312
https://github.com/llvm/llvm-project/commit/f17e4151423a798c18533080fe7f8a3e922d7312
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks-local-linkage.ll
Log Message:
-----------
[AArch64] Mangle names of all ARM64EC functions with entry thunks (#80996)
This better matches MSVC output in cases where static functions have their addresses taken.
Commit: 1f99a450127c2404d4f9b8ac24acdb17823c988b
https://github.com/llvm/llvm-project/commit/1f99a450127c2404d4f9b8ac24acdb17823c988b
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
R llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
Log Message:
-----------
[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)
This patch removes the `-reverse-csr-restore-seq` option from
AArch64FrameLowering, since this is no longer used.
This patch was reverted because of a crash in PR#79623.
Merging it back as it was fixed in PR#82492.
Commit: 4235e44d4c37ca738c74def05da8caf124d2464e
https://github.com/llvm/llvm-project/commit/4235e44d4c37ca738c74def05da8caf124d2464e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
Log Message:
-----------
[GlobalISel] Constant-fold G_PTR_ADD with different type sizes (#81473)
All other opcodes in the list are constrained to have the same type on
both operands, but not G_PTR_ADD.
Fixes #81464
Commit: 3ef63a71adb7fd1c792fd61d00c74159fcef9a2f
https://github.com/llvm/llvm-project/commit/3ef63a71adb7fd1c792fd61d00c74159fcef9a2f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
Log Message:
-----------
[CVP] Refactor `processMinMaxIntrinsic` to check non-strict predicate in both directions (#82596)
This patch uses `getConstantRangeAtUse` in `processMinMaxIntrinsic` to
address the comment
https://github.com/llvm/llvm-project/pull/82478#discussion_r1497300920.
After this patch we can reuse the range result in
https://github.com/llvm/llvm-project/pull/82478.
Commit: c831d83bb17caa3a8f137052559cb6c54b21b7c1
https://github.com/llvm/llvm-project/commit/c831d83bb17caa3a8f137052559cb6c54b21b7c1
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
A llvm/test/Transforms/InferAddressSpaces/AMDGPU/multiple-uses-of-val.ll
Log Message:
-----------
[InferAddrSpaces] Correctly replace identical operands of insts (#82610)
It's important for PHI nodes because if a PHI node has multiple edges
coming from the same block, we can have the same incoming value multiple
times in the list of incoming values. All of those need to be consistent
(exact same Value*) otherwise verifier complains.
Fixes SWDEV-445797
Commit: 73c646a3b27293f8cb4ba120de7bc01c223b4b5f
https://github.com/llvm/llvm-project/commit/73c646a3b27293f8cb4ba120de7bc01c223b4b5f
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/lib/Evaluate/fold-integer.cpp
Log Message:
-----------
[flang] Fix warning when with clang-cl/msvc
\llvm\flang\lib\Evaluate\fold-integer.cpp(705,35): warning: lambda capture 'FromInt64' is not used [-Wunused-lambda-capture]
It is intentionally unused.
Commit: 18f116651af0e328e6f9f6b0619171bd8a2c4817
https://github.com/llvm/llvm-project/commit/18f116651af0e328e6f9f6b0619171bd8a2c4817
Author: pwprzybyla <121295298+pwprzybyla at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
Log Message:
-----------
Multilib support for libraries with exceptions (#75031)
For better multilib matching explicitly match -fno-rtti and -fno-exceptions
Commit: b47f63d3c8fedf7c98b7f58e892e784fddee4601
https://github.com/llvm/llvm-project/commit/b47f63d3c8fedf7c98b7f58e892e784fddee4601
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/CodeGen/Targets/AArch64.cpp
A clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
Log Message:
-----------
[Clang][SME] Detect always_inline used with mismatched streaming attributes (#77936)
This patch adds an error that is emitted when a streaming function is
marked as always_inline and is called from a non-streaming function.
Commit: fa8a21144ec9a6836e9bf1e3bf5cd0b2f058209e
https://github.com/llvm/llvm-project/commit/fa8a21144ec9a6836e9bf1e3bf5cd0b2f058209e
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/test/Analysis/out-of-bounds.c
Log Message:
-----------
[analyzer] Improve handling of unsigned values in ArrayBoundCheckerV2 (#81034)
A memory access is an out of bounds error if the offset is < the extent
of the memory region. Notice that here "<" is a _mathematical_
comparison between two numbers and NOT a C/C++ operator that compares
two typed C++ values: for example -1 < 1000 is true in mathematics, but
if the `-1` is an `int` and the `1000` is a `size_t` value, then
evaluating the C/C++ operator `<` will return false because the `-1`
will be converted to `SIZE_MAX` by the automatic type conversions.
This means that it's incorrect to perform a bounds check with
`evalBinOpNN(State, BO_LT, ...)` which performs automatic conversions
and can produce wildly incorrect results.
ArrayBoundsCheckerV2 already had a special case where it avoided calling
`evalBinOpNN` in a situation where it would have performed an automatic
conversion; this commit replaces that code with a more general one that
covers more situations. (It's still not perfect, but it's better than
the previous version and I think it will cover practically all
real-world code.)
Note that this is not a limitation/bug of the simplification algorithm
defined in `getSimplifedOffsets()`: the simplification is not applied in
the test case `test_comparison_with_extent_symbol` (because the `Extent`
is not a concrete int), but without the new code it would still run into
a `-1 < UNSIGNED` comparison that evaluates to false because
`evalBinOpNN` performs an automatic type conversion.
Commit: afa8a2eed0c4ca61ac19abd88022e63e58408af1
https://github.com/llvm/llvm-project/commit/afa8a2eed0c4ca61ac19abd88022e63e58408af1
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
Log Message:
-----------
[analyzer] Remove superfluous #include "CallDescription.h" (NFC) (#82614)
To fix https://github.com/llvm/llvm-project/issues/81597, I'm planning
to refactor the usage of CallDescription; and as I was preparing for
this I noticed that there are two superfluous references to this header.
Commit: 770fd3856660fea6cbaa78d9cb1f03cc92611783
https://github.com/llvm/llvm-project/commit/770fd3856660fea6cbaa78d9cb1f03cc92611783
Author: Ian Hickson <ian at hixie.ch>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Document string literals in LLVM's format (#82529)
Commit: 5b8e5604c297aa8fd09bf641d12d0a663e0ea801
https://github.com/llvm/llvm-project/commit/5b8e5604c297aa8fd09bf641d12d0a663e0ea801
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/aix-builtin-cpu-is.c
A clang/test/Sema/aix-builtin-cpu-unsupports.c
M llvm/include/llvm/TargetParser/PPCTargetParser.def
Log Message:
-----------
[AIX] Lower intrinsic __builtin_cpu_is into AIX platform-specific code. (#80069)
On AIX OS, __builtin_cpu_is() references the runtime external variable
_system_configuration from /usr/include/sys/systemcfg.h.
ref issue: https://github.com/llvm/llvm-project/issues/80042
Commit: cbb24e139d0753d755d17fbe6bfac48ab44d0721
https://github.com/llvm/llvm-project/commit/cbb24e139d0753d755d17fbe6bfac48ab44d0721
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
A llvm/test/Bitcode/constant-splat.ll
Log Message:
-----------
[LLVM][IR] Add native vector support to ConstantInt & ConstantFP. (#74502)
NOTE: For brevity the following talks about ConstantInt but
everything extends to cover ConstantFP as well.
Whilst ConstantInt::get() supports the creation of vectors whereby
each lane has the same value, it achieves this via other constants:
* ConstantVector for fixed-length vectors
* ConstantExprs for scalable vectors
However, ConstantExprs are being deprecated and ConstantVector is
not space efficient for larger vector types. By extending ConstantInt
we can represent vector splats by only storing the underlying scalar
value.
More specifically:
* ConstantInt gains an ElementCount variant of get().
* LLVMContext is extended to map <EC,APInt>->ConstantInt.
* BitcodeReader/Writer support is extended to allow vector types.
Whilst this patch adds the base support, more work is required
before it's production ready. For example, there's likely to be
many places where isa<ConstantInt> assumes a scalar type. Accordingly
the default behaviour of ConstantInt::get() remains unchanged but a
set of flags are added to allow wider testing and thus help with the
migration:
--use-constant-int-for-fixed-length-splat
--use-constant-fp-for-fixed-length-splat
--use-constant-int-for-scalable-splat
--use-constant-fp-for-scalable-splat
NOTE: No change is required to the bitcode format because types and
values are handled separately.
NOTE: For similar reasons as above, code generation doesn't work
out-the-box.
Commit: 88e31f64a034ec6dead2106016ee5b797674edb0
https://github.com/llvm/llvm-project/commit/88e31f64a034ec6dead2106016ee5b797674edb0
Author: Matt <MattPD at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
A llvm/test/Transforms/OpenMP/deduplication_soundness.ll
Log Message:
-----------
[OpenMP][FIX] Remove unsound omp_get_thread_limit deduplication (#79524)
The deduplication of the calls to `omp_get_thread_limit` used to be
legal when originally added in
<https://github.com/llvm/llvm-project/commit/e28936f6137c5a9c4f7673e248c192a9811543b6#diff-de101c82aff66b2bda2d1f53fde3dde7b0d370f14f1ff37b7919ce38531230dfR123>,
as the result (thread_limit) was immutable.
However, now that we have `thread_limit` clause, we no longer have
immutability; therefore `omp_get_thread_limit()` is not a deduplicable
runtime call.
Thus, removing `omp_get_thread_limit` from the
`DeduplicableRuntimeCallIDs` array.
Here's a simple example:
```
#include <omp.h>
#include <stdio.h>
int main()
{
#pragma omp target thread_limit(4)
{
printf("\n1:target thread_limit: %d\n", omp_get_thread_limit());
}
#pragma omp target thread_limit(3)
{
printf("\n2:target thread_limit: %d\n", omp_get_thread_limit());
}
return 0;
}
```
GCC-compiled binary execution: https://gcc.godbolt.org/z/Pjv3TWoTq
```
1:target thread_limit: 4
2:target thread_limit: 3
```
Clang/LLVM-compiled binary execution:
https://clang.godbolt.org/z/zdPbrdMPn
```
1:target thread_limit: 4
2:target thread_limit: 4
```
By my reading of the OpenMP spec GCC does the right thing here; cf.
<https://www.openmp.org/spec-html/5.2/openmpse12.html#x34-330002.4>:
> If a target construct with a thread_limit clause is encountered, the
thread-limit-var ICV from the data environment of the generated initial
task is instead set to an implementation defined value between one and
the value specified in the clause.
The common subexpression elimination (CSE) of the second call to
`omp_get_thread_limit` by LLVM does not seem to be correct, as it's not
an available expression at any program point(s) (in the scope of the
clause in question) after the second target construct with a
`thread_limit` clause is encountered.
Compiling with `-Rpass=openmp-opt -Rpass-analysis=openmp-opt
-Rpass-missed=openmp-opt` we have:
https://clang.godbolt.org/z/G7dfhP7jh
```
<source>:8:42: remark: OpenMP runtime call omp_get_thread_limit deduplicated. [OMP170] [-Rpass=openmp-opt]
8 | printf("\n1:target thread_limit: %d\n",omp_get_thread_limit());
| ^
```
OMP170 has the following explanation:
https://openmp.llvm.org/remarks/OMP170.html
> This optimization remark indicates that a call to an OpenMP runtime
call was replaced with the result of an existing one. This occurs when
the compiler knows that the result of a runtime call is immutable.
Removing duplicate calls is done by replacing all calls to that function
with the result of the first call. This cannot be done automatically by
the compiler because the implementations of the OpenMP runtime calls
live in a separate library the compiler cannot see.
This optimization will trigger for known OpenMP runtime calls whose
return value will not change.
At the same time I do not believe we have an analysis checking whether
this precondition holds here: "This occurs when the compiler knows that
the result of a runtime call is immutable."
AFAICT, such analysis doesn't appear to exist in the original patch
introducing deduplication, either:
-
https://github.com/llvm/llvm-project/commit/9548b74a831ea005649465797f359e0521f3b8a9
- https://reviews.llvm.org/D69930
The fix is to remove it from `DeduplicableRuntimeCallIDs`, effectively
reverting the addition in this commit (noting that `omp_get_max_threads`
is not present in `DeduplicableRuntimeCallIDs`, so it's possible this
addition was incorrect in the first place):
- [OpenMP][Opt] Annotate known runtime functions and deduplicate more,
-
https://github.com/llvm/llvm-project/commit/e28936f6137c5a9c4f7673e248c192a9811543b6#diff-de101c82aff66b2bda2d1f53fde3dde7b0d370f14f1ff37b7919ce38531230dfR123
As a result, we're no longer unsoundly deduplicating the OpenMP runtime
call `omp_get_thread_limit` as illustrated by the test case: Note the
(correctly) repeated `call i32 @omp_get_thread_limit()`.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: d3f6dd6585f4866a38a794b80db55a62c1050c77
https://github.com/llvm/llvm-project/commit/d3f6dd6585f4866a38a794b80db55a62c1050c77
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpextend.ll
Log Message:
-----------
[InstCombine] Pick bfloat over half when shrinking ops that started with an fpext from bfloat (#82493)
This fixes the case where we would shrink an frem to half and then
bitcast to bfloat, producing invalid results. The transformation was
written under the assumption that there is only one type with a given
bit width.
Also add a strategic assert to CastInst::CreateFPCast to turn this
miscompilation into a crash.
Commit: 9dbedcac1243e8e99103bdff37da51dded67b766
https://github.com/llvm/llvm-project/commit/9dbedcac1243e8e99103bdff37da51dded67b766
Author: Petr Hosek <phosek at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M libc/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[build] Check RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES for libc also (#82561)
When checking whether we need to build libc-hdrgen, we need to check
LLVM_ENABLE_RUNTIMES and RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES, just
the former is not sufficient since libc may be enabled only for certain
targets.
Commit: cf8fc53a96f844328be8d20435c5b4151a7b8f92
https://github.com/llvm/llvm-project/commit/cf8fc53a96f844328be8d20435c5b4151a7b8f92
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/test/Semantics/OpenMP/device-constructs.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][LLVM][OpenMP] Relax target data restrictions to be more inline with the specification (#82537)
Currently we emit errors whenever a map is not provided on a target data
directive, however, I believe that's incorrect behavior, the
specification states:
"At least one map, use_device_addr or use_device_ptr clause must appear
on the directive"
So provided one is present, the directive is legal in this case.
Slightly different to its siblings (enter/exit/update) which don't have
use_device_addr/use_device_ptr.
Commit: 27498e9942dbb8dd005588a03d6777088d2255ce
https://github.com/llvm/llvm-project/commit/27498e9942dbb8dd005588a03d6777088d2255ce
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/struct.f90
Log Message:
-----------
[Flang][OpenMP] Prevent ICE for certain constructs in unnamed programs (#73938)
This patch fixes #72748 by modifying the processing of program units to
search for a symbol to which OpenMP REQUIRES clauses can bind to. Rather
than picking up the first PFT node with a source reference and getting
its associated scope, it picks up the last one.
This avoids using the source from the first specification construct of
a nameless program, which can sometimes not be associated to any scope,
causing an ICE due to an invalid source location.
Commit: 8e28037374934c60602cb8c85874f443e3348b9e
https://github.com/llvm/llvm-project/commit/8e28037374934c60602cb8c85874f443e3348b9e
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[SystemZ] Add SystemZ path for the PR labeler (#82515)
Similar to #82200:
Add paths for SystemZ related changes to the PR labeler.
There is no pr-subscribers-backend:SystemZ team in the llvm org yet.
Much appreciated if some admin can help to create the team.
Commit: 307409a8872ff27339d5d5c6a7e7777254972f34
https://github.com/llvm/llvm-project/commit/307409a8872ff27339d5d5c6a7e7777254972f34
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/lib/Evaluate/fold-integer.cpp
Log Message:
-----------
[flang] Fix warning fix
This fixes 73c646a3b27293f8cb4ba120de7bc01c223b4b5f.
I misread the #ifdefs and didn't realise that they were in
the middle of passing parameters to a function.
Move the workaround outside this.
Commit: 20434bf3731389773fb8569889bd5d06375683bf
https://github.com/llvm/llvm-project/commit/20434bf3731389773fb8569889bd5d06375683bf
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
[RemoveDIs][NFC] Add DPLabel class [2/3] (#82376)
Patch 2 of 3 to add llvm.dbg.label support to the RemoveDIs project. The
patch stack adds the DPLabel class, which is the RemoveDIs
llvm.dbg.label
equivalent.
1. Add DbgRecord base class for DPValue and the not-yet-added
DPLabel class.
-> 2. Add the DPLabel class.
3. Enable dbg.label conversion and add support to passes.
This will be used (and tested) in the final patch(es), coming next.
Commit: 601c9bec736739da9160092ef60e3468266816bd
https://github.com/llvm/llvm-project/commit/601c9bec736739da9160092ef60e3468266816bd
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Headers/arm_acle.h
Log Message:
-----------
[clang][NFC] Fix arm_acle.h title headers (#82624)
Fix some title headers to align them with the actual ACLE document.
Commit: 08eced5fccd2f103379292f119834a7a3c3b6b25
https://github.com/llvm/llvm-project/commit/08eced5fccd2f103379292f119834a7a3c3b6b25
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
Log Message:
-----------
[mlir][test] Add -march=aarch64 -mattr=+sve to test-scalable-interleave
Fix for https://lab.llvm.org/buildbot/#/builders/179/builds/9438
Commit: 695a9d84dc1dd003c31d3e5e22af3525c31218c2
https://github.com/llvm/llvm-project/commit/695a9d84dc1dd003c31d3e5e22af3525c31218c2
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
Log Message:
-----------
LoopVectorize: add test for crash in #72969 (#74111)
Commit: 9eb5f94f9b47154cf07160a6ba74ab1c31becfa3
https://github.com/llvm/llvm-project/commit/9eb5f94f9b47154cf07160a6ba74ab1c31becfa3
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
Log Message:
-----------
[RISCV][AArch64] Add vscale_range attribute to tests per architecture minimums
Spent a bunch of time tracing down an odd issue "in SCEV" which turned out
to be the fact that SCEV doesn't have access to TTI. As a result, the only
way for it to get range facts on vscales (to avoid collapsing ranges of
element counts and type sizes to trivial ranges on multiplies) is to look
at the vscale_range attribute. Since vscale_range is set by clang by
default, manually setting it in the tests shouldn't interfere with the
test intent.
Commit: 0107c8824b695db86706bbc3466bbfd585a754aa
https://github.com/llvm/llvm-project/commit/0107c8824b695db86706bbc3466bbfd585a754aa
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV][SDAG] Improve codegen of select with constants if zicond is available (#82456)
This patch uses `add + czero.eqz/nez` to lower select with constants if
zicond is available.
```
(select c, c1, c2) -> (add (czero_nez c2 - c1, c), c1)
(select c, c1, c2) -> (add (czero_eqz c1 - c2, c), c2)
```
The above code sequence is suggested by [RISCV Optimization
Guide](https://riscv-optimization-guide-riseproject-c94355ae3e6872252baa952524.gitlab.io/riscv-optimization-guide.html#_avoid_branches_using_conditional_moves).
Commit: 43f1fa99ca7d05be9545a102e15ad0d607887839
https://github.com/llvm/llvm-project/commit/43f1fa99ca7d05be9545a102e15ad0d607887839
Author: cmtice <cmtice at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[LLVM][DebugInfo] Refactor some code for easier sharing. (#82153)
Refactor the code that calculates the offsets for the various pieces of
the DWARF .debug_names index section, to make it easier to share the
code with other tools, such as LLD.
Commit: f67ef1a8d9841718ce08a69d935ac8fd8e6112f9
https://github.com/llvm/llvm-project/commit/f67ef1a8d9841718ce08a69d935ac8fd8e6112f9
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
Log Message:
-----------
[RISCV][LV] Add additional small trip count loop coverage
Commit: c9afd1ad783a67210bed4fd2f7108477fc986e15
https://github.com/llvm/llvm-project/commit/c9afd1ad783a67210bed4fd2f7108477fc986e15
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[RISCV] Add test case showing missed opportunity to form sextload when sext and zext nneg are both present. NFC
Commit: a51f4afc5aec8145091fead1d68c81e7d210fc0d
https://github.com/llvm/llvm-project/commit/a51f4afc5aec8145091fead1d68c81e7d210fc0d
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
M llvm/test/Transforms/HotColdSplit/eh-pads.ll
M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
A llvm/test/Transforms/HotColdSplit/outline-inner-region.ll
A llvm/test/Transforms/HotColdSplit/outline-outer-region.ll
Log Message:
-----------
[HCS] Externd to outline overlapping sub/super cold regions (#80732)
Currently, with hot cold splitting, when a cold region is identified, it
is added to the region list of ColdBlocks. Then when another cold region
(B) identified overlaps with a ColdBlocks region (A) already added to
the list, the region B is not added to the list because of the
overlapping with region A. The splitting analysis is performed, and the
region A may not get split, for example, if it’s considered too
expansive. This is to improve the handling the overlapping case when the
region A is not considered good for splitting, while the region B is
good for splitting.
The change is to move the cold region splitting analysis earlier to
allow more cold region splitting. If an identified region cannot be
split, it will not be added to the candidate list of ColdBlocks for
overlapping check.
Commit: c1716e3fcf4e43b4a328731920f76b2fce9485d0
https://github.com/llvm/llvm-project/commit/c1716e3fcf4e43b4a328731920f76b2fce9485d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[DAGCombiner][RISCV] CSE zext nneg and sext. (#82597)
If we have a sext and a zext nneg with the same types and operand
we should combine them into the sext. We can't go the other way
because the nneg flag may only be valid in the context of the uses
of the zext nneg.
Commit: 5b53fa04db33a931b843b32946065490513484bf
https://github.com/llvm/llvm-project/commit/5b53fa04db33a931b843b32946065490513484bf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
Log Message:
-----------
[RISCV] Enable -riscv-enable-sink-fold by default. (#82026)
AArch64 has had it enabled since late November, so hopefully the main
issues have been resolved.
I see a small reduction in dynamic instruction count on every benchmark
in specint2017. The best improvement was 0.3% so nothing amazing.
Commit: 26cc6f126a3b25644c595b3a5a0417b1e1ab42a8
https://github.com/llvm/llvm-project/commit/26cc6f126a3b25644c595b3a5a0417b1e1ab42a8
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Scope.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/SemaOpenACC/no-branch-in-out.c
Log Message:
-----------
[OpenACC] Implement 'break' and 'continue' errors for Compute Cnstrcts (#82543)
OpenACC3.3 2.5.4 says: "A program may not branch into or out of a
compute construct". While some of this restriction isn't particularly
checkable, 'break' and 'continue' are possible and pretty trivial, so
this patch implements those limitations.
It IS unclear in the case of a 'break' in a 'switch' what should happen
(an antagonistic reading of the standard would prevent it from
appearing), however we're choosing to special-case the break-in-switch
to ensure that this works (albeit, a 'parallel' directive on a 'switch'
isn't particularly useful, though permitted).
Future implementations of this rule will be in a follow-up patch.
Commit: 87b1e735b28f81d9012fd302cd07385db50a274f
https://github.com/llvm/llvm-project/commit/87b1e735b28f81d9012fd302cd07385db50a274f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/minmax.ll
M llvm/test/Transforms/ConstraintElimination/sext.ll
Log Message:
-----------
[ConstraintElim] Decompose sext-like insts for signed predicates (#82344)
Alive2: https://alive2.llvm.org/ce/z/A8dtGp
Fixes #82271.
Commit: 26d71d9ed56c4c23e6284dac7a9bdf603a5801f3
https://github.com/llvm/llvm-project/commit/26d71d9ed56c4c23e6284dac7a9bdf603a5801f3
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
A llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zstd.test
M llvm/tools/llvm-readobj/ObjDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
Log Message:
-----------
[llvm-readobj,ELF] Support --decompress/-z (#82594)
When a section has the SHF_COMPRESSED flag, -p/-x dump the compressed
content by default. In GNU readelf, if --decompress/-z is specified,
-p/-x will dump the decompressed content. This patch implements the
option.
Close #82507
Commit: 163eaf3bbc24e46a6ec9b71deda8c66f0354d2d7
https://github.com/llvm/llvm-project/commit/163eaf3bbc24e46a6ec9b71deda8c66f0354d2d7
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
Log Message:
-----------
[CodeGen] Clean up MachineFunctionSplitter MBB safety checking (NFC)
Move the "is MBB safe to split" check out of `isColdBlock` and update
the comment since we're no longer using a temporary hack.
Commit: 6599c022be7c797cd0fafeea4c538e01aae78fd4
https://github.com/llvm/llvm-project/commit/6599c022be7c797cd0fafeea4c538e01aae78fd4
Author: yandalur <quic_yandalur at quicinc.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
A llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir
Log Message:
-----------
[HEXAGON] Fix bit boundary for isub_hi in HexagonBitSimplify (#82336)
Use bit boundary of 32 for high subregisters in HexagonBitSimplify. This
fixes the subregister used in an upper half register store.
Commit: b0edc1c45284586fdb12edd666f95d99f5f62b43
https://github.com/llvm/llvm-project/commit/b0edc1c45284586fdb12edd666f95d99f5f62b43
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
A llvm/test/Transforms/VectorCombine/RISCV/load-widening.ll
Log Message:
-----------
[Loads] Fix crash in isSafeToLoadUnconditionally with scalable accessed type (#82650)
This fixes #82606 by updating isSafeToLoadUnconditionally to handle
fixed sized loads from a scalable accessed type.
Commit: 5b079af169cd04b457465fd7ca31714efeefe6d9
https://github.com/llvm/llvm-project/commit/5b079af169cd04b457465fd7ca31714efeefe6d9
Author: Michael Jones <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M libc/src/__support/fixed_point/CMakeLists.txt
M libc/src/__support/fixed_point/fx_bits.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/FPUtil/fpbits_test.cpp
A libc/test/src/__support/fixed_point/CMakeLists.txt
A libc/test/src/__support/fixed_point/fx_bits_test.cpp
Log Message:
-----------
[libc] add FXBits class (#82065)
The FXBits class is what will be used to modify fixed point numbers on a
bit level. This patch adds a basic implementation as well as basic
tests.
Commit: 3a85594cb340aabe7ad993eb3912987f4246925e
https://github.com/llvm/llvm-project/commit/3a85594cb340aabe7ad993eb3912987f4246925e
Author: sethp <seth at codecopse.net>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC] Fix typo in ReleaseNotes.rst (#82655)
Deletes the leading 7 from the textual issue number.
Commit: bc841bb0f8b55d18ed97440df878d0121701a317
https://github.com/llvm/llvm-project/commit/bc841bb0f8b55d18ed97440df878d0121701a317
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A clang/test/InstallAPI/basic.test
A clang/test/InstallAPI/driver-invalid-options.test
R clang/test/InstallAPI/installapi-basic.test
R clang/test/InstallAPI/installapi-driver-invalid-options.test
Log Message:
-----------
[clang] Rename installapi tests, NFC
* Reduces redundancy
Commit: e630a451b457e4d8d071a2b4f102b342bbea2d02
https://github.com/llvm/llvm-project/commit/e630a451b457e4d8d071a2b4f102b342bbea2d02
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
Log Message:
-----------
[HCS] Fix unused variable warnings. NFCI.
Commit: ea174c09342275d6c6fec48fb846eaf28fae5b51
https://github.com/llvm/llvm-project/commit/ea174c09342275d6c6fec48fb846eaf28fae5b51
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/OffloadRTL.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/exports
M openmp/libomptarget/src/interface.cpp
A openmp/libomptarget/test/offloading/runtime_init.c
Log Message:
-----------
[Libomptarget] Remove global ctor and use reference counting (#80499)
Summary:
Currently we rely on global constructors to initialize and shut down the
OpenMP runtime library and plugin manager. This causes some issues
because we do not have a defined lifetime that we can rely on to release
and allocate resources. This patch instead adds some simple reference
counted initialization and deinitialization function.
A future patch will use the `deinit` interface to more intelligently
handle plugin deinitilization. Right now we do nothing and rely on
`atexit` inside of the plugins to tear them down. This isn't great
because it limits our ability to control these things.
Note that I made the `__tgt_register_lib` functions do the
initialization instead of adding calls to the new runtime functions in
the linker wrapper. The reason for this is because in the past it's been
easier to not introduce a new function call, since sometimes the user's
compiler will link against an older `libomptarget`. Maybe if we change
the name with offloading in the future we can simplify this.
Depends on https://github.com/llvm/llvm-project/pull/80460
Commit: ec24094b56793478909783c1156fd57ce5ec2006
https://github.com/llvm/llvm-project/commit/ec24094b56793478909783c1156fd57ce5ec2006
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/LTO/Config.h
M llvm/lib/LTO/LTOBackend.cpp
Log Message:
-----------
[LTO] Remove Config.UseDefaultPipeline (#82587)
This option is not used. It was added in
[D122133](https://reviews.llvm.org/D122133), 5856f30b, with the only
usage in `ClangLinkerWrapper.cpp`, which was later updated in a1d57fc2,
and then finally removed in [D142650](https://reviews.llvm.org/D142650),
6185246f.
Commit: 54a6cf15069e7e88125477e0b3ce1ab063c893c6
https://github.com/llvm/llvm-project/commit/54a6cf15069e7e88125477e0b3ce1ab063c893c6
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX][NFC] Use LLVM Types in DXIL Operation specifications in DXIL.td (#81692)
This change uniformly uses LLVM Types in the specification of parameter
types and overload types of DXIL operation.
Updated (a) parameter types accordingly in the specification of existing
DXILOperations and (b) DXILEmitter.
Commit: 2e7cacfced573283d5424830f20333e2a6731251
https://github.com/llvm/llvm-project/commit/2e7cacfced573283d5424830f20333e2a6731251
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix crash in TokenAnnotator (#82349)
The while loop on line 3814 can cause a segmentation fault getting the
Next field on a nullptr. This is because further down, on line 3823,
there is another for loop, which assigns Tok to Tok->Next in its
initializer. This for loop has a condition to check if the result of
that isn't null. If it is, the loop is skipped and we drop back out to
the outer loop, except, now Tok is null, and we try to dereference it
without checking first.
This patch adds a defensive check that returns if Tok->Next is null
before we make it to the second for loop.
Fixes https://github.com/llvm/llvm-project/issues/82328
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: a23d4ceb8866df91334750627827a1724363e755
https://github.com/llvm/llvm-project/commit/a23d4ceb8866df91334750627827a1724363e755
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
Log Message:
-----------
[lldb][llvm] Return an error instead of crashing when parsing a line table prologue. (#80769)
We recently ran into some bad DWARF where the `DW_AT_stmt_list` of many
compile units was randomly set to invalid values and was causing LLDB to
crash due to an assertion about address sizes not matching. Instead of
asserting, we should return an appropriate recoverable `llvm::Error`.
Commit: da1880cc56060c9da91cbd04daa7f8aa3ea0e829
https://github.com/llvm/llvm-project/commit/da1880cc56060c9da91cbd04daa7f8aa3ea0e829
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
GSym aggregated output to JSON file (#81763)
In order to make tooling around dwarf health easier, I've added an
`--json-summary-file` option to `llvm-gsymutil` that will spit out error
summary data with counts to a JSON file.
I've added the same capability to `llvm-dwarfdump` in a [different
PR.](https://github.com/llvm/llvm-project/pull/81762)
The format of the json is:
```JSON
{
"error-categories": {
"<first category description>": {"count": 1234},
"<next category description>": {"count":4321}
},
"error-count": 5555
}
```
for a clean run:
```JSON
{
"error-categories": {},
"error-count": 0
}
```
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 5c24c316496e221e1841418f0f39ccb7200c83c6
https://github.com/llvm/llvm-project/commit/5c24c316496e221e1841418f0f39ccb7200c83c6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/SemaCXX/cxx2a-ms-no-unique-address.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG2759 "`[[no_unique_address]` and common initial sequence" (#82607)
This patch implements said defect report resolution by adding additional
check to common initial sequence evaluation. Consequently, this fixes
CWG2759.
Commit: cc839275164a7768451531af868fa70eb9e71cbd
https://github.com/llvm/llvm-project/commit/cc839275164a7768451531af868fa70eb9e71cbd
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
Log Message:
-----------
[CVP] Canonicalize signed minmax into unsigned (#82478)
This patch turns signed minmax to unsigned to match the behavior for
signed icmps.
Alive2: https://alive2.llvm.org/ce/z/UAAM42
Commit: 33a6ce18373ffd1457ebd54e930b6f02fe4c39c1
https://github.com/llvm/llvm-project/commit/33a6ce18373ffd1457ebd54e930b6f02fe4c39c1
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/test/CMakeLists.txt
M clang/test/CodeGenCUDA/device-stub.cu
M clang/test/CodeGenCUDA/host-used-device-var.cu
A clang/test/Driver/Inputs/hip.h
M clang/test/Driver/clang-offload-bundler.c
A clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-toolchain-rdc.hip
Log Message:
-----------
[HIP] Allow partial linking for `-fgpu-rdc` (#81700)
`-fgpu-rdc` mode allows device functions call device functions in
different TU. However, currently all device objects have to be linked
together since only one fat binary is supported. This is time consuming
for AMDGPU backend since it only supports LTO.
There are use cases that objects can be divided into groups in which
device functions are self-contained but host functions are not. It is
desirable to link/optimize/codegen the device code and generate a fatbin
for each group, whereas partially link the host code with `ld -r` or
generate a static library by using the `--emit-static-lib` option of
clang. This avoids linking all device code together, therefore decreases
the linking time for `-fgpu-rdc`.
Previously, clang emits an external symbol `__hip_fatbin` for all
objects for `-fgpu-rdc`. With this patch, clang emits an unique external
symbol `__hip_fatbin_{cuid}` for the fat binary for each object. When a
group of objects are linked together to generate a fatbin, the symbols
are merged by alias and point to the same fat binary. Each group has its
own fat binary. One executable or shared library can have multiple fat
binaries. Device linking is done for undefined fab binary symbols only
to avoid repeated linking. `__hip_gpubin_handle` is also uniquefied and
merged to avoid repeated registering. Symbol `__hip_cuid_{cuid}` is
introduced to facilitate debugging and tooling.
Fixes: https://github.com/llvm/llvm-project/issues/77018
Commit: 1069823ce7d154aa8ef87ae5a0fd34b527eca2a0
https://github.com/llvm/llvm-project/commit/1069823ce7d154aa8ef87ae5a0fd34b527eca2a0
Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
Enable JumpTableToSwitch pass by default (#82546)
Enable JumpTableToSwitch pass by default.
Test plan: ninja check-all
Commit: 4f7ab789bf43b49914815bdf4e4c3703f92e781d
https://github.com/llvm/llvm-project/commit/4f7ab789bf43b49914815bdf4e4c3703f92e781d
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/test/Dialect/Mesh/spmdization.mlir
Log Message:
-----------
[mlir][mesh] add support in spmdization for incomplete sharding annotations (#82442)
Don't require that `mesh.shard` operations come in pairs. If there is
only a single `mesh.shard` operation we assume that the producer result
and consumer operand have the same sharding.
Commit: 744c0057e7dc0d1d046a4867cece2f31fee9bb23
https://github.com/llvm/llvm-project/commit/744c0057e7dc0d1d046a4867cece2f31fee9bb23
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
Log Message:
-----------
[AArch64][CodeGen] Fix crash when fptrunc returns fp16 with +nofp attr (#81724)
When performing lowering of the fptrunc opcode returning fp16 with the
+nofp flag enabled we could trigger a compiler crash. This is because we
had no custom lowering implemented. This patch
the case in which we need to promote an fp16 return type
for fptrunc when the +nofp attr is enabled.
Commit: 6ddb25ed9ca2cb0f4ad8f402d7411ac3328f598d
https://github.com/llvm/llvm-project/commit/6ddb25ed9ca2cb0f4ad8f402d7411ac3328f598d
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
[scudo] increase frames per stack to 16 for stack depot (#82427)
8 was very low and it is likely that in real workloads we have more than
an average of 8 frames per stack given on Android we have 3 at the
bottom: __start_main, __libc_init, main, and three at the top: malloc,
scudo_malloc and Allocator::allocate. That leaves 2 frames for
application code, which is clearly unreasonable.
Commit: 242f98c7ab7c100d76cac29b555db20205619b38
https://github.com/llvm/llvm-project/commit/242f98c7ab7c100d76cac29b555db20205619b38
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
Log Message:
-----------
[Clang][SME] Skip writing output files to the source directory
Commit: 3168af56bcb827360c26957ef579b7871dad8e17
https://github.com/llvm/llvm-project/commit/3168af56bcb827360c26957ef579b7871dad8e17
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
Log Message:
-----------
LoopVectorize: Mark crash test as requiring assertions
Commit: 32994cc0d63513f77223c64148faeeb50aebb702
https://github.com/llvm/llvm-project/commit/32994cc0d63513f77223c64148faeeb50aebb702
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
Log Message:
-----------
[SLP]Improve findReusedOrderedScalars and graph rotation.
Patch syncs the code in findReusedOrderedScalars with cost
estimation/codegen. It tries to use similar logic to better determine
best order.
Before, it just tried to find previously vectorized node without
checking if it is possible to use the vectorized value in the shuffle.
Now it relies on the more generalized version. If it determines, that
a single vector must be reordered (using same mechanism, as codegen and
cost estimation), it generates better order.
The comparison between new/ref ordering:
Metric: SLP.NumVectorInstructions
Program SLP.NumVectorInstructions
results results0 diff
test-suite :: MultiSource/Benchmarks/nbench/nbench.test 139.00 140.00 0.7%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 344.00 346.00 0.6%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 1293.00 1292.00 -0.1%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 5176.00 5170.00 -0.1%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 5173.00 5167.00 -0.1%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 11692.00 11660.00 -0.3%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 1621.00 1615.00 -0.4%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 795.00 792.00 -0.4%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 26499.00 26338.00 -0.6%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 7343.00 7281.00 -0.8%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 1104.00 1094.00 -0.9%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 2216.00 2180.00 -1.6%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 787.00 637.00 -19.1%
Less 0% is better.
Most of the benchmarks see more vectorized code. The first ones just
have shuffles removed.
The ordering analysis still may require some improvements (e.g. for
alternate nodes), but this one should be produce better results.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/77529
Commit: 2685e7eadce08125672f0f6013145ae45b7a5ac3
https://github.com/llvm/llvm-project/commit/2685e7eadce08125672f0f6013145ae45b7a5ac3
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lldb/docs/resources/test.rst
M lldb/docs/testsuite/a-detailed-walkthrough.txt
M lldb/packages/Python/lldbsuite/test/README-TestSuite
Log Message:
-----------
[lldb][docs] Remove/update docs pointing to unittest2 (#82672)
Commit: e88c255313872185b8c9738d9fa0e624de1e1bea
https://github.com/llvm/llvm-project/commit/e88c255313872185b8c9738d9fa0e624de1e1bea
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/not.ll
Log Message:
-----------
[InstCombine] Add support for cast instructions in `getFreelyInvertedImpl` (#82451)
This patch adds support for cast instructions in `getFreelyInvertedImpl`
to enable more optimizations.
Alive2: https://alive2.llvm.org/ce/z/F6maEE
Commit: 3b20fb336d1191e7b969c30825ca8b9423550902
https://github.com/llvm/llvm-project/commit/3b20fb336d1191e7b969c30825ca8b9423550902
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] add missing dep after 5b079af169cd04b457465fd7ca31714efeefe6d9
Commit: f5c8e9e53130a628c2c3d25c2cbc308e62d2f3e0
https://github.com/llvm/llvm-project/commit/f5c8e9e53130a628c2c3d25c2cbc308e62d2f3e0
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
Log Message:
-----------
LoopVectorize/test: guard pr72969 with asserts (#82653)
Follow up on 695a9d8 (LoopVectorize: add test for crash in #72969) to
guard pr72969.ll with REQUIRES: asserts, in order to be reasonably
confident that it will crash reliably.
Commit: c1e9883a813db76c1b108ad715895928bb93f4c2
https://github.com/llvm/llvm-project/commit/c1e9883a813db76c1b108ad715895928bb93f4c2
Author: Matthias Gehre <93204396+mgehre-amd at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[TOSA] TosaToLinalg: fix int64_t min/max lowering of clamp (#82641)
tosa.clamp takes `min`/`max` attributes as i64, so ensure that the
lowering to linalg works for the whole range.
Co-authored-by: Tiago Trevisan Jost <tiago.trevisanjost at amd.com>
Commit: 66f6929fec3ae4770368b60aa1920623ab835f9d
https://github.com/llvm/llvm-project/commit/66f6929fec3ae4770368b60aa1920623ab835f9d
Author: Chris B <chris.bieneman at me.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A clang/docs/HLSL/ExpectedDifferences.rst
M clang/docs/HLSL/HLSLDocs.rst
Log Message:
-----------
[HLSL][Doc] Add doc about expected differences (#82395)
This document covers expected differences between Clang and the HLSL
reference compiler implementations (FXC & DXC). The document is not
intended to be exhaustive, but it should be a best effort to cover known
cases.
This document should document both the behavioral difference and the
explanation of why Clang differs.
The initail document covers known overload resolution differences.
---------
Co-authored-by: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Commit: 847048f497bcdfcfe52f36cba49f07bdbd63cd24
https://github.com/llvm/llvm-project/commit/847048f497bcdfcfe52f36cba49f07bdbd63cd24
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][Vector] Fix bug in vector xfer op flattening transformation (#81964)
It looks like the affine map generated to compute the indices of the
collapsed dimensions used the wrong dim size. For indices `[idx0][idx1]`
we computed the collapsed index as `idx0*size0 + idx1` instead of
`idx0*size1 + idx1`. This led to correctness issues in convolution tests
when enabling this transformation internally.
Commit: 91e9e3175268c85f4d0e8828d0d392191c250543
https://github.com/llvm/llvm-project/commit/91e9e3175268c85f4d0e8828d0d392191c250543
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
M llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/test/tools/llc/new-pm/start-stop.ll
M llvm/tools/llc/NewPMDriver.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[NewPM/CodeGen] Rewrite pass manager nesting (#81068)
Currently the new PM infra for codegen puts everything into a
MachineFunctionPassManager. The MachineFunctionPassManager owns both
Module passes and MachineFunction passes, and batches adjacent
MachineFunction passes like a typical PassManager.
The current MachineFunctionAnalysisManager also directly references a
module and function analysis manager to get results.
The initial argument was that the codegen pipeline is relatively "flat",
meaning it's mostly machine function passes with a couple of module
passes here and there. However, there are a couple of issues with this
as compared to a more structured nesting more like the optimization
pipeline. For example, it doesn't allow running function passes then
machine function passes on a function and its machine function all at
once. It also currently requires the caller to split out the IR passes
into one pass manager and the MIR passes into another pass manager.
This patch rewrites the new pass manager infra for the codegen pipeline
to be more similar to the nesting in the optimization pipeline.
Basically, a Function contains a MachineFunction. So we can have Module
-> Function -> MachineFunction adaptors. It also rewrites the analysis
managers to have inner/outer proxies like the ones in the optimization
pipeline. The new pass managers/adaptors/analysis managers can be seen
in use in PassManagerTest.cpp.
This allows us to consolidate to just having to add to one
ModulePassManager when using the codegen pipeline.
I haven't added the Function -> MachineFunction adaptor in this patch,
but it should be added when we merge AddIRPass/AddMachinePass so that we
can run IR and MIR passes on a function before proceeding to the next
function.
The MachineFunctionProperties infra for MIR verification is still WIP.
Commit: 7f71fa909a10be182b82b9dfaf0fade6eb84796c
https://github.com/llvm/llvm-project/commit/7f71fa909a10be182b82b9dfaf0fade6eb84796c
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/iterator_range.h
Log Message:
-----------
Extend GCC workaround to GCC < 8.4 for llvm::iterator_range ctor (#82643)
GCC SFINAE error with decltype was fixed in commit
ac5e28911abdfb8d9bf6bea980223e199bbcf28d which made it into GCC 8.4.
Therefore adjust GCC version test accordingly.
Commit: df6f756a19277d936ec83f7cebc2501327ac3add
https://github.com/llvm/llvm-project/commit/df6f756a19277d936ec83f7cebc2501327ac3add
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
A lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
A lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
A lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAPForward.h
A lldb/tools/lldb-dap/Watchpoint.cpp
A lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
Re-land [lldb-dap] Add support for data breakpoint. (#81909)
This implements functionality to handle DataBreakpointInfo request and
SetDataBreakpoints request.
Previous commit
https://github.com/llvm/llvm-project/commit/8c56e78ec531f0e2460213c20fff869b6b7add99
was reverted because setting 1 byte watchpoint failed in the new test on
ARM64. So, I changed the test to setting 4 byte watchpoint instead, and
hope this won't break it again. It also adds the fixes from
https://github.com/llvm/llvm-project/pull/81680.
Commit: 0eb64eebdecb3c138b4adfea1cbcdd03aa7d455c
https://github.com/llvm/llvm-project/commit/0eb64eebdecb3c138b4adfea1cbcdd03aa7d455c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port df6f756a1927
Commit: 45fe67dd61a6ac7df84d3a586e41c36a4767757f
https://github.com/llvm/llvm-project/commit/45fe67dd61a6ac7df84d3a586e41c36a4767757f
Author: Daniel Martinez <danielpedromartinez at duck.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M openmp/libomptarget/include/Shared/SourceInfo.h
Log Message:
-----------
Fix build on musl by including stdint.h (#81434)
openmp fails to build on musl since it lacks the defines for int32_t
Co-authored-by: Daniel Martinez <danielmartinez at cock.li>
Commit: 47b7c91abe7af3133a591aa2e73fffa30826f986
https://github.com/llvm/llvm-project/commit/47b7c91abe7af3133a591aa2e73fffa30826f986
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/openmp-offload-gpu.c
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/docs/gpu/using.rst
M libc/include/CMakeLists.txt
M libc/lib/CMakeLists.txt
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/GPU/CMakeLists.txt
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/RPC/CMakeLists.txt
M libc/src/math/CMakeLists.txt
M libc/src/math/gpu/vendor/CMakeLists.txt
M libc/src/stdio/CMakeLists.txt
M libc/src/stdlib/CMakeLists.txt
M libc/src/string/CMakeLists.txt
M libc/startup/gpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/CMakeLists.txt
M libc/startup/gpu/nvptx/CMakeLists.txt
M libc/test/CMakeLists.txt
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/UnitTest/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/File/CMakeLists.txt
M libc/test/src/errno/CMakeLists.txt
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/utils/UnitTest/CMakeLists.txt
M libc/utils/CMakeLists.txt
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/gpu/CMakeLists.txt
M libc/utils/gpu/loader/CMakeLists.txt
M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
M libc/utils/gpu/loader/nvptx/CMakeLists.txt
M libc/utils/gpu/server/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/runtimes/CMakeLists.txt
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
M openmp/libomptarget/test/lit.cfg
Log Message:
-----------
[libc] Rework the GPU build to be a regular target (#81921)
Summary:
This is a massive patch because it reworks the entire build and
everything that depends on it. This is not split up because various bots
would fail otherwise. I will attempt to describe the necessary changes
here.
This patch completely reworks how the GPU build is built and targeted.
Previously, we used a standard runtimes build and handled both NVPTX and
AMDGPU in a single build via multi-targeting. This added a lot of
divergence in the build system and prevented us from doing various
things like building for the CPU / GPU at the same time, or exporting
the startup libraries or running tests without a full rebuild.
The new appraoch is to handle the GPU builds as strict cross-compiling
runtimes. The first step required
https://github.com/llvm/llvm-project/pull/81557 to allow the `LIBC`
target to build for the GPU without touching the other targets. This
means that the GPU uses all the same handling as the other builds in
`libc`.
The new expected way to build the GPU libc is with
`LLVM_LIBC_RUNTIME_TARGETS=amdgcn-amd-amdhsa;nvptx64-nvidia-cuda`.
The second step was reworking how we generated the embedded GPU library
by moving it into the library install step. Where we previously had one
`libcgpu.a` we now have `libcgpu-amdgpu.a` and `libcgpu-nvptx.a`. This
patch includes the necessary clang / OpenMP changes to make that not
break the bots when this lands.
We unfortunately still require that the NVPTX target has an `internal`
target for tests. This is because the NVPTX target needs to do LTO for
the provided version (The offloading toolchain can handle it) but cannot
use it for the native toolchain which is used for making tests.
This approach is vastly superior in every way, allowing us to treat the
GPU as a standard cross-compiling target. We can now install the GPU
utilities to do things like use the offload tests and other fun things.
Some certain utilities need to be built with
`--target=${LLVM_HOST_TRIPLE}` as well. I think this is a fine
workaround as we
will always assume that the GPU `libc` is a cross-build with a
functioning host.
Depends on https://github.com/llvm/llvm-project/pull/81557
Commit: 3ed4b95bcf2039e7293f45e3b3fdf26b81dc319f
https://github.com/llvm/llvm-project/commit/3ed4b95bcf2039e7293f45e3b3fdf26b81dc319f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[Flang] Fix test not updated after 'clang' case change
Summary:
The shared 'clang' code changed this slightly but did not update the
flang test.
Commit: 72763521c34287bce68402eb2a9d71dcb4eed5a0
https://github.com/llvm/llvm-project/commit/72763521c34287bce68402eb2a9d71dcb4eed5a0
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/RISCV/term-fold-crash.ll
Log Message:
-----------
[LSR] Clear SCEVExpander before calling DeleteDeadPHIs
To avoid an assertion failure when an AssertingVH is removed,
as reported in:
https://github.com/llvm/llvm-project/pull/82362#issuecomment-1960067147
Also remove an unnecessary use of SCEVExpanderCleaner.
Commit: d4bfca3b2e673789f7c278d46a199ae8910ddd37
https://github.com/llvm/llvm-project/commit/d4bfca3b2e673789f7c278d46a199ae8910ddd37
Author: Wentao Zhang <35722712+whentojump at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenPGO.cpp
Log Message:
-----------
[clang][CodeGen] Keep processing the rest of AST after encountering unsupported MC/DC expressions (#82464)
Currently, upon seeing unsupported decisions (more than 6 conditions, or
split nesting), the post-visitor hook dataTraverseStmtPost() returns a
false. As a result, in the rest of tree even supported decisions will
be skipped as well. Like in the below code:
{ // CompoundStmt
a && b; // 1: BinaryOperator (supported)
a && foo(b && c); // 2: BinaryOperator (not yet supported due to split
// nesting)
a && b; // 3: BinaryOperator (supported)
}
Decision 3 will not be processed at all. And only one "Decision" region
will be emitted. Compiler explorer example:
https://godbolt.org/z/Px61sesoo
We hope to process such cases and emit two "Decision" regions (1 and 3)
in the above example.
Commit: ae3e14276b7181ae51e9ef731f44f813a1a3f123
https://github.com/llvm/llvm-project/commit/ae3e14276b7181ae51e9ef731f44f813a1a3f123
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
Fix test/Dialect/Vector/vector-transfer-flatten.mlir
Commit: e2f08268304dc972440391c43bf1d47e28fad93e
https://github.com/llvm/llvm-project/commit/e2f08268304dc972440391c43bf1d47e28fad93e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
Log Message:
-----------
[MLIR] Fix LLVM dialect specification to use AnySignlessInteger instead of AnyInteger (#82694)
LLVM IR does not support signed integer, the LLVM dialect was
underspecified (likely unintentionally) and the AnyInteger constraint
was overly lax.
The arithmetic dialect is already consistently using AnySignlessInteger.
Commit: e314622f204a01ffeda59cbe046dd403b01f8b74
https://github.com/llvm/llvm-project/commit/e314622f204a01ffeda59cbe046dd403b01f8b74
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-alignment.c
Log Message:
-----------
[clang][driver] Allow unaligned access on ARMv7 and higher by default (#82400)
ARM's Clang and GCC embedded compilers default to allowing unaligned
access for ARMv7+. This patch changes the Clang driver default to match.
Users can opt out with `-mno-unaligned-access`.
Fixes #59560
Commit: d5a15f3116f8c3ec32df1f13a2fc521a98b03d96
https://github.com/llvm/llvm-project/commit/d5a15f3116f8c3ec32df1f13a2fc521a98b03d96
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/cuda-cross-compiling.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Clang][NVPTX] Allow passing arguments to the linker while standalone (#73030)
Summary:
We support standalone compilation for the NVPTX architecture using
'nvlink' as our linker. Because of the special handling required to
transform input files to cubins, as nvlink expects for some reason, we
didn't use the standard AddLinkerInput method. However, this also meant
that we weren't forwarding options passed with -Wl to the linker. Add
this support in for the standalone toolchain path.
Revived from https://reviews.llvm.org/D149978
Commit: 018c992879248ad28a04fc7d061922f5ccee4e08
https://github.com/llvm/llvm-project/commit/018c992879248ad28a04fc7d061922f5ccee4e08
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[Flang] Fix the test ordering of the GPU libraries
Summary:
Turns out these are out of order
Commit: bc5aba9dd63f919037aded04405f3e05092c9039
https://github.com/llvm/llvm-project/commit/bc5aba9dd63f919037aded04405f3e05092c9039
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/unittests/MIR/CMakeLists.txt
Log Message:
-----------
[CodeGen][MIR][UnitTests] Fix shared build. NFC
Commit: 87b410821148402d74ac7a14bed233078a49cb7b
https://github.com/llvm/llvm-project/commit/87b410821148402d74ac7a14bed233078a49cb7b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/src/PluginManager.cpp
Log Message:
-----------
[Libomptarget][NFC] Remove concept of optional plugin functions (#82681)
Summary:
Ever since the introduction of the new plugins we haven't exercised the
concept of "optional" plugin functions. This is done in perparation for
making the plugins use a static interface as it will greatly simplify
the implementation if we assert that every function has the entrypoints.
Currently some unsupported functions will just return failure or some
other default value, so this shouldn't change anything.
Commit: e3cab8fe82eb71fadb251d11fec7df9fa0dbdd27
https://github.com/llvm/llvm-project/commit/e3cab8fe82eb71fadb251d11fec7df9fa0dbdd27
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
Log Message:
-----------
[LinkerWrapper] Fix test after permitting NVPTX linker arguments
Summary:
Forgot to change this after a previous patch altered its behaviour.
Commit: 4ebee956455caa0da7783280f8515040eac89d08
https://github.com/llvm/llvm-project/commit/4ebee956455caa0da7783280f8515040eac89d08
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[mlir][test] Fix -Wunused-variable in PassBuilderCallbacksTest.cpp (NFC)
llvm-project/llvm/unittests/MIR/PassBuilderCallbacksTest.cpp:333:10:
error: unused variable 'Ret' [-Werror,-Wunused-variable]
bool Ret = MIR->parseMachineFunctions(*Mod, MMI);
^
1 error generated.
Commit: e8740d4eb1c88e968b155f73ac745f80b4681589
https://github.com/llvm/llvm-project/commit/e8740d4eb1c88e968b155f73ac745f80b4681589
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/test/Driver/cuda-cross-compiling.c
Log Message:
-----------
[Clang] Fix missing architecture on CUDA test
Summary:
Sorry about the churn here, my local git tree got corrupted so a few
broken tests slipped by while trying to fix it.
Commit: 5bd0c44bd0b944230ba05c87c19292304b84e980
https://github.com/llvm/llvm-project/commit/5bd0c44bd0b944230ba05c87c19292304b84e980
Author: Petr Hosek <phosek at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M libc/include/llvm-libc-macros/sys-queue-macros.h
Log Message:
-----------
[libc] Match the names of BSD sys/queue.h member names (#82696)
While these names are technically internal implemenetation detail,
there's an existing code which relies on these details and using
different names makes LLVM libc implementation incompatible. Since our
goal is for LLVM libc to be a drop in replacement, use the same name as
BSD sys/queue.h version.
Commit: aaf2d078b62251b867f37eaa94621dbbbfa0e5b0
https://github.com/llvm/llvm-project/commit/aaf2d078b62251b867f37eaa94621dbbbfa0e5b0
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
A llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/test/CodeGen/Hexagon/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/Hexagon/isel/select-vec.ll
M llvm/test/CodeGen/Hexagon/reg-by-name.ll
A llvm/test/CodeGen/Hexagon/tfr-slotindex.ll
Log Message:
-----------
[Hexagon] Clean up redundant transfer instructions. (#82663)
This patch adds a Hexagon specific backend pass that cleans up redundant
transfers after register allocation.
Commit: 568babab7e769a7793c28aee4f889898bf0bd8ba
https://github.com/llvm/llvm-project/commit/568babab7e769a7793c28aee4f889898bf0bd8ba
Author: Pavel Iliin <Pavel.Iliin at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/aarch64-cpu-supports-target.c
A clang/test/CodeGen/aarch64-cpu-supports.c
M clang/test/Preprocessor/has_builtin_cpuid.c
A clang/test/Sema/aarch64-cpu-supports.c
M clang/test/Sema/builtin-cpu-supports.c
A compiler-rt/test/builtins/Unit/aarch64_cpu_features_test.c
M compiler-rt/test/builtins/Unit/cpu_model_test.c
Log Message:
-----------
[AArch64] Implement __builtin_cpu_supports, compiler-rt tests. (#82378)
The patch complements https://github.com/llvm/llvm-project/pull/68919
and adds AArch64 support for builtin
`__builtin_cpu_supports("feature1+...+featureN")`
which return true if all specified CPU features in argument are
detected. Also compiler-rt aarch64 native run tests for features
detection mechanism were added and 'cpu_model' check was fixed after its
refactor merged https://github.com/llvm/llvm-project/pull/75635 Original
RFC was https://reviews.llvm.org/D153153
Commit: 2b0f5667e2b40729f714459093eb16cc53fc9e9a
https://github.com/llvm/llvm-project/commit/2b0f5667e2b40729f714459093eb16cc53fc9e9a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port aaf2d078b622
Commit: d57f158a9546746219e3b01398886e104d8a0fdb
https://github.com/llvm/llvm-project/commit/d57f158a9546746219e3b01398886e104d8a0fdb
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[Tosa] Add Tosa Sin and Cos operators (#82510)
- Add Tosa Sin and Cos operators to the MLIR dialect
- Define the new Tosa_FloatTensor type
---------
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: f37c6d55c6a0c695418932a55bac6a517be4a53a
https://github.com/llvm/llvm-project/commit/f37c6d55c6a0c695418932a55bac6a517be4a53a
Author: vangthao95 <vang.thao at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU][NFC] Refactor SIInsertWaitcnts zero waitcnt generation (#82575)
Move the allZero* waitcnt generation methods into WaitcntGenerator
class.
Commit: cd1d4d8dd31f527615de26f5b62d687c6b2982a6
https://github.com/llvm/llvm-project/commit/cd1d4d8dd31f527615de26f5b62d687c6b2982a6
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][Vector] Add missing CHECK rules to vector-transfer-flatten.mlir (#82698)
This test failed after landing #81964 due to a bad merge. I provided a quick fix and this PR is adding the rest of CHECK rules that were not merged properly.
Commit: ac518c7c9916a6fde1d898b8c53b74298fd00d5f
https://github.com/llvm/llvm-project/commit/ac518c7c9916a6fde1d898b8c53b74298fd00d5f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
Log Message:
-----------
[RISCV] Vector sub (zext, zext) -> sext (sub (zext, zext)) (#82455)
This is legal as long as the inner zext retains at least one bit of
increase so that the sub overflow case (0 - UINT_MAX) can be
represented. Alive2 proof: https://alive2.llvm.org/ce/z/BKeV3W
For RVV, restrict this to power of two sizes with the operation type
being at least e8 to stick to legal extends. We could arguably handle i1
source types with some care if we wanted to.
This is likely profitable because it may allow us to perform the sub
instruction in a narrow LMUL (equivalently, in fewer DLEN-sized pieces)
before widening for the user. We could arguably avoid narrowing below
DLEN, but the transform should at worst introduce one extra extend and
one extra vsetvli toggle if the source could previously be handled via
loads explicit w/EEW.
Commit: 9e84a22e6989494709d30a03ce9b304956fc0ae2
https://github.com/llvm/llvm-project/commit/9e84a22e6989494709d30a03ce9b304956fc0ae2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Silence warnings when building GPU tests (#82701)
Summary:
This patch silences two warnings that may occur during the building of
GPU tests. These are not informative or helpful and just make the test
output longer.
Commit: 7a5c01dbca3ddfc6dd87775ec90346783c8e2c73
https://github.com/llvm/llvm-project/commit/7a5c01dbca3ddfc6dd87775ec90346783c8e2c73
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M libc/cmake/modules/prepare_libc_gpu_build.cmake
Log Message:
-----------
[libc] Search the compiler's path for GPU utility tools (#82712)
Summary:
We need some extra tools for the GPU build. Normally we search for these
from the build itself, but in the case of a `LLVM_PROJECTS_BUILD` or
some other kind of external build, this directory will not be populated.
However, the GPU build already requires that the compiler is an
up-to-date clang, which should always have these present next to the
binary. Simply add this as a fallback search path. Generally we want it
to be the second, because it would pick up someone install and then
become stale.
Commit: 590c968e7943e51bb00ff75d312435f24d983b2a
https://github.com/llvm/llvm-project/commit/590c968e7943e51bb00ff75d312435f24d983b2a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/param-load-store.ll
A llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
Log Message:
-----------
[NVPTX] fixup support for unaligned parameters and returns (#82562)
Add support for unaligned parameters and return values. These must be
loaded and stored one byte at a time and then bit manipulation is used
to assemble the correct final result.
Commit: 19e518d2623c0e87a87ebf30405e74448bd1ee70
https://github.com/llvm/llvm-project/commit/19e518d2623c0e87a87ebf30405e74448bd1ee70
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseExprCXX.cpp
M clang/test/Parser/cxx-concepts-requires-clause.cpp
Log Message:
-----------
[Clang][Parser] Have the depth of the abbreviated generic lambdas inside a requires clause differ from the surrounding generic lambda (#80656)
A one-line fix, again : )
This fixes https://github.com/llvm/llvm-project/issues/78524 and the
similar example at
https://github.com/llvm/llvm-project/issues/78524#issuecomment-1899886951.
We previously increased the template depth by one after parsing the
attaching requires-clause on a lambda expression. This led to a problem
where the 'auto' parameters of nested abbreviated generic lambdas,
inside of a requires-expression, had the same depth as the template
parameters of the surrounding lambda. Consequently, during the
concept-checking stage, we ended up substituting these parameters with
the wrong template arguments because they were at different levels.
Commit: 5ccf54640a2bdb6f36f65c574feb312da7f75243
https://github.com/llvm/llvm-project/commit/5ccf54640a2bdb6f36f65c574feb312da7f75243
Author: huaatian <142874007+huaatian at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[llvm][cmake] Performing expensive checks requires enabling assert. (#80821)
LLVM will intercept errors using assert() when
LLVM_ENABLE_EXPENSIVE_CHECKS is ON. So an explicit check is added.
---------
Co-authored-by: Hua Tian <akiratian at tencent.com>
Commit: 2e5af56b05c2d39ab2c829bf4c13190523b67ddd
https://github.com/llvm/llvm-project/commit/2e5af56b05c2d39ab2c829bf4c13190523b67ddd
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Modules/compile-pcm-with-pic.cppm
M clang/tools/c-index-test/core_main.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[C++20] [Modules] Allow to compile a pcm with and without -fPIC
seperately
We can compile a module unit in 2 phase compilaton:
```
clang++ -std=c++20 a.cppm --precompile -o a.pcm
clang++ -std=c++20 a.pcm -c -o a.o
```
And it is a general requirement that we need to compile a translation
unit with and without -fPIC for static and shared libraries.
But for C++20 modules with 2 phase compilation, it may be waste of time
to compile them 2 times completely. It may be fine to generate one BMI
and compile it with and without -fPIC seperately.
e.g.,
```
clang++ -std=c++20 a.cppm --precompile -o a.pcm
clang++ -std=c++20 a.pcm -c -o a.o
clang++ -std=c++20 a.pcm -c -fPIC -o a-PIC.o
```
Then we can save the time to parse a.cppm repeatedly.
Commit: 6e6bf9f81756ba6655b4eea8dc45469a47f89b39
https://github.com/llvm/llvm-project/commit/6e6bf9f81756ba6655b4eea8dc45469a47f89b39
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
M llvm/test/CodeGen/WebAssembly/multivalue.ll
M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
Log Message:
-----------
[WebAssembly] Disable multivalue emission temporarily (#82714)
We plan to enable multivalue in the features section soon (#80923) for
other reasons, such as the feature having been standardized for many
years and other features being developed (e.g. EH) depending on it. This
is separate from enabling Clang experimental multivalue ABI (`-Xclang
-target-abi -Xclang experimental-mv`), but it turned out we generate
some multivalue code in the backend as well if it is enabled in the
features section.
Given that our backend multivalue generation still has not been much
used nor tested, and enabling the feature in the features section can be
a separate decision from how much multialue (including none) we decide
to generate for now, I'd like to temporarily disable the actual
generation of multivalue in our backend. To do that, this adds an
internal flag `-wasm-emit-multivalue` that defaults to false. All our
existing multivalue tests can use this to test multivalue code. This
flag can be removed later when we are confident the multivalue
generation is well tested.
Commit: ca09e08239008759f92f4aff39c7640da3e1bfa9
https://github.com/llvm/llvm-project/commit/ca09e08239008759f92f4aff39c7640da3e1bfa9
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Object/SymbolSize.cpp
M llvm/test/tools/llvm-symbolizer/wasm-basic.s
Log Message:
-----------
[Symbolizer][WebAssembly] Use wasm-specific getSymbolSize (#82083)
getSymbolSize was recently added to WasmObjectFile and has correct sizes
for most symbol types. This makes llvm-symbolizer correctly symbolize
addresses in the middle of the symbol.
When reworking the test I also noticed that the DWARF info seems to be
wrong for the first instruction in each function. I noted that in the test
comments but didn't attempt to fix here.
Commit: de41eae41f0dc2a844b439e0246e29c1bcbb2d03
https://github.com/llvm/llvm-project/commit/de41eae41f0dc2a844b439e0246e29c1bcbb2d03
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[SelectionDAG][RISCV] Use FP type for legality query for LRINT/LLRINT in LegalizeVectorOps. (#82728)
This matches how LRINT/LLRINT is queried for scalar types in
LegalizeDAG.
It's confusing if they do different things since a "Legal" vector
LRINT/LLRINT would get through to LegalizeDAG which would then consider
it illegal. This doesn't happen currently because RISC-V uses Custom.
Commit: 2d50703ddd4fcf7826e4b62cba38e3151314ca60
https://github.com/llvm/llvm-project/commit/2d50703ddd4fcf7826e4b62cba38e3151314ca60
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use RISCVSubtarget::getRealVLen() in more places. NFC
Catching a couple of more places where we can use the new query added in
8603a7b2.
Commit: 0d72fe9777e7c131dfb50c172b944d64437e2ece
https://github.com/llvm/llvm-project/commit/0d72fe9777e7c131dfb50c172b944d64437e2ece
Author: shkoo <nils at risczero.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
Log Message:
-----------
[mlir] Fix FunctionOpInterface extraSharedClassDeclaration to be fully namespace qualified (#82682)
`extraSharedClassDeclaration` of `FunctionOpInterface` can be inherited
by other `OpInterfaces` into foreign namespaces, thus types must be
fully qualified to prevent compiler errors, for example:
def MyFunc : OpInterface<"MyFunc", [FunctionOpInterface]> {
let cppNamespace = "::MyNamespace";
}
Commit: afd469023aad10786eaea3d444047a558ad8d5c1
https://github.com/llvm/llvm-project/commit/afd469023aad10786eaea3d444047a558ad8d5c1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/OptionValueSInt64.h
M lldb/include/lldb/Interpreter/OptionValueUInt64.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Interpreter/OptionValueUInt64.cpp
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/functionalities/progress_reporting/TestTrimmedProgressReporting.py
Log Message:
-----------
[lldb] Fix term-width setting (#82736)
I noticed that the term-width setting would always report its default
value (80) despite the driver correctly setting the value with
SBDebugger::SetTerminalWidth.
```
(lldb) settings show term-width
term-width (int) = 80
```
The issue is that the setting was defined as a SInt64 instead of a
UInt64 while the getter returned an unsigned value. There's no reason
the terminal width should be a signed value. My best guess it that it
was using SInt64 because UInt64 didn't support min and max values. I
fixed that and correct the type and now lldb reports the correct
terminal width:
```
(lldb) settings show term-width
term-width (unsigned) = 189
```
rdar://123488999
Commit: 850dde063b7f70bb592723064385e9f9ad39c96e
https://github.com/llvm/llvm-project/commit/850dde063b7f70bb592723064385e9f9ad39c96e
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/lib/CodeGen/SelectionDAG/MatchContext.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[RISCV][VP] Introduce vp saturating addition/subtraction and RISC-V support. (#82370)
This patch also pick the MatchContext framework from DAGCombiner to an
indiviual header file to make the framework be used from other files in
llvm/lib/CodeGen/SelectionDAG/.
Commit: d7a28f7ad77504694ad8bdc6b2aaa8938f08fbdd
https://github.com/llvm/llvm-project/commit/d7a28f7ad77504694ad8bdc6b2aaa8938f08fbdd
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Add asserts for insert/extract_subvector invariants. NFC
We can currently select insert_subvector and extract_subvector nodes in
RISCVISelDAGToDAG (this is after custom legalizing in RISCVISelLowering)
with fixed subvector types.
However decomposeSubvectorInsertExtractToSubRegs is based off of
scalable subvectors where the indices are scaled by vscale, so any index
other than 0 will be wrong.
For insert_subvector the vector being inserted into needs to be undef as
well, because it assumes we can replace a whole subregister which isn't
always the case for fixed subvectors (e.g. insert <2 x i32> into <4 x
i32> at index 0 with vlen=128).
We currently maintain these invariants in RISCVISelLowering, so this
adds asserts in RISCVISelDAGToDAG so we don't break them.
Commit: 1fe6be8794964c011aeba7a66bd2dcd891d21ab0
https://github.com/llvm/llvm-project/commit/1fe6be8794964c011aeba7a66bd2dcd891d21ab0
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/Headers/cpuid.h
M clang/test/CodeGen/target-builtin-noerror.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86] Support APXF to enable __builtin_cpu_supports. (#80636)
For referring, APX's spec:
https://cdrdv2.intel.com/v1/dl/getContent/784266
APX's index in libgcc:
https://github.com/gcc-mirror/gcc/blob/master/gcc/common/config/i386/i386-cpuinfo.h#L267
Commit: 354401f8d3dc08ed41895d03a12a122e9cc0482c
https://github.com/llvm/llvm-project/commit/354401f8d3dc08ed41895d03a12a122e9cc0482c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Fix GetTerminalWidth after afd469023aad
afd469023aad fixed the type of the term-width setting but the getter
(Debugger::GetTerminalWidth) was still trying to get the terminal width
as an unsigned. This fixes TestXMLRegisterFlags.py.
Commit: 531e8c26b3f2626e7f1a997e0e8b61d67d10aded
https://github.com/llvm/llvm-project/commit/531e8c26b3f2626e7f1a997e0e8b61d67d10aded
Author: Dani <DanielKristofKiss at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/test/Bitcode/upgrade-arc-runtime-calls.ll
M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
A llvm/test/LTO/AArch64/link-sign-return-address.ll
M llvm/test/Linker/link-arm-and-thumb.ll
Log Message:
-----------
[llvm][AArch64] Autoupgrade function attributes from Module attributes. (#80640)
`sign-return-address` and similar module attributes should be propagated
to the function level before modules got merged because module flags may
contradict and this information is not recoverable.
Generated code will match with the normal linking flow.
Commit: 6fae3e784472751002570f367c378cb2dbd82c26
https://github.com/llvm/llvm-project/commit/6fae3e784472751002570f367c378cb2dbd82c26
Author: Dani <DanielKristofKiss at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/IR/Attributes.cpp
A llvm/test/Transforms/Inline/inline-sign-return-address.ll
M llvm/utils/TableGen/Attributes.cpp
Log Message:
-----------
[llvm][AArch64] Do not inline a function with different signing scheme. (#80642)
If the signing scheme is different that maybe the functions assumes
different behaviours and dangerous to inline them without analysing
them. This should be a rare case.
Commit: 5ca877591e65acf18b5a8d3234ff88b215b4f369
https://github.com/llvm/llvm-project/commit/5ca877591e65acf18b5a8d3234ff88b215b4f369
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
A clang/test/Analysis/stream-invalidate.c
Log Message:
-----------
[clang][analyzer] Fix argument invalidations in StreamChecker. (#79470)
Specific arguments passed to stream handling functions are changed by
the function, this means these should be invalidated ("escaped") by the
analyzer. This change adds the argument invalidation (in specific cases)
to the checker.
Commit: d68d29516102252f6bf6dc23fb22cef144ca1cb3
https://github.com/llvm/llvm-project/commit/d68d29516102252f6bf6dc23fb22cef144ca1cb3
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Turn op/block arg replacements into `IRRewrite`s (#81757)
This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).
Until now, op replacements and block argument replacements were kept
track in separate data structures inside the dialect conversion. This
commit turns them into `IRRewrite`s, so that they can be committed or
rolled back just like any other rewrite. This simplifies the internal
state of the dialect conversion.
Overview of changes:
* Add two new rewrite classes: `ReplaceBlockArgRewrite` and
`ReplaceOperationRewrite`. Remove the `OpReplacement` helper class; it
is now part of `ReplaceOperationRewrite`.
* Simplify `RewriterState`: `numReplacements` and `numArgReplacements`
are no longer needed. (Now being kept track of by `numRewrites`.)
* Add `IRRewrite::cleanup`. Operations should not be erased in `commit`
because they may still be referenced in other internal state of the
dialect conversion (`mapping`). Detaching operations is fine.
* `trackedOps` are now updated during the "commit" phase instead of
after applying all rewrites.
Commit: b014944e47ba6e2031e968268b15fba43a9e1dbf
https://github.com/llvm/llvm-project/commit/b014944e47ba6e2031e968268b15fba43a9e1dbf
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[NFC] [doc] Mentioning to include the guard headers from imported modules
Commit: ace83da316fbd2196fa35e8fd90218dcf84a020c
https://github.com/llvm/llvm-project/commit/ace83da316fbd2196fa35e8fd90218dcf84a020c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/Program.h
Log Message:
-----------
[clang][Interp][NFC] Improve Program dump()ing
Add colors as well as more details for global variables.
Commit: 9ca70d72f4f217ff4f6ab337ad4a8e6666860791
https://github.com/llvm/llvm-project/commit/9ca70d72f4f217ff4f6ab337ad4a8e6666860791
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Turn op creation into `IRRewrite` (#81759)
This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).
Until now, the dialect conversion kept track of "op creation" in
separate internal data structures. This commit turns "op creation" into
an `IRRewrite` that can be committed and rolled back just like any other
rewrite. This commit simplifies the internal state of the dialect
conversion.
Commit: 59ff4d131c7d6b3bfcbe8e96cac99c9d8a65bf4e
https://github.com/llvm/llvm-project/commit/59ff4d131c7d6b3bfcbe8e96cac99c9d8a65bf4e
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Turn unresolved materializations into `IRRewrite`s (#81761)
This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).
This commit turns the creation of unresolved materializations
(`unrealized_conversion_cast`) into `IRRewrite` objects. After this
commit, all steps in `applyRewrites` and `discardRewrites` are calls to
`IRRewrite::commit` and `IRRewrite::rollback`.
Commit: b13c8e5099ec7886fcd198b1f6aec14f928c963c
https://github.com/llvm/llvm-project/commit/b13c8e5099ec7886fcd198b1f6aec14f928c963c
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/test/Bitcode/upgrade-arc-runtime-calls.ll
M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
R llvm/test/LTO/AArch64/link-sign-return-address.ll
M llvm/test/Linker/link-arm-and-thumb.ll
Log Message:
-----------
Revert "[llvm][AArch64] Autoupgrade function attributes from Module attributes. (#80640)"
This reverts commit 531e8c26b3f2626e7f1a997e0e8b61d67d10aded.
Commit: 2ae8bee8f11f8d5cc26cf6b4bb71001706ca0104
https://github.com/llvm/llvm-project/commit/2ae8bee8f11f8d5cc26cf6b4bb71001706ca0104
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
Log Message:
-----------
[ARM][GlobalISel] Remove legacy legalizer rules (#82619)
I've been looking at LegacyLegalizerInfo and what its place in GISel is.
It seems like it's very close to being deleted so I'm checking if we can
remove the last remaining uses of it.
Looks like we can do a drop-in replacement with the new legalizer for
ARM.
Commit: bbdc62e7180168effd0c480979bdaf933d0615d1
https://github.com/llvm/llvm-project/commit/bbdc62e7180168effd0c480979bdaf933d0615d1
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/arith-fp-frem.ll
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
Log Message:
-----------
[AArch64][CostModel] Improve scalar frem cost (#80423)
In AArch64 the cost of scalar frem is the cost of a call to 'fmod'.
Commit: 335d34d9eae8c943e2164373c7eab1e450eaf435
https://github.com/llvm/llvm-project/commit/335d34d9eae8c943e2164373c7eab1e450eaf435
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/import-failure.ll
Log Message:
-----------
[MLIR][LLVM] Fix debug intrinsic import (#82637)
This revision handles the case that the translation of a scope fails due
to cyclic metadata. This mainly affects the import of debug intrinsics
that indirectly take such a scope as metadata argument (e.g. via local
variable or label metadata). This commit ensures we drop intrinsics with
such a dependency on cyclic metadata.
Commit: a622b21f4607ee787c6fe63032a849c24374882b
https://github.com/llvm/llvm-project/commit/a622b21f4607ee787c6fe63032a849c24374882b
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Make `ConversionPatternRewriter` constructor private (#82244)
`ConversionPatternRewriter` objects should not be constructed outside of
dialect conversions. Some IR modifications performed through a
`ConversionPatternRewriter` are reflected in the IR in a delayed fashion
(e.g., only when the dialect conversion is guaranteed to succeed). Using
a `ConversionPatternRewriter` outside of the dialect conversion is
incorrect API usage and can bring the IR in an inconsistent state.
Migration guide: Use `IRRewriter` instead of
`ConversionPatternRewriter`.
Commit: b39f5660a408b47307e57a0882eb8af85d72e283
https://github.com/llvm/llvm-project/commit/b39f5660a408b47307e57a0882eb8af85d72e283
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-multi-tile-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f16f16f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-i8i8i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
A mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
A mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
M mlir/test/lib/Dialect/CMakeLists.txt
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][ArmSME] Add test-lower-to-arm-sme pipeline (#81732)
The ArmSME compilation pipeline has evolved significantly and is now
sufficiently complex enough that it warrants a proper lowering pipeline
that encapsulates the various passes and orderings. Currently the
pipeline is loosely defined in our integration tests, but these have
diverged and are not using the same passes or ordering everywhere.
This patch introduces a test-lower-to-arm-sme pipeline mirroring
test-lower-to-llvm that provides some sanity when running e2e examples
and can be used a reference for targeting ArmSME in MLIR.
All the integration tests are updated to use this pipeline. The
intention is to productize the pipeline once it becomes more mature.
Commit: 78890904c41cc4221839dafb7ae906971a9db51a
https://github.com/llvm/llvm-project/commit/78890904c41cc4221839dafb7ae906971a9db51a
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
Log Message:
-----------
[mlir][math] Propagate scalability in `convert-math-to-llvm` (#82635)
This also generally increases the coverage of scalable vector types in
the math-to-llvm tests.
Commit: 13acb3af5ad48e850cf37dcf02270ede3f267bd4
https://github.com/llvm/llvm-project/commit/13acb3af5ad48e850cf37dcf02270ede3f267bd4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/SemaCXX/PR68542.cpp
Log Message:
-----------
[clang][Interp] Don't diagnose alread invalid function decls
They have already been diagnosed before. Also improve that test case.
Commit: 5f1319bb385342c7ef4124b05b83b89ef8588ee8
https://github.com/llvm/llvm-project/commit/5f1319bb385342c7ef4124b05b83b89ef8588ee8
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Encapsulate dialect conversion options in `ConversionConfig` (#82250)
This commit adds a new `ConversionConfig` struct that allows users to
customize the dialect conversion. This configuration is similar to
`GreedyRewriteConfig` for the greedy pattern rewrite driver.
A few existing options are moved to this objects, simplifying the
dialect conversion API.
Commit: 5cb2ebc08f6fa42341409b88466c5c266e5839cc
https://github.com/llvm/llvm-project/commit/5cb2ebc08f6fa42341409b88466c5c266e5839cc
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
Reland "[clang] Preserve found-decl when constructing VarTemplateIds" (#82612)
Update include-cleaner tests. Now that we have proper found-decls set up
for VarTemplates, in case of instationtations we point to primary
templates and not specializations. To be changed in a follow-up patch.
Commit: 4419b2c27fa45a08bc3892ad0c8c5eb95d96d608
https://github.com/llvm/llvm-project/commit/4419b2c27fa45a08bc3892ad0c8c5eb95d96d608
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
Log Message:
-----------
[clangd] Make tidy-rename tests conditional
Commit: de04b7d44edbfe8c2357cc291f8806575e6e93f2
https://github.com/llvm/llvm-project/commit/de04b7d44edbfe8c2357cc291f8806575e6e93f2
Author: Daniel Krupp <daniel.krupp at ericsson.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
Log Message:
-----------
[analyzer] Fix core.VLASize checker false positive taint reports (#68140)
The checker reported a false positive on this code
void testTaintedSanitizedVLASize(void) {
int x;
scanf("%d", &x);
if (x<1)
return;
int vla[x]; // no-warning
}
After the fix, the checker only emits tainted warning if the vla size is
coming from a tainted source and it cannot prove that it is positive.
Commit: 9dfb8430509619a4e9d36fd00a11b83a2d5d0c3c
https://github.com/llvm/llvm-project/commit/9dfb8430509619a4e9d36fd00a11b83a2d5d0c3c
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
[include-cleaner] Use FoundDecl only for using-shadow-decls (#82615)
Commit: 7bb08ee8260c825eb5af4824bc62f73155b4b592
https://github.com/llvm/llvm-project/commit/7bb08ee8260c825eb5af4824bc62f73155b4b592
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Decouple `ConversionPatternRewriterImpl` from `ConversionPatternRewriter` (#82333)
`ConversionPatternRewriterImpl` no longer maintains a reference to the
respective `ConversionPatternRewriter`. An `MLIRContext` is sufficient.
This commit simplifies the internal state of
`ConversionPatternRewriterImpl`.
Commit: 404854ee2018489c15c3454857d92e3bab7c1672
https://github.com/llvm/llvm-project/commit/404854ee2018489c15c3454857d92e3bab7c1672
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Program.h
Log Message:
-----------
[clang][Interp][NFC] Print global variable initialization state
Commit: e7c60915e61912fb24707dc67e6c4fc919515796
https://github.com/llvm/llvm-project/commit/e7c60915e61912fb24707dc67e6c4fc919515796
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
Log Message:
-----------
Remove duplicated REQUIRES: asserts
Commit: 790bcecce6c135476d2551805c09ed670b9f8418
https://github.com/llvm/llvm-project/commit/790bcecce6c135476d2551805c09ed670b9f8418
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
A llvm/test/CodeGen/X86/GlobalISel/calllowering-tailcall.ll
Log Message:
-----------
[GlobalISel] Fix a check that aligned tail call is lowered (#82016)
Despite of a valid tail call opportunity, backends still may not
generate a tail call or such lowering is not implemented yet.
Check that lowering has happened instead of its possibility when
generating G_ASSERT_ALIGN.
Commit: 22734e15d8f2c437e8543f19632299d2e09b31f3
https://github.com/llvm/llvm-project/commit/22734e15d8f2c437e8543f19632299d2e09b31f3
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c
Log Message:
-----------
[Clang][AArch64] Fix 'svzero_za' intrinsic to take no arguments. (#82648)
We previously defined svzero_za as:
void svzero_za();
rather than:
void svzero_za(void);
Which meant that Clang accepted arguments. Compiling for example
`svzero_za(<non-constant integer>)` ended up with incorrect IR and a
compiler crash because it couldn't select an instruction for it.
Commit: 3c90fce4504e22953ec5586599afaecfb2923a9e
https://github.com/llvm/llvm-project/commit/3c90fce4504e22953ec5586599afaecfb2923a9e
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[Clang][AArch64] Add missing prototypes for streaming-compatible routines (#82649)
Commit: 8a164220207b579c31d6aa6552944441c83e9465
https://github.com/llvm/llvm-project/commit/8a164220207b579c31d6aa6552944441c83e9465
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
Log Message:
-----------
[RemoveDIs] Add DPLabels support [3a/3] (#82633)
Patch 2 of 3 to add llvm.dbg.label support to the RemoveDIs project. The
patch stack adds the DPLabel class, which is the RemoveDIs llvm.dbg.label
equivalent.
1. Add DbgRecord base class for DPValue and the not-yet-added
DPLabel class.
2. Add the DPLabel class.
-> 3. Add support to passes.
The next patch, #82639, will enable conversion between dbg.labels and DPLabels.
AssignemntTrackingAnalysis support could have gone two ways:
1. Have the analysis store a DPLabel representation in its results -
SelectionDAGBuilder reads the analysis results and ignores all DbgRecord
kinds.
2. Ignore DPLabels in the analysis - SelectionDAGBuilder reads the analysis
results but still needs to iterate over DPLabels from the IR.
I went with option 2 because it's less work and is no less correct than 1. It's
worth noting that causes labels to sink to the bottom of packs of debug records.
e.g., [value, label, value] becomes [value, value, label]. This shouldn't be a
problem because labels and variable locations don't have an ordering requirement.
The ordering between variable locations is maintained and the label movement is
deterministic
Commit: cdf19d13bf39f0679c3636eada87a5645f9a4c84
https://github.com/llvm/llvm-project/commit/cdf19d13bf39f0679c3636eada87a5645f9a4c84
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c
Log Message:
-----------
[Clang] Fix acle_sme_zero.c (missing aarch64-registered-target)
This test was added in #82648
Commit: e1326434742980b03433464dd9435ea66ad5be47
https://github.com/llvm/llvm-project/commit/e1326434742980b03433464dd9435ea66ad5be47
Author: tsitdikov <tsitdikov at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Add build rule for MLIRArmSMETestPasses
MLIRArmSMETestPasses was added in https://github.com/llvm/llvm-project/commit/b39f5660a408b47307e57a0882eb8af85d72e283, we need to add a build rule for it as well.
Commit: 3dfca24dda1b3596685d02109185ea2885cc0124
https://github.com/llvm/llvm-project/commit/3dfca24dda1b3596685d02109185ea2885cc0124
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11-promotions.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp8.txt
Log Message:
-----------
[AMDGPU] Fix encoding of VOP3P dpp on GFX11 and GFX12 (#82710)
The bug affects dpp forms of v_dot2_f32_f16. The encoding does not match
SP3 and does not set op_sel_hi bits properly.
Commit: d9e4309b451c1b24d4e0a6304057663b877e5266
https://github.com/llvm/llvm-project/commit/d9e4309b451c1b24d4e0a6304057663b877e5266
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/test/CAPI/llvm.c
Log Message:
-----------
[mlir][NFC] Fix format specifier warning on Windows
`%ld` specifier is defined to work on values of type `long`. The parameter given to `fprintf` is of type `intptr_t` whose actual underlying integer type is unspecified. On Unix systems it happens to commonly be `long` but on 64-bit Windows it is defined as `long long`.
The cross-platform way to print a `intptr_t` is to use `PRIdPTR` which expands to the correct format specifier for `intptr_t`. This avoids any undefined behaviour and compiler warnings.
Commit: 6ac2c0488f0e06036fc2bd7a94bea71fb930b363
https://github.com/llvm/llvm-project/commit/6ac2c0488f0e06036fc2bd7a94bea71fb930b363
Author: tsitdikov <tsitdikov at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Add TestArmSME dependency to mlir-opt library.
TestArmSME was added in https://github.com/llvm/llvm-project/commit/e1326434742980b03433464dd9435ea66ad5be47, now we need to add dependency on it.
Commit: f1e0392b822e06f39c49df3ba594f4c98f608ba0
https://github.com/llvm/llvm-project/commit/f1e0392b822e06f39c49df3ba594f4c98f608ba0
Author: Garvit Gupta <152526799+quic-garvgupt at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.h
M clang/test/Driver/riscv-features.c
Log Message:
-----------
[RISCV] Disable generation of asynchronous unwind tables for RISCV baremetal (#81727)
The below culprit patch enabled the generation of asynchronous unwind
tables (-funwind-tables=2) by default for RISCV for both linux and
RISCVToolChain baremetal object. However, since there are 2 baremetal
toolchain objects for RISCV, this created a discrepancy between their
behavior. Moreover, enabling the generation of asynchronous unwind
tables based on whether `-gcc-toolchain` option is present or not
doesn't seem to be the best criteria to decide on the same. This patch
make the behavior consistent by disabling the unwind tables in
RISCVToolChain Baremetal object.
Culprit Patch - https://reviews.llvm.org/D145164
Commit: 3b3d0978c334702114131e4dab549aa25b9f0ad4
https://github.com/llvm/llvm-project/commit/3b3d0978c334702114131e4dab549aa25b9f0ad4
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c
Log Message:
-----------
[Clang] Fix acle_sme_zero.c once more.
Commit: bcf9826a5392f40063869c3d2b72a5cd1b87d14b
https://github.com/llvm/llvm-project/commit/bcf9826a5392f40063869c3d2b72a5cd1b87d14b
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
Log Message:
-----------
[MLIR] Expose approximation patterns for tanh/erf. (#82750)
These patterns can already be used via
populateMathPolynomialApproximationPatterns, but that includes a number
of other patterns that may not be needed.
There are already similar functions for expansion.
For now only adding tanh and erf since I have a concrete use case for
these two.
Commit: ddb4450a468072b5c066c29f4821edec4689d500
https://github.com/llvm/llvm-project/commit/ddb4450a468072b5c066c29f4821edec4689d500
Author: r4nt <klimek at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/Macros.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
Log Message:
-----------
[ClangFormat] Fix indent in child lines within a macro argument. (#82523)
When reconstructing lines from a macro expansion, make sure that lines
at different levels in the expanded code get indented correctly as part
of the macro argument.
Commit: e09e0d52a03c7141a7d62fb4adf4d9fee32bebb8
https://github.com/llvm/llvm-project/commit/e09e0d52a03c7141a7d62fb4adf4d9fee32bebb8
Author: tsitdikov <tsitdikov at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Users/tsitdikov (#82757)
Fix Test ARM SME library and build rule.
Commit: 3b70387c5486a057fe0b7d52c79f9decf9c9c95f
https://github.com/llvm/llvm-project/commit/3b70387c5486a057fe0b7d52c79f9decf9c9c95f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Handle more integer intrinsics in `propagatesPoison` (#82749)
This patch extends `propagatesPoison` to handle more integer intrinsics.
It will turn more logical ands/ors into bitwise ands/ors.
See also https://reviews.llvm.org/D99671.
Commit: 1197fcabc4b5f39dbe8a94b1ab6e92354f3f0dd2
https://github.com/llvm/llvm-project/commit/1197fcabc4b5f39dbe8a94b1ab6e92354f3f0dd2
Author: Abhina Sree <69635948+abhina-sree at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp
M libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
M libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
M libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
M libcxx/test/std/language.support/support.dynamic/align_val_t.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/nodiscard.verify.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/nodiscard.verify.cpp
M libcxx/test/std/language.support/support.rtti/type.info/type_info.equal.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_out.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_out.pass.cpp
M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
Log Message:
-----------
[libcxx][test] Change UNSUPPORTED to XFAIL for target-related failures (#81513)
This is a followup from this discussion
https://github.com/llvm/llvm-project/pull/80735#discussion_r1486586017
to mark targets that were initially marked as UNSUPPORTED with an XFAIL
instead.
Commit: ad49fe3e89c3b3950956548f14cdb5c159ba0aec
https://github.com/llvm/llvm-project/commit/ad49fe3e89c3b3950956548f14cdb5c159ba0aec
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/SemaCXX/PR20334-std_initializer_list_diagnosis_assertion.cpp
Log Message:
-----------
[clang][Interp] Don't return success for already failed global variables
We might be visiting them more than once. We used to return true for
second and subsequent cases, just because we had already visited it
before.
Commit: 492e8ba0384b038596e6b4a97313b7bdced5e868
https://github.com/llvm/llvm-project/commit/492e8ba0384b038596e6b4a97313b7bdced5e868
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
Log Message:
-----------
[mlir] Fix memory leaks after #81759 (#82762)
This commit fixes memory leaks that were introduced by #81759. The way
ops and blocks are erased changed slightly.
The leaks were caused by an incorrect implementation of op builders:
blocks must be created with the supplied builder object. Otherwise, they
are not properly tracked by the dialect conversion and can leak during
rollback.
Commit: b8a7d8131e5ad2c21238e192e6f9c5b69512abe3
https://github.com/llvm/llvm-project/commit/b8a7d8131e5ad2c21238e192e6f9c5b69512abe3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[LLVM] Fix incorrect GPU triple detection for runtimes builds
Summary:
This block of code is used to prevent a GPU-based cross compiling build
from taking incompatible arguments. However this incorrectly used the
LLVM default triple instead of the runtimes target. Fix that so the bots
can continue to default the triple to NVPTX.
Commit: c747b24262205aeaa112e5c0de3f786d960427ae
https://github.com/llvm/llvm-project/commit/c747b24262205aeaa112e5c0de3f786d960427ae
Author: hev <wangrui at loongson.cn>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
Log Message:
-----------
[NFC] Precommit a memcpy test for isOrEquivalentToAdd (#82758)
Commit: 71d47a0b00e9f48dc740556d7f452ffadf308731
https://github.com/llvm/llvm-project/commit/71d47a0b00e9f48dc740556d7f452ffadf308731
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
[RemoveDIs] Enable DPLabels conversion [3b/3] (#82639)
Enables conversion between llvm.dbg.label and DPLabel.
Commit: 52ada07ef5df2829e90ca2dd48305465a55e8121
https://github.com/llvm/llvm-project/commit/52ada07ef5df2829e90ca2dd48305465a55e8121
Author: Benoît Amiaux <benoit.amiaux at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/utils/release/build_llvm_release.bat
Log Message:
-----------
build_llvm_release.bat: add tarball export to x64 release (#79840)
Like linux releases, export a tar.xz files containing most llvm tools,
including non toolchain utilities, llvm-config, llvm-link and others.
We do this by reconfiguring cmake one last time at the last step,
running the install target so we do not need to recompile anything.
Fix #51192
Fix #53052
Commit: be083dba95dfbbb0286d798cc06fbe021715bc03
https://github.com/llvm/llvm-project/commit/be083dba95dfbbb0286d798cc06fbe021715bc03
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV][NFC] Allow SchedVar to be a def inside our scheduler model files. (#82634)
All SchedModel files have a line that looks like:
```
def SomeModel : SchedMachineModel;
let SchedModel = SomeModel in {
...
}
```
TableGen requires that all records defined within the top level `let`
must have a field `SchedModel` somewhere in their nested record
hierarchy (i.e. the record has a field `SchedModel : SchedMachineModel`
or recursively, one of its members has a field `SchedModel :
SchedMachineModel`).
Classes such as `SchedPredicate` have added a field `SchedModel :
SchedMachineModel`, even though the field is never used, just to supress
**errors** (not warnings) caused from having the top level let in the
model files. This decision was made to avoid having hundreds of the same
`let` statement littered in every scheduler model file.
The reason we have never seen an error for `SchedVar` before is because
`SchedVar` is never instantiated with a `def`. Instead, it is only
created as a value that is consumed by `SchedWriteVariant`:
```
... : SchedWriteVariant<[SchedVar<...>, SchedVar<...>]>;
```
There is a problem with this style of instantiation. In particular, the
problem arises as we try to take a class based approach to building
scheduler models. I will describe the problem from the bottom up.
The `LMULWriteResMXVariant` multiclass takes in a `SchedPredicateBase
Pred`. Today, the RISCVSchedSiFive7.td file defines `VLDSX0Pred` outside
the scope of any class. That means that `VLDSX0Pred` exists before
`LMULWriteResMXVariant` multiclass is instantiated. With this approach,
there is no error since the predicate is instantated in entirety before
the variant multiclass is instantiated. However, I have the intention to
move the definition of both the predicate and the variant multiclass
records inside a multiclass to factor out common parts between multiple
scheduler models.
I plan to have something like:
```
multiclass SiFive7Base<SiFive7BaseConfig c> {
def VLDSX0Pred : ...;
// Need defvar since record is prefixed with NAME.
defvar VLDSX0Pred = !cast<...>(NAME # VLDSX0Pred);
defm SiFive7 : LMULWriteResMXVariant<VLDSX0Pred>;
}
defm "SiFive7Version1" : SiFive7Base<SiFive7BaseConfig<...>>;
defm "SiFive7Version2" : SiFive7Base<SiFive7BaseConfig<...>>;
```
In this scheme, VLDSX0Pred is defined within the same multiclass
transaction that the `LMULWriteResMXVariant` is defined in. For some
reason, TableGen does not allow `Values` to reference records that were
created in the same parent record construction. If the `SchedVar` is not
a `def`, then it will not be able to find the record `NAME #
VLDSX0Pred`. Making it a def, allows TableGen to find `NAME #
VLDSX0Pred` in scope.
The simplest example of this is:
```
class A {}
class B<A a> { A x = a;}
class C<B b> { B y = b;}
multiclass D {
def MyA : A;
defvar aa = !cast<A>(NAME # MyA);
// This works
def : B<aa>;
// This does not work because constructing B by value cannot find `NAME # MyA`
// error: Undefined reference to record: 'MyA'
def : C<B<aa>>;
// To fix it, define it like such:
def MyB : B<aa>;
defvar bb = !cast<B>(NAME # MyB);
def : C<bb>;
}
defm "" : D;
```
In summary, in order to use a class based approach to creating scheduler
resources to promote resusability, `SchedVar`s must be created using
defs instead of being instantiated by value so that it can resolve
records that were part of the instantiation of the parent record being
created. In order to do this without refactoring the top level `let`
statement that all scheduler model files use, we add an unused field
`SchedModel : SchedMachineModel` to `SchedVar`, similiar to what has
been done in `SchedPredicate`.
Commit: 3b232f066d40a3e91ac27e421a3baeaca0cd59ec
https://github.com/llvm/llvm-project/commit/3b232f066d40a3e91ac27e421a3baeaca0cd59ec
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
Log Message:
-----------
[mlir][linalg] `LinalgOp`: Disallow mixed tensor/buffer semantics (#80660)
Related discussion:
https://github.com/llvm/llvm-project/pull/73908/files#r1414913030.
This change fixes #73547.
Commit: 08cb1a62f6f401d66513a20e8689c1ef9059fc63
https://github.com/llvm/llvm-project/commit/08cb1a62f6f401d66513a20e8689c1ef9059fc63
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-pred.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-vector.ll
Log Message:
-----------
[AArch64][SVE] Add intrinsincs to assembly mapping for svpmov (#81861)
This patch enables translation of svpmov intrinsic to the correct
assembly instruction, instead of function call.
Commit: 55bc0488af077acb47be70542718d1bc17f3de4f
https://github.com/llvm/llvm-project/commit/55bc0488af077acb47be70542718d1bc17f3de4f
Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
Improve and modernize logging for Process::CompleteAttach() (#82717)
Target::SetArchitecture() does not necessarily set the triple that is
being passed in, and will unconditionally log the real architecture to
the log channel. By flipping the order between the log outputs, the
resulting combined log makes a lot more sense to read.
Commit: 5840aa95e3c2d93f400e638e7cbf167a693c75f5
https://github.com/llvm/llvm-project/commit/5840aa95e3c2d93f400e638e7cbf167a693c75f5
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Fix crash in dialect conversion (#82783)
This is a follow-up to #82333. It is possible that the target block of a
`BlockTypeConversionRewrite` is detached, so the `MLIRContext` cannot be
taken from the block.
Commit: 0b01320d28235ff54a98681414c7dd6024d348a7
https://github.com/llvm/llvm-project/commit/0b01320d28235ff54a98681414c7dd6024d348a7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove unused VPTransformState::CanonicalIV (NFCI).
Clean up unused member variable.
Commit: 1408667fdd890edf7507ae2052360de20d81c19f
https://github.com/llvm/llvm-project/commit/1408667fdd890edf7507ae2052360de20d81c19f
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
Log Message:
-----------
[mlir][ArmSME] Follow MLIR constant style in VectorLegalization.cpp (NFC)
Commit: 24e7be426efe142c49bfab5cb278ffa313424176
https://github.com/llvm/llvm-project/commit/24e7be426efe142c49bfab5cb278ffa313424176
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
Log Message:
-----------
[NFC] clean up memtag-stack code (#80906)
we would replace the alloca with tagp for debug instructions, then
replace it back with the original alloca. it's easier to just skip the
replacement.
Commit: dfa1d9b027e677cf1379dffee0059261a34f3481
https://github.com/llvm/llvm-project/commit/dfa1d9b027e677cf1379dffee0059261a34f3481
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU][NFC] Have helpers to deal with encoding fields. (#82772)
These are hoped to provide more convenient and less error prone
facilities to encode and decode fields than manually defined constants
and functions.
Commit: 0673fb6e773b0a37802208be4f666cef1f6b3470
https://github.com/llvm/llvm-project/commit/0673fb6e773b0a37802208be4f666cef1f6b3470
Author: Thurston Dang <thurston.dang at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan.cpp
Log Message:
-----------
[hwasan] Add missing printf parameter in __hwasan_handle_longjmp (#82559)
The diagnostic message had four format specifiers but only three
parameters. This patch adds what I assume to be the missing
parameter.
Commit: 0352d5eee06c214681696395a0442006e6d16656
https://github.com/llvm/llvm-project/commit/0352d5eee06c214681696395a0442006e6d16656
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M libc/startup/gpu/amdgpu/start.cpp
Log Message:
-----------
[libc][NFC] Remove redundant external clock symbol for AMDGPU (#82794)
Summary:
The AMDGPU target needs an external clock symbol so the driver can set
the frequency with the correct value. This was left over from the
previous implementation and I forgot to remove it when actually
implementing the timing utilities.
Commit: 640ba3f8d1dcf25d8b34ce463fb6a7d58e7dc998
https://github.com/llvm/llvm-project/commit/640ba3f8d1dcf25d8b34ce463fb6a7d58e7dc998
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
Log Message:
-----------
[libc] Fix standard cross build targeting the GPU (#82724)
Summary:
The GPU target has recently been changed to support standard `libc`
build rules. This means we should be able to build for it both in
`LLVM_ENABLE_PROJECTS` mode, or targeting the runtimes directory
directly as in the LLVM `libc` documentation. Previously this failed
because the version check on the compiler was too strict and the
`--target=` options were not being set on the link jobs unless in CMake
cross compiliation mode. This patch fixes those so the following config
should work now to build the GPU target directly if using NVPTX.
```
cmake ../runtimes -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang \
-DLLVM_ENABLE_RUNTIMES=libc -DLLVM_RUNTIMES_TARGET=nvptx64-nvidia-cuda \
-DLLVM_DEFAULT_TARGET_TRIPLE=nvptx64-nvidia-cuda \
-DLIBC_HDRGEN_EXE=/path/to/hdrgen/libc-hdrgen \
-DLLVM_LIBC_FULL_BUILD=ON -GNinja
```
Commit: 3e9e5e277129041fe781f1f2bb04f69269d3fa1f
https://github.com/llvm/llvm-project/commit/3e9e5e277129041fe781f1f2bb04f69269d3fa1f
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/fp-strict-conv-17.ll
Log Message:
-----------
[FPEnv][SystemZ] Correct strictfp test.
Correct llvm-reduce strictfp test to follow the rules documented in the
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
This test needed the strictfp attribute added to function definitions.
Test changes verified with D146845.
Commit: 8fe4487e23e543568745ef461660b1d288805b81
https://github.com/llvm/llvm-project/commit/8fe4487e23e543568745ef461660b1d288805b81
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaOpenACC/no-branch-in-out.c
Log Message:
-----------
[OpenACC] Fix branch-in/out to not refer to a 'region'
'region' is not a term of art in OpenACC, so switch it to refer to
'Compute Construct', which is accurate/reflects the standard.
Commit: 962a6970f2827bcdda574426701c7c57f79a1ccf
https://github.com/llvm/llvm-project/commit/962a6970f2827bcdda574426701c7c57f79a1ccf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Remove unused VP strided load/store creation functions that build an MMO. (#82676)
The base case of these call InferPtrInfo. This is dangerous due to
#82657, but it turns out none of these are used.
It seemed best to reduce the surface area until these are needed.
Commit: 42f6f95e084a9157a5801dba5e32a7af0616360a
https://github.com/llvm/llvm-project/commit/42f6f95e084a9157a5801dba5e32a7af0616360a
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
Log Message:
-----------
[AMDGPU] Simplify AMDGPUDisassembler::getInstruction by removing Res. (#82775)
Remove all the code that set and tested Res. Change all convert*
functions to return void since none of them can fail. getInstruction
only has one main point of failure, after all calls to tryDecodeInst
have failed.
Commit: a24421fef713e5b3c0a885cf36a62cc3257be1f3
https://github.com/llvm/llvm-project/commit/a24421fef713e5b3c0a885cf36a62cc3257be1f3
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][bbc] Fix dangling reference to `envDefaults` (#82800)
The lowering bridge stores the evvironment defaults (passed to the
constructor) as a reference. In the call to the constructor in bbc, the
defaults were passed as `{}`, which creates a temporary whose lifetime
ends immediately after the call.
The flang driver passes a member of the compilation instance to the
constructor, which presumably remains alive long enough, so storing the
reference in the bridge is justified. To avoid the dangling reference,
create an actual object `envDefaults` in bbc.
Commit: f8ce460e48ccc774354df75520d00a67ddbf84c0
https://github.com/llvm/llvm-project/commit/f8ce460e48ccc774354df75520d00a67ddbf84c0
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
Log Message:
-----------
[mlir][sparse] cleanup sparse runtime library (#82807)
remove some obsoleted APIs from the library that have been fully
replaced with actual direct IR codegen
Commit: 5874874c24720dc24fde12327f81369ef4af4e0b
https://github.com/llvm/llvm-project/commit/5874874c24720dc24fde12327f81369ef4af4e0b
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
A llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SelectionDAG] Introducing the SelectionDAG pattern matching framework (#78654)
Akin to `llvm::PatternMatch` and `llvm::MIPatternMatch`, the
`llvm::SDPatternMatch` introduced in this patch provides a DSL-alike
framework to match SDValue / SDNode with a more succinct syntax.
Commit: 07fd5ca3a8bd270b26b21ea28501f5edcb519709
https://github.com/llvm/llvm-project/commit/07fd5ca3a8bd270b26b21ea28501f5edcb519709
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 5874874c2472
Commit: 59e5519c81c57a66424d657864ce69cb0efdc7d8
https://github.com/llvm/llvm-project/commit/59e5519c81c57a66424d657864ce69cb0efdc7d8
Author: David Goldman <dallasftball at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
Log Message:
-----------
[clangd] Fix renaming single argument ObjC methods (#82396)
Use the legacy non-ObjC rename logic when dealing with selectors that
have zero or one arguments. In addition, make sure we don't add an extra
`:` during the rename.
Add a few more tests to verify this works (thanks to @ahoppen for the
tests and finding this bug).
Commit: a64ff9630ccd305a63fca3ea9cc4bc4b49098495
https://github.com/llvm/llvm-project/commit/a64ff9630ccd305a63fca3ea9cc4bc4b49098495
Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
[llvm-link] Improve missing file error message (#82514)
Add error messages showing the missing filenames.
Currently, we only get 'No such file or directory' without any(!)
further info. This patch will (only upon ENOENT error) iterate over all
requested files and print which ones are actually missing.
Commit: 6dd6d487d012a9000fe975133b7935c1f8c658eb
https://github.com/llvm/llvm-project/commit/6dd6d487d012a9000fe975133b7935c1f8c658eb
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
[NFC] Make RingBuffer an atomic pointer (#82547)
This will allow us to atomically swap out RingBuffer and StackDepot.
Patched into AOSP and ran debuggerd_tests.
Commit: a3a316e2875258929f062fbffb81e2a9d5b4ce48
https://github.com/llvm/llvm-project/commit/a3a316e2875258929f062fbffb81e2a9d5b4ce48
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M libc/src/stdlib/atexit.cpp
Log Message:
-----------
[libc] Remove use of BlockStore for GPU atexit (#82823)
Summary:
The GPU backends have restrictions on the kinds of initializers they can
produce. The use of BlockStore here currently breaks the backends
through the use of recursive initializers. This prevents it from
actually being included in any builds. This patchs changes it to just
use a fixed size of 64 slots .The chances of someone exceeding the 64
slots in practice is very, very low.
However, this is primarily a bandaid solution as a real solution will
need to use a lock free data structure to push work in parallel.
Currently the mutexes on the GPU build do nothing, so they only work if
the user guards the use themselves.
Commit: 1a2ecbb3980a3005c2027eb5b69bbbe32c9c8294
https://github.com/llvm/llvm-project/commit/1a2ecbb3980a3005c2027eb5b69bbbe32c9c8294
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M libc/docs/gpu/rpc.rst
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/server/CMakeLists.txt
A libc/utils/gpu/server/llvmlibc_rpc_server.h
M libc/utils/gpu/server/rpc_server.cpp
R libc/utils/gpu/server/rpc_server.h
M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
[libc] Remove 'llvm-gpu-none' directory from build (#82816)
Summary:
This directory is leftover from when we handled both AMDGPU and NVPTX in
the same build and merged them into a pseudo triple. Now the only thing
it contains is the RPC server header. This gets rid of it, but now that
it's in the base install directory we should make it clear that it's an
LLVM libc header.
Commit: b43dd08aa31f37cb9517a80f394631a7d8ff6b90
https://github.com/llvm/llvm-project/commit/b43dd08aa31f37cb9517a80f394631a7d8ff6b90
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/lib/CMakeLists.txt
Log Message:
-----------
[libc] Install a single LLVM-IR version of the GPU library (#82791)
Summary:
Recent patches have allowed us to treat these libraries as direct
builds. This makes it easier to simply build them to a single LLVM-IR
file. This matches the way these files are presented by the ROCm and
CUDA toolchains and makes it easier to work with.
Commit: 99660082cb387c9bf7974fef558c5f73d8b5a198
https://github.com/llvm/llvm-project/commit/99660082cb387c9bf7974fef558c5f73d8b5a198
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/gpu-libc-headers.c
Log Message:
-----------
[Clang] Append target search paths for direct offloading compilation (#82699)
Summary:
Recent changes to the `libc` project caused the headers to be installed
to `include/<triple>` for the GPU and the libraries to be in
`lib/<triple>`. This means we should automatically append these search
paths so they can be found by default. This allows the following to work
targeting AMDGPU.
```shell
$ clang foo.c -flto -mcpu=native --target=amdgcn-amd-amdhsa -lc <install>/lib/amdgcn-amd-amdhsa/crt1.o
$ amdhsa-loader a.out
```
Commit: 1c2456d6593cea317a00627889b5c35766a732e0
https://github.com/llvm/llvm-project/commit/1c2456d6593cea317a00627889b5c35766a732e0
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
R mlir/include/mlir/ExecutionEngine/SparseTensor/ErrorHandling.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/lib/ExecutionEngine/SparseTensor/File.cpp
M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][sparse] remove very thin header file from sparse runtime support (#82820)
Commit: ae91a427ac8f9fc7368ec052995cec6a6aeb8ea8
https://github.com/llvm/llvm-project/commit/ae91a427ac8f9fc7368ec052995cec6a6aeb8ea8
Author: Timothy Herchen <timothy.herchen at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/test/MC/Disassembler/X86/x86-64-err.txt
Log Message:
-----------
[X86][MC] Reject out-of-range control and debug registers encoded with APX (#82584)
Fixes #82557. APX specification states that the high bits found in REX2
used to encode GPRs can also be used to encode control and debug
registers, although all of them will #UD. Therefore, when disassembling
we reject attempts to create control or debug registers with a value of
16 or more.
See page 22 of the
[specification](https://www.intel.com/content/www/us/en/developer/articles/technical/advanced-performance-extensions-apx.html):
> Note that the R, X and B register identifiers can also address non-GPR
register types, such as vector registers, control registers and debug
registers. When any of them does, the highest-order bits REX2.R4,
REX2.X4 or REX2.B4 are generally ignored, except when the register being
addressed is a control or debug register. [...] The exception is that
REX2.R4 and REX2.R3 [*sic*] are not ignored when the R register
identifier addresses a control or debug register. Furthermore, if any
attempt is made to access a non-existent control register (CR*) or debug
register (DR*) using the REX2 prefix and one of the following
instructions:
“MOV CR*, r64”, “MOV r64, CR*”, “MOV DR*, r64”, “MOV r64, DR*”. #UD is
raised.
The invalid encodings are 64-bit only because `0xd5` is a valid
instruction in 32-bit mode.
Commit: 99f31bab86c53ed5094f57ff8a05a6ea2c8e0c38
https://github.com/llvm/llvm-project/commit/99f31bab86c53ed5094f57ff8a05a6ea2c8e0c38
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Fix semantic for the CONSTANT attribute (#82821)
Object with the CONSTANT attribute cannot be declared in the host
subprogram.
It can be declared in a module or a device subprogram.
Adapt the semantic check to trigger the error in host subprogram.
Commit: 5c90527b436d1c7d753c187aff1b45e6c8da1af6
https://github.com/llvm/llvm-project/commit/5c90527b436d1c7d753c187aff1b45e6c8da1af6
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M flang/lib/Semantics/definable.cpp
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Allow object with SHARED attribute as definable (#82822)
A semantic error was raised in device subprogram like:
```
attributes(global) subroutine devsubr2()
real, shared :: rs
rs = 1
end subroutine
```
Object with the SHARED attribute can be can be read or written by all
threads in the block.
https://docs.nvidia.com/hpc-sdk/archive/24.1/compilers/cuda-fortran-prog-guide/index.html#cfpg-var-qual-attr-shared
Commit: 47aee8b56d65e2bac5c7128424ff06134e454d83
https://github.com/llvm/llvm-project/commit/47aee8b56d65e2bac5c7128424ff06134e454d83
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][OpenMP] Set OpenMP attributes in MLIR module in bbc before lo… (#82774)
…wering
Right now attributes like OpenMP version or target attributes for
offload are set after lowering in bbc. The flang frontend sets them
before lowering, making them available in the lowering process.
This change sets them before lowering in bbc as well.
Commit: dcf4ca558ce5c323ce9b0af93acc0c832024eb3c
https://github.com/llvm/llvm-project/commit/dcf4ca558ce5c323ce9b0af93acc0c832024eb3c
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
A mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
Log Message:
-----------
[OpenMP][MLIR][OMPIRBuilder] Add a small optional constant alloca raise function pass to finalize, utilised in convertTarget (#78818)
This patch seeks to add a mechanism to raise constant (not ConstantExpr
or runtime/dynamic) sized allocations into the entry block for select
functions that have been inserted into a list for processing. This
processing occurs during the finalize call, after OutlinedInfo regions
have completed. This currently has only been utilised for
createOutlinedFunction, which is triggered for TargetOp generation in
the OpenMP MLIR dialect lowering to LLVM-IR.
This currently is required for Target kernels generated by
createOutlinedFunction to avoid subsequent optimization passes doing
some unintentional malformed optimizations for AMD kernels (unsure if it
occurs for other vendors). If the allocas are generated inside of the
kernel and are not in the entry block and are subsequently passed to a
function this can lead to required instructions being erased or
manipulated in a way that causes the kernel to run into a HSA access
error.
This fix is related to a series of problems found in:
https://github.com/llvm/llvm-project/issues/74603
This problem primarily presents itself for Flang's HLFIR AssignOp
currently, when utilised with a scalar temporary constant on the RHS and
a descriptor type on the LHS. It will generate a call to a runtime
function, wrap the RHS temporary in a newly allocated descriptor (an
llvm struct), and pass both the LHS and RHS descriptor into the runtime
function call. This will currently be
embedded into the middle of the target region in the user entry block,
which means the allocas are also embedded in the middle, which seems to
pose
issues when later passes are executed. This issue may present itself in
other HLFIR operations or unrelated operations that generate allocas as
a by product, but for the moment, this one test case is the only
scenario I've found this problem.
Perhaps this is not the appropriate fix, I am very open to other
suggestions, I've tried a few others (at varying levels of the
flang/mlir compiler flow), but this one is the smallest and least
intrusive change set. The other two, that come to mind (but I've not
fully looked into, the former I tried a little with blocks but it had a
few issues I'd need to think through):
- Having a proper alloca only block (or region) generated for TargetOps
that we could merge into the entry block that's generated by
convertTarget's createOutlinedFunction.
- Or diverging a little from Clang's current target generation and using
the CodeExtractor to generate the user code as an outlined function
region invoked from the kernel we make, with our kernel arguments passed
into it. Similar to the current parallel generation. I am not sure how
well this would intermingle with the existing parallel generation though
that's layered in.
Both of these methods seem like quite a divergence from the current
status quo, which I am not entirely sure is merited for the small test
this change aims to fix.
Commit: 25940956e68ec82d841e5748565e7250580e1d36
https://github.com/llvm/llvm-project/commit/25940956e68ec82d841e5748565e7250580e1d36
Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/source/Target/Target.cpp
M lldb/source/Utility/ArchSpec.cpp
A lldb/test/API/macosx/arm64e-attach/Makefile
A lldb/test/API/macosx/arm64e-attach/TestArm64eAttach.py
A lldb/test/API/macosx/arm64e-attach/main.c
Log Message:
-----------
Replace ArchSpec::PiecewiseCompare() with Triple::operator==() (#82804)
Looking ast the definition of both functions this is *almost* an NFC
change, except that Triple also looks at the SubArch (important) and
ObjectFormat (less so).
This fixes a bug that only manifests with how Xcode uses the SBAPI to
attach to a process by name: it guesses the architecture based on the
system. If the system is arm64 and the Process is arm64e Target fails to
update the triple because it deemed the two to be equivalent.
rdar://123338218
Commit: 69c0b2febe01108f50db6e8ed21cd8b2e6088caf
https://github.com/llvm/llvm-project/commit/69c0b2febe01108f50db6e8ed21cd8b2e6088caf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M libc/AOR_v20.02/string/arm/memchr.S
M libc/CMakeLists.txt
M libc/benchmarks/automemcpy/README.md
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/x86_64/exclude.txt
M libc/config/windows/entrypoints.txt
M libc/docs/contributing.rst
M libc/docs/date_and_time.rst
M libc/docs/dev/clang_tidy_checks.rst
M libc/docs/dev/config_options.rst
M libc/docs/dev/printf_behavior.rst
M libc/docs/full_cross_build.rst
M libc/docs/gpu/motivation.rst
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/testing.rst
M libc/docs/gpu/using.rst
M libc/docs/libc_search.rst
M libc/docs/math/index.rst
M libc/docs/math/log.rst
M libc/docs/porting.rst
M libc/docs/stdio.rst
M libc/docs/strings.rst
M libc/include/fcntl.h.def
M libc/include/sched.h.def
M libc/include/spawn.h.def
M libc/spec/bsd_ext.td
M libc/spec/gnu_ext.td
M libc/spec/llvm_libc_ext.td
M libc/spec/posix.td
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/search/hsearch/CMakeLists.txt
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/stdlib/CMakeLists.txt
M libc/src/wchar/CMakeLists.txt
M libc/startup/linux/CMakeLists.txt
M libc/test/integration/scudo/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/math/differential_testing/CMakeLists.txt
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/utils/UnitTest/CMakeLists.txt
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/mathtools/GenerateHPDConstants.py
M libc/utils/mathtools/ryu_tablegen.py
Log Message:
-----------
[libc][NFC] Remove all trailing spaces from libc (#82831)
Summary:
There are a lot of random training spaces on various lines. This patch
just got rid of all of them with `sed 's/\ \+$//g'.
Commit: 87fadb3929163752f650a1fc08d5fb13ee4c1a3f
https://github.com/llvm/llvm-project/commit/87fadb3929163752f650a1fc08d5fb13ee4c1a3f
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M lldb/include/lldb/Target/Thread.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb] Correctly annotate threads at a bp site as hitting it (#82709)
This is next in my series of "fix the racey tests that fail on
greendragon" addressing the failure of TestConcurrentManyBreakpoints.py
where we set a breakpoint in a function that 100 threads execute, and we
check that we hit the breakpoint 100 times. But sometimes it is only hit
99 times, and the test fails.
When we hit a software breakpoint, the pc value for the thread is the
address of the breakpoint instruction - as if it had not been hit yet.
And because a user might ADD a breakpoint for the current pc from the
commandline, when we go to resume execution, any thread that is sitting
at a breakpoint site will be silently advanced past the breakpoint
instruction (disable bp, instruction step that thread, re-enable bp)
before resuming -- whether that thread has hit its breakpoint or not.
What this test is exposing is that there is another corner case, a
thread that is sitting at a breakpoint site but has not yet executed the
breakpoint instruction. The thread will have no stop reason, no mach
exception, so it will not be recorded as having hit the breakpoint
(because it hasn't yet). But when we resume execution, because it is
sitting at a breakpoint site, we advance past it and miss the breakpoint
hit.
In 2016 Abhishek Aggarwal handled a similar issue with a patch in
`ProcessGDBRemote::SetThreadStopInfo()`, adding a breakpoint StopInfo
for a thread sitting at a breakpoint site that has no stop reason.
debugserver's `jThreadsInfo` would not correctly execute Abhishek's code
though because it would respond with `"reason":"none"` for a thread with
no stop reason, and `SetThreadStopInfo()` expected an empty reason here.
The first part of my patch is to clear the `reason` if it is `"none"` so
we flow through the code correctly.
On Darwin, though, our stop reply packet (Txx...) includes the
`threads`, `thread-pcs`, and `jstopinfo` keys, which give us the tids
for all current threads, the pc values for those threads, and
`jstopinfo` has a JSON dictionary with the mach exceptions for all
threads that have a mach exception. In
`ProcessGDBRemote::CalculateThreadStopInfo()` we set the StopInfo for
each thread for a private stop and if we have `jstopinfo` it is the
source of all the StopInfos. I have to add the same logic here, to give
the thread a breakpoint StopInfo even though it hasn't executed the
breakpoint yet. In this case we are very early in thread construction
and I only have the information in the Txx stop reply packet -- tids,
pcs, and jstopinfo, so I can't use the normal general mechanisms of
going through the RegisterContext to get the pc, it's a bit different.
If I hack debugserver to not issue `jstopinfo`,
`CalculateThreadStopInfo` will fall back to sending `qThreadStopInfo`
for each thread and going through
`ProcessGDBRemote::SetThreadStopInfo()` to set the stop infos (and with
the `reason:none` fix, use Abhishek's code).
rdar://110549165
Commit: 3f91bdfdd50aa4eaf1d3e49cf797220cfeccaf16
https://github.com/llvm/llvm-project/commit/3f91bdfdd50aa4eaf1d3e49cf797220cfeccaf16
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/source/Target/Target.cpp
M lldb/source/Utility/ArchSpec.cpp
R lldb/test/API/macosx/arm64e-attach/Makefile
R lldb/test/API/macosx/arm64e-attach/TestArm64eAttach.py
R lldb/test/API/macosx/arm64e-attach/main.c
Log Message:
-----------
Revert "Replace ArchSpec::PiecewiseCompare() with Triple::operator==()"
This reverts commit 5e6bed8c0ea2f7fe380127763c8f753adae0fc1b while investigating the bots.
Commit: 775bd60363353b78657967c80f0f109cdb65cf8f
https://github.com/llvm/llvm-project/commit/775bd60363353b78657967c80f0f109cdb65cf8f
Author: Visoiu Mistrih Francis <890283+francisvm at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
A llvm/test/CodeGen/RISCV/cm_mvas_mvsa.mir
Log Message:
-----------
[RISCV] Add scheduling info for Zcmp (#82719)
The order of the entries in the list is:
outs, ins, Defs, Uses, implicit-defs, implicit uses, where the last two
are added programatically during codegen depending on the registers
saved/restored and are not described in the TD files.
Commit: 10c48a772742b7afe665a815b7eba2047f17dc4b
https://github.com/llvm/llvm-project/commit/10c48a772742b7afe665a815b7eba2047f17dc4b
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[llvm-shlib] Change libLLVM-$MAJOR.so symlink to point to versioned SO (#82660)
This symlink was added in 91a384621e5b762d9c173ffd247cfeadd5f436a2 to
maintain backwards compatibility, but it needs to point to
libLLVM.so.$MAJOR.$MINOR rather than libLLVM.so. This works better for
distros that ship libLLVM.so and libLLVM.so.$MAJOR.$MINOR in separate
packages and also prevents mistakes like
libLLVM-19.so -> libLLVM.so -> libLLVM.so.18.1
Fixes #82647
Commit: c862e612068c9c33995a2e2d289ced44b8eba810
https://github.com/llvm/llvm-project/commit/c862e612068c9c33995a2e2d289ced44b8eba810
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
Revert "[RemoveDIs] Enable DPLabels conversion [3b/3] (#82639)"
This reverts commit 71d47a0b00e9f48dc740556d7f452ffadf308731 because
it causes clang to crash in some cases. See repro posted at
https://github.com/llvm/llvm-project/commit/71d47a0b00e9f48dc740556d7f452ffadf308731
Commit: 8f2bd8ae68883592a333f4bdbed9798d66e68630
https://github.com/llvm/llvm-project/commit/8f2bd8ae68883592a333f4bdbed9798d66e68630
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.large.mir
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
Log Message:
-----------
[AMDGPU] Introduce iglp_opt(2): Generalized exp/mfma interleaving for select kernels (#81342)
This implements the basic pipelining structure of exp/mfma interleaving
for better extensibility. While it does have improved extensibility,
there are controls which only enable it for DAGs with certain
characteristics (matching the DAGs it has been designed against).
Commit: d42de86eb37b08b3007a67650b3ca73b9ae174b1
https://github.com/llvm/llvm-project/commit/d42de86eb37b08b3007a67650b3ca73b9ae174b1
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
reland: [clang][ScanDeps] Canonicalize -D and -U flags (#82568)
Canonicalize `-D` and `-U` flags by sorting them and only keeping the
last instance of a given name.
This optimization will only fire if all `-D` and `-U` flags start with a
simple identifier that we can guarantee a simple analysis of can
determine if two flags refer to the same identifier or not. See the
comment on `getSimpleMacroName()` for details of what the issues are.
Previous version of this had issues with sed differences between macOS,
Linux, and Windows. This test doesn't check paths, so just don't run
sed.
Other tests should use `sed -E 's:\\\\?:/:g'` to get portable behavior.
Windows has different command line parsing behavior than Linux for
compilation databases, so the test has been adjusted to ignore that
difference.
Commit: de3b2c293b8bf336f8e1380148cf16b54a794c0c
https://github.com/llvm/llvm-project/commit/de3b2c293b8bf336f8e1380148cf16b54a794c0c
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M llvm/include/llvm/ADT/StringSet.h
Log Message:
-----------
[clang][ScanDeps] Allow PCHs to have different VFS overlays (#82294)
It turns out it's not that uncommon for real code to pass a different
set of VFSs while building a PCH than while using the PCH. This can
cause problems as seen in `test/ClangScanDeps/optimize-vfs-pch.m`. If
you scan `compile-commands-tu-no-vfs-error.json` without -Werror and run
the resulting commands, Clang will emit a fatal error while trying to
emit a note saying that it can't find a remapped header.
This also adds textual tracking of VFSs for prebuilt modules that are
part of an included PCH, as the same issue can occur in a module we are
building if we drop VFSs. This has to be textual because we have no
guarantee the PCH had the same list of VFSs as the current TU.
This uses the `PrebuiltModuleListener` to collect `VFSOverlayFiles`
instead of trying to extract it out of a `serialization::ModuleFile`
each time it's needed. There's not a great way to just store a pointer
to the list of strings in the serialized AST.
Commit: bfcf7a0707592ccc7fd9e805aeb36c4da3f315a6
https://github.com/llvm/llvm-project/commit/bfcf7a0707592ccc7fd9e805aeb36c4da3f315a6
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
Log Message:
-----------
[AMDGPU] Remove `hasAtomicFaddRtnForTy` as it is not used anywhere (#82841)
Commit: 31ab2c4f616d686c06e9b573c8f1a4ae7ad2d8c3
https://github.com/llvm/llvm-project/commit/31ab2c4f616d686c06e9b573c8f1a4ae7ad2d8c3
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/namelist01.f90
Log Message:
-----------
[flang] Ensure USE-associated objects can be in NAMELIST (#82846)
The name resolution for NAMELIST objects didn't allow for symbols that
are not ObjectEntityDetails symbols.
Fixes https://github.com/llvm/llvm-project/issues/82574.
Commit: b0d2a52c87b36afab4734e1810fb9266aec1128f
https://github.com/llvm/llvm-project/commit/b0d2a52c87b36afab4734e1810fb9266aec1128f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format][NFC] Enable RemoveSemicolon for clang-format style (#82735)
Also insert separators for decimal integers longer than 4 digits.
Commit: 330af6ed6194ca5365bc576517c247f545aee1f4
https://github.com/llvm/llvm-project/commit/330af6ed6194ca5365bc576517c247f545aee1f4
Author: MalaySanghiIntel <148750629+MalaySanghiIntel at users.noreply.github.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
Log Message:
-----------
Convert argument to reference. (#82741)
Avoid copy of large object
Commit: 96abee5eef31274415681018553e1d4a16dc16c9
https://github.com/llvm/llvm-project/commit/96abee5eef31274415681018553e1d4a16dc16c9
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M lld/test/ELF/mips-pc-relocs.s
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
A llvm/test/CodeGen/Mips/llvm-ir/forbidden-slot-ir.ll
A llvm/test/MC/Mips/forbidden-slot.s
M llvm/test/MC/Mips/mips32r6/relocations.s
M llvm/test/MC/Mips/mips64r6/relocations.s
M llvm/test/MC/Mips/relocation.s
Log Message:
-----------
[Mips] Fix unable to handle inline assembly ends with compat-branch o… (#77291)
…n MIPS
Modify:
Add a global variable 'CurForbiddenSlotAttr' to save current
instruction's forbidden slot and whether set reorder. This is the
judgment condition for whether to add nop. We would add a couple of
'.set noreorder' and '.set reorder' to wrap the current instruction and
the next instruction.
Then we can get previous instruction`s forbidden slot attribute and
whether set reorder by 'CurForbiddenSlotAttr'.
If previous instruction has forbidden slot and .set reorder is active
and current instruction is CTI. Then emit a NOP after it.
Fix https://github.com/llvm/llvm-project/issues/61045.
Because https://reviews.llvm.org/D158589 was 'Needs Review' state, not
ending, so we commit pull request again.
Commit: 91d5653e3ae9742f7fb847f809b534ee128501b0
https://github.com/llvm/llvm-project/commit/91d5653e3ae9742f7fb847f809b534ee128501b0
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir] Use `OpBuilder::createBlock` in op builders and patterns (#82770)
When creating a new block in (conversion) rewrite patterns,
`OpBuilder::createBlock` must be used. Otherwise, no
`notifyBlockInserted` notification is sent to the listener.
Note: The dialect conversion relies on listener notifications to keep
track of IR modifications. Creating blocks without the builder API can
lead to memory leaks during rollback.
Commit: 60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e
https://github.com/llvm/llvm-project/commit/60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M llvm/tools/llvm-exegesis/README.md
Log Message:
-----------
[llvm-exegesis] Fix typos in README
Commit: 00c0638b5613912a7d1b65c8789bbb8ad1003115
https://github.com/llvm/llvm-project/commit/00c0638b5613912a7d1b65c8789bbb8ad1003115
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
A llvm/test/CodeGen/AArch64/arm64-fpenv.ll
M llvm/test/CodeGen/AArch64/preserve.ll
Log Message:
-----------
[AArch64] Intrinsics aarch64_{get,set}_fpsr (#81867)
Two new intrinsics are introduced to read/write FPSR. They are similar
to the existing intrinsics aarch64_{get,set}_fpcr.
Commit: 1901f442ca6374787e6810adb573d138f80893dd
https://github.com/llvm/llvm-project/commit/1901f442ca6374787e6810adb573d138f80893dd
Author: Artem Tyurin <artem.tyurin at gmail.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/test/Transforms/InstCombine/math-odd-even-parity.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[InstCombine] Handle more even/odd math functions (#81324)
At the moment this PR adds support only for `erf` function.
Fixes #77220.
Commit: d877ab1b99496feb48db1158963abd130e2aee5c
https://github.com/llvm/llvm-project/commit/d877ab1b99496feb48db1158963abd130e2aee5c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
Log Message:
-----------
MachineInstr - update TargetRegisterInfo arguments comments. NFC.
"TargetRegisterInfo is passed" -> "TargetRegisterInfo is non-null" - matches the term in the rest of the header.
Commit: cf9201cfdbc10f4606fc4ca22bf1ccaf5ee841b3
https://github.com/llvm/llvm-project/commit/cf9201cfdbc10f4606fc4ca22bf1ccaf5ee841b3
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M llvm/include/llvm/Object/Archive.h
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/ArchiveWriter.cpp
A llvm/test/tools/llvm-ar/coff-symtab.test
M llvm/tools/llvm-ar/llvm-ar.cpp
Log Message:
-----------
[llvm-ar] Use COFF archive format for COFF targets. (#82642)
Detect COFF files by default and allow specifying it with --format
argument.
This is important for ARM64EC, which uses a separated symbol map for EC
symbols. Since K_COFF is mostly compatible with K_GNU, this shouldn't
really make a difference for other targets.
Commit: 8a5aa103c52265337b43330e55e05567046f3ede
https://github.com/llvm/llvm-project/commit/8a5aa103c52265337b43330e55e05567046f3ede
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M llvm/include/llvm/Object/Archive.h
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/ArchiveWriter.cpp
R llvm/test/tools/llvm-ar/coff-symtab.test
M llvm/tools/llvm-ar/llvm-ar.cpp
Log Message:
-----------
Revert "[llvm-ar] Use COFF archive format for COFF targets." (#82889)
Reverts llvm/llvm-project#82642 for
lld/test/ELF/invalid/Output/data-encoding.test.tmp.a failures on
Windows.
Commit: 8e22fffc85b36784146041499b716cec74285660
https://github.com/llvm/llvm-project/commit/8e22fffc85b36784146041499b716cec74285660
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M clang/docs/HLSL/ExpectedDifferences.rst
Log Message:
-----------
[clang] Remove trailing whitespace
Fix commit 66f6929fec3ae
Commit: 1e98d4883d78ac2c65b87e24694e8b2f1dc9f02d
https://github.com/llvm/llvm-project/commit/1e98d4883d78ac2c65b87e24694e8b2f1dc9f02d
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Passes.h
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
Log Message:
-----------
[mlir][linalg] NFC: Use tablegen macro for pass constructors (#82892)
This uses the tablegen macros for generating pass constructors, exposing
pass options for fold-unit-extent-dims and linalg-detensorize.
Additionally aligns some of the pass namings to their text counterpart.
This includes an API change:
createLinalgGeneralizationPass -> createLinalgGeneralizeNamedOpsPass
Commit: 7b9504fc012e8b96c2bca9d641e16f719696d723
https://github.com/llvm/llvm-project/commit/7b9504fc012e8b96c2bca9d641e16f719696d723
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-25 (Sun, 25 Feb 2024)
Changed paths:
M llvm/test/Instrumentation/InstrProfiling/mcdc.ll
Log Message:
-----------
test: Refine InstrProfiling/mcdc.ll
Commit: cc53707a5c104eb7789829ecdb2e3ae2be1a42da
https://github.com/llvm/llvm-project/commit/cc53707a5c104eb7789829ecdb2e3ae2be1a42da
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-25 (Sun, 25 Feb 2024)
Changed paths:
M clang/test/Profile/c-mcdc-class.cpp
M clang/test/Profile/c-mcdc-logicalop-ternary.c
M clang/test/Profile/c-mcdc-nested-ternary.c
M clang/test/Profile/c-mcdc-not.c
M clang/test/Profile/c-mcdc.c
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/test/Instrumentation/InstrProfiling/mcdc.ll
Log Message:
-----------
LLVMInstrumentation: Simplify mcdc.tvbitmap.update with GEP.
Commit: a4096eaeb63e7086a2e0a32bd69523c1fa72db3e
https://github.com/llvm/llvm-project/commit/a4096eaeb63e7086a2e0a32bd69523c1fa72db3e
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-02-25 (Sun, 25 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
Log Message:
-----------
[AArch64] Add FPSR to reserved registers (#82907)
This is follow-up of #81867. FPSR was not added to reserved registers,
this resulted in machine verifier fails.
Commit: a8c3b3e20db01d2947dbe87d0c557150ed777865
https://github.com/llvm/llvm-project/commit/a8c3b3e20db01d2947dbe87d0c557150ed777865
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-24 (Sat, 24 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
[nfc][compiler-rt]Replace Type::getInt8PtrTy with PointerType::getUnqual as a clean-up (#82434)
This is a follow up of
https://github.com/llvm/llvm-project/commit/7b9d73c2f90c0ed8497339a16fc39785349d9610
and
https://github.com/llvm/llvm-project/commit/5ef9ba74120dcc2da70ec25571d459f81ab8a705
* The definition of `Type::getInt8PtrTy` is deleted. This doesn't cause
a compile error because the `Initializer` part of the macro doesn't run.
Commit: 3b27cc2ceec265d751c909c431ed62c0d7ed9b51
https://github.com/llvm/llvm-project/commit/3b27cc2ceec265d751c909c431ed62c0d7ed9b51
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-25 (Sun, 25 Feb 2024)
Changed paths:
M llvm/test/tools/llvm-cov/Inputs/mcdc-const.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-general.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-macro.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.o
M llvm/test/tools/llvm-cov/mcdc-macro.test
M llvm/test/tools/llvm-cov/mcdc-maxbs.test
Log Message:
-----------
Regenerate llvm-cov tests
Commit: 1f6a347c8abf8868fb4630c404480226c2efc2c2
https://github.com/llvm/llvm-project/commit/1f6a347c8abf8868fb4630c404480226c2efc2c2
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-25 (Sun, 25 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/MCDCState.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
Refactor: Let MCDC::State have DecisionByStmt and BranchByStmt
- Prune `RegionMCDCBitmapMap` and `RegionCondIDMap`. They are handled
by `MCDCState`.
- Rename `s/BitmapMap/DecisionByStmt/`. It can handle Decision stuff.
- Rename `s/CondIDMap/BranchByStmt/`. It can be handle Branch stuff.
- `MCDCRecordProcessor`: Use `DecisionParams.BitmapIdx` directly.
Commit: b6c1174a865e40e2635751cdc687932c01105b87
https://github.com/llvm/llvm-project/commit/b6c1174a865e40e2635751cdc687932c01105b87
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-02-25 (Sun, 25 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/docs.yml
M .github/workflows/release-tasks.yml
M README.md
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/Inputs/dwarf5-empty-arange-helper.s
A bolt/test/X86/Inputs/dwarf5-empty-arange-main.s
A bolt/test/X86/dwarf5-empty-arange.test
M bolt/test/X86/linux-orc.s
A bolt/test/X86/linux-static-calls.s
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/BinaryContext.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/Rename.h
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/test/initialize-params.test
M clang-tools-extra/clangd/test/rename.test
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/LSPClient.cpp
M clang-tools-extra/clangd/unittests/LSPClient.h
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/non-zero-enum-to-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/symlink/include/.clang-tidy
A clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/symlink/include/test.h
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
A clang/docs/HLSL/ExpectedDifferences.rst
M clang/docs/HLSL/HLSLDocs.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/Availability.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/ExtractAPI/API.h
R clang/include/clang/ExtractAPI/AvailabilityInfo.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
R clang/include/clang/Frontend/InstallAPIOptions.h
M clang/include/clang/InstallAPI/Context.h
A clang/include/clang/InstallAPI/FileList.h
A clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/AST/ASTContext.cpp
A clang/lib/AST/Availability.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvalEmitter.h
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/EvaluationResult.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/PrimType.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Program.h
M clang/lib/AST/Interp/Record.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/MCDCState.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.h
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
R clang/lib/ExtractAPI/AvailabilityInfo.cpp
M clang/lib/ExtractAPI/CMakeLists.txt
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/Macros.h
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
R clang/lib/Frontend/InstallAPIConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/hlsl/hlsl_basic_types.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/InstallAPI/CMakeLists.txt
R clang/lib/InstallAPI/Context.cpp
A clang/lib/InstallAPI/FileList.cpp
A clang/lib/InstallAPI/HeaderFile.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
A clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/comma.cpp
M clang/test/AST/Interp/complex.cpp
A clang/test/AST/Interp/crash-GH49103-2.cpp
A clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/cxx17.cpp
M clang/test/AST/Interp/cxx20.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/Interp/literals.cpp
A clang/test/AST/Interp/pointer-addition.c
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/shifts.cpp
M clang/test/AST/ast-dump-using.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/expected-plists/unix-fns.c.plist
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/std-c-library-functions-path-notes.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
A clang/test/Analysis/stream-invalidate.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/taint-generic.c
A clang/test/Analysis/unix-fns-o_creat.c
M clang/test/Analysis/unix-fns.c
M clang/test/C/C2x/n2934.c
M clang/test/CMakeLists.txt
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/CXX/drs/dr18xx.cpp
M clang/test/CXX/drs/dr20xx.cpp
M clang/test/CXX/drs/dr2335.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/drs/dr5xx.cpp
A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M clang/test/CodeGen/aarch64-ABI-align-packed.c
A clang/test/CodeGen/aarch64-cpu-supports-target.c
A clang/test/CodeGen/aarch64-cpu-supports.c
A clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
A clang/test/CodeGen/aix-builtin-cpu-is.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/integer-overflow.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics-underaligned.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGenCUDA/device-stub.cu
M clang/test/CodeGenCUDA/host-used-device-var.cu
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
A clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
A clang/test/CoverageMapping/conditional-operator.c
A clang/test/Driver/Inputs/hip.h
M clang/test/Driver/arm-alignment.c
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/gpu-libc-headers.c
A clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-toolchain-rdc.hip
R clang/test/Driver/installapi.h
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/unknown-arg.c
A clang/test/InstallAPI/basic.test
A clang/test/InstallAPI/driver-invalid-options.test
R clang/test/InstallAPI/installapi-basic.test
A clang/test/Lexer/raw-string-dlim-invalid.cpp
M clang/test/Misc/warning-flags.c
A clang/test/Modules/compile-pcm-with-pic.cppm
A clang/test/Modules/pr81745.cppm
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp_offload_registration.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_codegen_registration.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_codegen_registration.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
A clang/test/Parser/c11-keywords.c
M clang/test/Parser/c2x-alignas.c
M clang/test/Parser/cxx-concepts-requires-clause.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/ParserOpenACC/unimplemented.c
M clang/test/ParserOpenACC/unimplemented.cpp
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/has_builtin_cpuid.c
M clang/test/Preprocessor/init.c
M clang/test/Profile/c-mcdc-class.cpp
M clang/test/Profile/c-mcdc-logicalop-ternary.c
M clang/test/Profile/c-mcdc-nested-ternary.c
M clang/test/Profile/c-mcdc-not.c
M clang/test/Profile/c-mcdc.c
A clang/test/Sema/aarch64-cpu-supports.c
A clang/test/Sema/aarch64-sme-intrinsics/acle_sme_zero.c
A clang/test/Sema/aarch64-sme2p1-diagnostics.c
A clang/test/Sema/aix-builtin-cpu-unsupports.c
M clang/test/Sema/attr-function-return.c
M clang/test/Sema/builtin-cpu-supports.c
M clang/test/Sema/callingconv-iamcu.c
M clang/test/Sema/callingconv.c
M clang/test/Sema/enum.c
M clang/test/Sema/mips-interrupt-attr.c
M clang/test/Sema/riscv-interrupt-attr.c
M clang/test/Sema/warn-char-subscripts.c
M clang/test/Sema/zero_call_used_regs.c
M clang/test/SemaCUDA/float16.cu
M clang/test/SemaCXX/PR20334-std_initializer_list_diagnosis_assertion.cpp
M clang/test/SemaCXX/PR68542.cpp
A clang/test/SemaCXX/_Alignas.cpp
M clang/test/SemaCXX/builtins-overflow.cpp
M clang/test/SemaCXX/cxx23-static-callop-lambda-expression.cpp
M clang/test/SemaCXX/cxx2a-ms-no-unique-address.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-consumed-parsing.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-add-assign.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-addressof-arraysubscript.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-inits-ptr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-assign-to-array-subscr-on-ptr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-deref-simple-ptr-arith.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-span-cv-qualifiers.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-span.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-multi-parm-span.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-deref.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pre-increment.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-unevaluated-context.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-multi-decl-fixits-test.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-multi-decl-ptr-init-fixits.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-multi-decl-uuc-fixits.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-fixit.cpp
M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
A clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
A clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M clang/test/SemaHLSL/shader_type_attr.hlsl
A clang/test/SemaHLSL/standard_conversion_sequences.hlsl
A clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/no-branch-in-out.c
A clang/test/SemaOpenACC/parallel-assoc-stmt-inst.cpp
A clang/test/SemaOpenACC/parallel-loc-and-stmt.c
A clang/test/SemaOpenACC/parallel-loc-and-stmt.cpp
A clang/test/SemaOpenACC/unimplemented-construct.c
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
A clang/tools/clang-installapi/CMakeLists.txt
A clang/tools/clang-installapi/ClangInstallAPI.cpp
A clang/tools/clang-installapi/Options.cpp
A clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
A clang/unittests/InstallAPI/CMakeLists.txt
A clang/unittests/InstallAPI/FileListTest.cpp
A clang/unittests/InstallAPI/HeaderFileTest.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_fuchsia.cpp
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_win.cpp
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/divtc3.c
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/int_types.h
M compiler-rt/lib/builtins/multc3.c
M compiler-rt/lib/builtins/os_version_check.c
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
M compiler-rt/lib/hwasan/hwasan.cpp
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/memprof/memprof_internal.h
M compiler-rt/lib/memprof/memprof_linux.cpp
M compiler-rt/lib/memprof/memprof_rtl.cpp
M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/fuzz/get_error_info_fuzzer.cpp
M compiler-rt/lib/scudo/standalone/platform.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tsd_exclusive.h
M compiler-rt/lib/scudo/standalone/tsd_shared.h
M compiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
A compiler-rt/test/builtins/Unit/aarch64_cpu_features_test.c
M compiler-rt/test/builtins/Unit/cpu_model_test.c
M compiler-rt/test/hwasan/TestCases/stack-uas.c
A compiler-rt/test/profile/AIX/bexpfull-pgo.c
M compiler-rt/test/profile/instrprof-block-coverage.c
M compiler-rt/test/profile/instrprof-entry-coverage.c
M flang/CMakeLists.txt
M flang/docs/FortranLLVMTestSuite.md
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/Mangler.cpp
M flang/lib/Lower/OpenACC.cpp
R flang/lib/Lower/OpenMP.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.h
A flang/lib/Lower/OpenMP/Utils.cpp
A flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/__cuda_builtins.f90
M flang/module/__fortran_builtins.f90
M flang/module/__fortran_ieee_exceptions.f90
M flang/module/__fortran_type_info.f90
M flang/module/__ppc_types.f90
M flang/module/ieee_arithmetic.f90
M flang/module/ieee_exceptions.f90
M flang/module/ieee_features.f90
M flang/runtime/CMakeLists.txt
A flang/runtime/Float128Math/CMakeLists.txt
A flang/runtime/Float128Math/cabs.cpp
A flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/sin.cpp
A flang/runtime/Float128Math/sqrt.cpp
M flang/runtime/unit.cpp
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/tbaa.fir
M flang/test/Fir/type-descriptor.fir
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
A flang/test/Lower/CUDA/cuda-kernel-calls.cuf
A flang/test/Lower/HLFIR/block_bindc_pocs.f90
M flang/test/Lower/Intrinsics/missing-math-runtime.f90
M flang/test/Lower/OpenACC/acc-private.f90
R flang/test/Lower/OpenMP/Todo/copyprivate.f90
A flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Preprocessing/pp005.F
M flang/test/Preprocessing/pp006.F
M flang/test/Preprocessing/pp105.F90
M flang/test/Preprocessing/pp106.F90
M flang/test/Preprocessing/pp134.F90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
A flang/test/Semantics/OpenMP/struct.f90
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/namelist01.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Transforms/simplifyintrinsics.fir
M flang/tools/bbc/bbc.cpp
M flang/tools/flang-driver/driver.cpp
M libc/AOR_v20.02/string/arm/memchr.S
M libc/CMakeLists.txt
M libc/benchmarks/automemcpy/README.md
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
A libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/exclude.txt
M libc/config/linux/x86_64/headers.txt
M libc/config/windows/entrypoints.txt
A libc/docs/c23.rst
M libc/docs/contributing.rst
M libc/docs/date_and_time.rst
M libc/docs/dev/clang_tidy_checks.rst
M libc/docs/dev/config_options.rst
M libc/docs/dev/printf_behavior.rst
M libc/docs/full_cross_build.rst
M libc/docs/gpu/motivation.rst
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/testing.rst
M libc/docs/gpu/using.rst
M libc/docs/index.rst
M libc/docs/libc_search.rst
M libc/docs/math/index.rst
M libc/docs/math/log.rst
M libc/docs/math/stdfix.rst
M libc/docs/porting.rst
M libc/docs/stdio.rst
M libc/docs/strings.rst
M libc/include/CMakeLists.txt
M libc/include/fcntl.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/stdckdint-macros.h
M libc/include/llvm-libc-macros/stdfix-macros.h
M libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/include/sched.h.def
M libc/include/spawn.h.def
A libc/include/stdckdint.h.def
M libc/lib/CMakeLists.txt
M libc/spec/bsd_ext.td
M libc/spec/gnu_ext.td
M libc/spec/llvm_libc_ext.td
M libc/spec/posix.td
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/spec/stdc_ext.td
M libc/src/CMakeLists.txt
M libc/src/__support/CPP/array.h
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/GPU/CMakeLists.txt
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/RPC/CMakeLists.txt
M libc/src/__support/UInt.h
M libc/src/__support/fixed_point/CMakeLists.txt
A libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/fixed_point/fx_rep.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_utils.h
M libc/src/__support/math_extras.h
M libc/src/__support/number_pair.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/gpu/vendor/CMakeLists.txt
M libc/src/search/hsearch/CMakeLists.txt
A libc/src/stdckdint/CMakeLists.txt
A libc/src/stdfix/CMakeLists.txt
A libc/src/stdfix/abshk.cpp
A libc/src/stdfix/abshk.h
A libc/src/stdfix/abshr.cpp
A libc/src/stdfix/abshr.h
A libc/src/stdfix/absk.cpp
A libc/src/stdfix/absk.h
A libc/src/stdfix/abslk.cpp
A libc/src/stdfix/abslk.h
A libc/src/stdfix/abslr.cpp
A libc/src/stdfix/abslr.h
A libc/src/stdfix/absr.cpp
A libc/src/stdfix/absr.h
A libc/src/stdfix/roundhk.cpp
A libc/src/stdfix/roundhk.h
A libc/src/stdfix/roundhr.cpp
A libc/src/stdfix/roundhr.h
A libc/src/stdfix/roundk.cpp
A libc/src/stdfix/roundk.h
A libc/src/stdfix/roundlk.cpp
A libc/src/stdfix/roundlk.h
A libc/src/stdfix/roundlr.cpp
A libc/src/stdfix/roundlr.h
A libc/src/stdfix/roundr.cpp
A libc/src/stdfix/roundr.h
A libc/src/stdfix/rounduhk.cpp
A libc/src/stdfix/rounduhk.h
A libc/src/stdfix/rounduhr.cpp
A libc/src/stdfix/rounduhr.h
A libc/src/stdfix/rounduk.cpp
A libc/src/stdfix/rounduk.h
A libc/src/stdfix/roundulk.cpp
A libc/src/stdfix/roundulk.h
A libc/src/stdfix/roundulr.cpp
A libc/src/stdfix/roundulr.h
A libc/src/stdfix/roundur.cpp
A libc/src/stdfix/roundur.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/atexit.cpp
M libc/src/string/CMakeLists.txt
M libc/src/wchar/CMakeLists.txt
M libc/startup/gpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/CMakeLists.txt
M libc/startup/linux/CMakeLists.txt
M libc/test/CMakeLists.txt
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/include/CMakeLists.txt
A libc/test/include/stdckdint_test.cpp
M libc/test/integration/scudo/CMakeLists.txt
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/__support/File/CMakeLists.txt
A libc/test/src/__support/fixed_point/CMakeLists.txt
A libc/test/src/__support/fixed_point/fx_bits_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/str_to_long_double_test.cpp
M libc/test/src/errno/CMakeLists.txt
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/differential_testing/CMakeLists.txt
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/stdfix/AbsTest.h
A libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/RoundTest.h
A libc/test/src/stdfix/abshk_test.cpp
A libc/test/src/stdfix/abshr_test.cpp
A libc/test/src/stdfix/absk_test.cpp
A libc/test/src/stdfix/abslk_test.cpp
A libc/test/src/stdfix/abslr_test.cpp
A libc/test/src/stdfix/absr_test.cpp
A libc/test/src/stdfix/roundhk_test.cpp
A libc/test/src/stdfix/roundhr_test.cpp
A libc/test/src/stdfix/roundk_test.cpp
A libc/test/src/stdfix/roundlk_test.cpp
A libc/test/src/stdfix/roundlr_test.cpp
A libc/test/src/stdfix/roundr_test.cpp
A libc/test/src/stdfix/rounduhk_test.cpp
A libc/test/src/stdfix/rounduhr_test.cpp
A libc/test/src/stdfix/rounduk_test.cpp
A libc/test/src/stdfix/roundulk_test.cpp
A libc/test/src/stdfix/roundulr_test.cpp
A libc/test/src/stdfix/roundur_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/utils/UnitTest/CMakeLists.txt
M libc/utils/CMakeLists.txt
M libc/utils/HdrGen/PublicAPICommand.cpp
M libc/utils/HdrGen/PublicAPICommand.h
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/gpu/CMakeLists.txt
M libc/utils/gpu/loader/CMakeLists.txt
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
M libc/utils/gpu/loader/nvptx/CMakeLists.txt
M libc/utils/gpu/server/CMakeLists.txt
A libc/utils/gpu/server/llvmlibc_rpc_server.h
M libc/utils/gpu/server/rpc_server.cpp
R libc/utils/gpu/server/rpc_server.h
M libc/utils/mathtools/GenerateHPDConstants.py
M libc/utils/mathtools/ryu_tablegen.py
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/atomic_wait.bench.cpp
A libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__atomic/atomic_sync.h
A libcxx/include/__chrono/time_zone.h
A libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__functional/reference_wrapper.h
A libcxx/include/__fwd/complex.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__numeric/midpoint.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__tuple/tuple_like.h
M libcxx/include/__utility/pair.h
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/complex
M libcxx/include/csetjmp
M libcxx/include/deque
M libcxx/include/experimental/memory
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/iomanip
M libcxx/include/istream
M libcxx/include/latch
M libcxx/include/libcxx.imp
M libcxx/include/list
M libcxx/include/map
M libcxx/include/module.modulemap.in
M libcxx/include/queue
M libcxx/include/semaphore
M libcxx/include/stack
M libcxx/include/tuple
M libcxx/include/unordered_map
M libcxx/include/vector
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/complex.inc
M libcxx/src/CMakeLists.txt
M libcxx/src/atomic.cpp
A libcxx/src/include/tzdb/time_zone_link_private.h
A libcxx/src/include/tzdb/time_zone_private.h
A libcxx/src/include/tzdb/types_private.h
A libcxx/src/include/tzdb/tzdb_list_private.h
A libcxx/src/include/tzdb/tzdb_private.h
A libcxx/src/time_zone.cpp
R libcxx/src/tz.cpp
A libcxx/src/tzdb.cpp
M libcxx/src/tzdb_list.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp
M libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
M libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/links.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
M libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
M libcxx/test/std/language.support/support.dynamic/align_val_t.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/nodiscard.verify.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/nodiscard.verify.cpp
M libcxx/test/std/language.support/support.rtti/type.info/type_info.equal.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_out.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_out.pass.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/get.pass.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/get.verify.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/tuple_element.compile.pass.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/tuple_element.verify.cpp
A libcxx/test/std/numerics/complex.number/complex.tuple/tuple_size.compile.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.link/types.compile.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/types.compile.pass.cpp
M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
M libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
M libcxx/test/support/test_format_context.h
M libcxx/test/support/test_format_string.h
M libcxx/utils/generate_feature_test_macro_components.py
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/eh-frame-pcrel-overflow.s
M lld/test/ELF/lto/codemodel.ll
M lld/test/ELF/mips-pc-relocs.s
M lld/test/ELF/x86-64-section-layout.s
M lld/test/MachO/arm64-32-stubs.s
M lld/test/MachO/arm64-stubs.s
M lld/test/MachO/data-in-code.s
M lld/test/MachO/dyld-stub-binder.s
M lld/test/MachO/icf-safe.ll
M lld/test/MachO/invalid/chained-fixups-incompatible.s
M lld/test/MachO/objc-selrefs.s
A lld/test/wasm/no-strip-segment.s
M lld/wasm/InputChunks.h
M lld/wasm/MarkLive.cpp
M lldb/bindings/interface/SBStatisticsOptionsDocstrings.i
M lldb/docs/resources/test.rst
M lldb/docs/testsuite/a-detailed-walkthrough.txt
M lldb/include/lldb/API/SBStatisticsOptions.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Interpreter/OptionValueSInt64.h
M lldb/include/lldb/Interpreter/OptionValueUInt64.h
M lldb/include/lldb/Interpreter/Options.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/README-TestSuite
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/SBStatisticsOptions.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/OptionValueUInt64.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Statistics.cpp
M lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
M lldb/test/API/api/multithreaded/TestMultithreaded.py
M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py
M lldb/test/API/commands/command/script/add/test_commands.py
M lldb/test/API/commands/disassemble/basic/TestFrameDisassemble.py
M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
M lldb/test/API/commands/expression/completion/TestExprCompletion.py
M lldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py
M lldb/test/API/commands/expression/fixits/TestFixIts.py
M lldb/test/API/commands/expression/nested/TestNestedExpressions.py
M lldb/test/API/commands/expression/save_jit_objects/TestSaveJITObjects.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/commands/expression/timeout/TestCallWithTimeout.py
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
M lldb/test/API/commands/frame/language/TestGuessLanguage.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/commands/log/basic/TestLogging.py
M lldb/test/API/commands/memory/read/TestMemoryRead.py
M lldb/test/API/commands/process/attach/TestProcessAttach.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/TestSMEZRegistersSaveRestore.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/TestZAThreadedDynamic.py
M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/target/debuginfo/TestDebugInfoSize.py
M lldb/test/API/commands/trace/TestTraceExport.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
M lldb/test/API/driver/job_control/TestJobControl.py
M lldb/test/API/functionalities/archives/TestBSDArchives.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestAddressBreakpoints.py
M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
M lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
M lldb/test/API/functionalities/breakpoint/breakpoint_ids/TestBreakpointIDs.py
M lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py
M lldb/test/API/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
M lldb/test/API/functionalities/breakpoint/source_regexp/TestSourceRegexBreakpoints.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
M lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/TestThreadPlanUserBreakpoint.py
M lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
M lldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
M lldb/test/API/functionalities/data-formatter/format-propagation/TestFormatPropagation.py
M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
M lldb/test/API/functionalities/dynamic_value_child_count/TestDynamicValueChildCount.py
M lldb/test/API/functionalities/executable_first/TestExecutableFirst.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/gdb_remote_client/TestGdbClientModuleLoad.py
M lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py
M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
M lldb/test/API/functionalities/gdb_remote_client/TestqOffsets.py
M lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
M lldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py
M lldb/test/API/functionalities/load_lazy/TestLoadUsingLazyBind.py
M lldb/test/API/functionalities/memory-region/TestMemoryRegion.py
M lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
M lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py
M lldb/test/API/functionalities/multidebugger_commands/TestMultipleDebuggersCommands.py
M lldb/test/API/functionalities/plugins/command_plugin/TestPluginCommands.py
M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
M lldb/test/API/functionalities/process_group/TestChangeProcessGroup.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/functionalities/progress_reporting/TestTrimmedProgressReporting.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/signal/TestSendSignal.py
M lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
M lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
M lldb/test/API/functionalities/signal/raise/TestRaise.py
M lldb/test/API/functionalities/source-map/TestTargetSourceMap.py
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
A lldb/test/API/functionalities/stats_api/main-main.dwo.yaml
A lldb/test/API/functionalities/stats_api/main.yaml
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/step-avoids-regexp/TestStepAvoidsRegexp.py
M lldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/main.cpp
M lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
M lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py
M lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py
M lldb/test/API/functionalities/thread/main_thread_exit/TestMainThreadExit.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
M lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
M lldb/test/API/functionalities/tsan/basic/TestTsanBasic.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/functionalities/type_find_first/TestFindFirstType.py
M lldb/test/API/functionalities/ubsan/basic/TestUbsanBasic.py
M lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
M lldb/test/API/functionalities/unwind/noreturn/module-end/TestNoReturnModuleEnd.py
M lldb/test/API/functionalities/value_md5_crash/TestValueMD5Crash.py
M lldb/test/API/functionalities/var_path/TestVarPath.py
M lldb/test/API/functionalities/vtable/TestVTableValue.py
M lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py
M lldb/test/API/lang/c/array_types/TestArrayTypes.py
M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py
M lldb/test/API/lang/cpp/incomplete-types/members/TestCppIncompleteTypeMembers.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/stl/TestSTL.py
M lldb/test/API/lang/cpp/template-specialization-type/TestTemplateSpecializationType.py
M lldb/test/API/lang/cpp/template/TestTemplateArgs.py
M lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py
M lldb/test/API/lang/cpp/unique-types4/TestUniqueTypes4.py
M lldb/test/API/lang/objc/charstar_dyntype/TestCharStarDynType.py
M lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
M lldb/test/API/lang/objc/global_ptrs/TestGlobalObjects.py
M lldb/test/API/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py
M lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py
M lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py
M lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py
M lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py
M lldb/test/API/lang/objc/objc-property/TestObjCProperty.py
M lldb/test/API/lang/objc/objc-static-method-stripped/TestObjCStaticMethodStripped.py
M lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
M lldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py
M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
M lldb/test/API/lua_api/TestBreakpointAPI.lua
M lldb/test/API/lua_api/TestComprehensive.lua
M lldb/test/API/lua_api/TestFileHandle.lua
M lldb/test/API/lua_api/TestLuaAPI.py
M lldb/test/API/lua_api/TestProcessAPI.lua
M lldb/test/API/lua_api/lua_lldb_test.lua
M lldb/test/API/macosx/arm-corefile-regctx/TestArmMachoCorefileRegctx.py
M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/TestBundleWithDotInFilename.py
M lldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
M lldb/test/API/macosx/lc-note/addrable-bits/TestAddrableBitsCorefile.py
M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
M lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py
M lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
M lldb/test/API/macosx/macCatalyst/TestMacCatalyst.py
M lldb/test/API/macosx/macCatalystAppMacOSFramework/TestMacCatalystAppWithMacOSFramework.py
M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
M lldb/test/API/macosx/queues/TestQueues.py
M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/macosx/thread-names/TestInterruptThreadNames.py
M lldb/test/API/macosx/universal/TestUniversal.py
M lldb/test/API/python_api/class_members/TestSBTypeClassMembers.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/format/TestFormat.py
M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
M lldb/test/API/python_api/frame/get-variables/TestGetVariables.py
M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
M lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py
M lldb/test/API/python_api/module_section/TestModuleAndSection.py
M lldb/test/API/python_api/name_lookup/TestNameLookup.py
M lldb/test/API/python_api/objc_type/TestObjCType.py
M lldb/test/API/python_api/process/TestProcessAPI.py
M lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/test/API/python_api/sbdata/TestSBData.py
M lldb/test/API/python_api/sblaunchinfo/TestSBLaunchInfo.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/sbvalue_persist/TestSBValuePersist.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
M lldb/test/API/python_api/value/TestValueAPI.py
M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
M lldb/test/API/python_api/value/change_values/libcxx/atomic/TestChangeValue.py
M lldb/test/API/python_api/value/change_values/libcxx/map/TestChangeMapValue.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
M lldb/test/API/sanity/TestSettingSkipping.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
A lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
A lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
A lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAttach.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteHostInfo.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteModuleInfo.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteThreadsInStopReply.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
M lldb/test/Shell/helper/build.py
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAPForward.h
A lldb/tools/lldb-dap/Watchpoint.cpp
A lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/Interpreter/CMakeLists.txt
A lldb/unittests/Interpreter/TestOptions.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/_themes/llvm-theme/static/llvm-theme.css
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/include/llvm/ADT/iterator_range.h
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
A llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
A llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/Object/Wasm.h
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/include/llvm/ObjectYAML/XCOFFYAML.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/ThreadPool.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/PPCTargetParser.def
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/MisExpect.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/lib/CodeGen/SelectionDAG/MatchContext.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSectionWasm.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/Object/SymbolSize.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
M llvm/lib/ObjectYAML/XCOFFYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
A llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/R600.td
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.h
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
A llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
A llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
A llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVScheduleV.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/CMakeLists.txt
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/CMakeLists.txt
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopRotation.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/arith-fp-frem.ll
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/PowerPC/insert_extract.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
M llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
A llvm/test/Analysis/CostModel/X86/icmp0.ll
A llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
M llvm/test/Analysis/ValueTracking/constant-ranges.ll
A llvm/test/Bitcode/constant-splat.ll
A llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fcopysign.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/abs.ll
M llvm/test/CodeGen/AArch64/addsub.ll
A llvm/test/CodeGen/AArch64/arm64-fpenv.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-stur.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/arm64_32.ll
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks-local-linkage.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/callbr-asm-obj-file.ll
A llvm/test/CodeGen/AArch64/extractvector-of-load.mir
A llvm/test/CodeGen/AArch64/extractvector-oob-load.mir
M llvm/test/CodeGen/AArch64/fcopysign.ll
M llvm/test/CodeGen/AArch64/fpext.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/llvm.exp10.ll
M llvm/test/CodeGen/AArch64/merge-store.ll
M llvm/test/CodeGen/AArch64/neon-mov.ll
M llvm/test/CodeGen/AArch64/preserve.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
R llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
M llvm/test/CodeGen/AArch64/shift.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
A llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir
A llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
A llvm/test/CodeGen/AArch64/storepairsuppress.ll
M llvm/test/CodeGen/AArch64/storepairsuppress_minsize.ll
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/sve-tailcall.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-pred.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-vector.ll
A llvm/test/CodeGen/AArch64/swifttail-funclet.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
A llvm/test/CodeGen/AArch64/win64-fpowi.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fdiv-sqrt-to-rsq.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.large.mir
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
A llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/Hexagon/atomicrmw-uinc-udec-wrap.ll
A llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir
M llvm/test/CodeGen/Hexagon/isel/select-vec.ll
A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
A llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
A llvm/test/CodeGen/Hexagon/post-inc-vec.mir
A llvm/test/CodeGen/Hexagon/post_inc_store.mir
A llvm/test/CodeGen/Hexagon/postincopt-crash.mir
A llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
M llvm/test/CodeGen/Hexagon/reg-by-name.ll
A llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll
A llvm/test/CodeGen/Hexagon/tfr-slotindex.ll
A llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
A llvm/test/CodeGen/LoongArch/addrspacecast.ll
A llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
A llvm/test/CodeGen/Mips/llvm-ir/forbidden-slot-ir.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
A llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/PowerPC/aix-dwarf.ll
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/insertelement.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
A llvm/test/CodeGen/RISCV/branch-opt.mir
A llvm/test/CodeGen/RISCV/cm_mvas_mvsa.mir
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
A llvm/test/CodeGen/RISCV/load-setcc-combine.ll
M llvm/test/CodeGen/RISCV/make-compressible.mir
M llvm/test/CodeGen/RISCV/pr51206.ll
A llvm/test/CodeGen/RISCV/readsteadycounter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
A llvm/test/CodeGen/SPIRV/execution-mode-per-entry-point.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
A llvm/test/CodeGen/SPIRV/switch-no-jump-table.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-17.ll
A llvm/test/CodeGen/SystemZ/frame-29.ll
M llvm/test/CodeGen/VE/Scalar/ctlz.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
M llvm/test/CodeGen/WebAssembly/multivalue.ll
M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
A llvm/test/CodeGen/WebAssembly/no-strip.ll
A llvm/test/CodeGen/X86/GlobalISel/calllowering-tailcall.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
A llvm/test/CodeGen/X86/code-model-elf-merge-sections.ll
M llvm/test/CodeGen/X86/ctpop-mask.ll
M llvm/test/CodeGen/X86/prefer-avx256-mask-extend.ll
M llvm/test/CodeGen/X86/psadbw.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
A llvm/test/DebugInfo/dpvalue-print-nocrash.ll
A llvm/test/DebugInfo/fixed-point.ll
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/sectcreate-data.txt
A llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/test/Instrumentation/InstrProfiling/mcdc.ll
M llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
M llvm/test/MC/AArch64/arm64-optional-hash.s
M llvm/test/MC/AArch64/armv9.4a-gcs.s
A llvm/test/MC/AMDGPU/bf16_imm.s
M llvm/test/MC/AMDGPU/gfx11-promotions.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa-fake16.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_dpp8.s
A llvm/test/MC/ARM/fdpic.s
M llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
A llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3p_dpp8.txt
M llvm/test/MC/Disassembler/X86/x86-64-err.txt
A llvm/test/MC/ELF/rtti-proxy-arm-got-prel.ll
A llvm/test/MC/Mips/forbidden-slot.s
M llvm/test/MC/Mips/mips32r6/relocations.s
M llvm/test/MC/Mips/mips64r6/relocations.s
M llvm/test/MC/Mips/relocation.s
M llvm/test/MC/RISCV/user-csr-names.s
M llvm/test/MC/WebAssembly/no-dead-strip.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/TableGen/AllowDuplicateRegisterNames.td
M llvm/test/TableGen/HwModeEncodeDecode.td
A llvm/test/TableGen/HwModeEncodeDecode2.td
M llvm/test/Transforms/Attributor/nofpclass-fpext.ll
M llvm/test/Transforms/ConstraintElimination/minmax.ll
A llvm/test/Transforms/ConstraintElimination/sext.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
R llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
A llvm/test/Transforms/Coroutines/coro-async-notail-wasm.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
M llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
M llvm/test/Transforms/HotColdSplit/eh-pads.ll
M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
A llvm/test/Transforms/HotColdSplit/outline-inner-region.ll
A llvm/test/Transforms/HotColdSplit/outline-outer-region.ll
A llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
A llvm/test/Transforms/InferAddressSpaces/AMDGPU/multiple-uses-of-val.ll
A llvm/test/Transforms/Inline/inline-sign-return-address.ll
M llvm/test/Transforms/InstCombine/2008-05-23-CompareFold.ll
M llvm/test/Transforms/InstCombine/2008-11-08-FCmp.ll
M llvm/test/Transforms/InstCombine/2009-05-23-FCmpToICmp.ll
M llvm/test/Transforms/InstCombine/2012-02-13-FCmp.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-uzp1.ll
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/binop-cast.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/fsh.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
A llvm/test/Transforms/InstCombine/math-odd-even-parity.ll
M llvm/test/Transforms/InstCombine/not.ll
A llvm/test/Transforms/InstCombine/pr80941.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
M llvm/test/Transforms/InstCombine/sub-ashr-and-to-icmp-select.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
A llvm/test/Transforms/LoopIdiom/pr82337.ll
A llvm/test/Transforms/LoopRotate/coroutine.ll
A llvm/test/Transforms/LoopStrengthReduce/RISCV/term-fold-crash.ll
A llvm/test/Transforms/LoopUnroll/AArch64/scalable-vec-ins-ext.ll
A llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
A llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
A llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
A llvm/test/Transforms/OpenMP/deduplication_soundness.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-node-with-save-values.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-cmps.ll
M llvm/test/Transforms/SROA/tbaa-struct2.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
M llvm/test/Transforms/SampleProfile/Inputs/profile-mismatch.prof
M llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-profile-mismatch.prof
M llvm/test/Transforms/SampleProfile/profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-thinlto.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch.ll
A llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
A llvm/test/Transforms/VectorCombine/RISCV/load-widening.ll
A llvm/test/Transforms/VectorCombine/X86/reduction-of-truncations.ll
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/test/tools/llc/new-pm/start-stop.ll
M llvm/test/tools/llvm-cov/Inputs/mcdc-const.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-general.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-macro.o
M llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.o
M llvm/test/tools/llvm-cov/mcdc-general-none.test
M llvm/test/tools/llvm-cov/mcdc-general.test
M llvm/test/tools/llvm-cov/mcdc-macro.test
M llvm/test/tools/llvm-cov/mcdc-maxbs.test
M llvm/test/tools/llvm-dlltool/arm64ec.test
M llvm/test/tools/llvm-dwarfdump/AArch64/ptrauth.s
A llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
M llvm/test/tools/llvm-nm/wasm/exports.yaml
M llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
M llvm/test/tools/llvm-objcopy/ELF/binary-output-target.test
M llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test
A llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test
M llvm/test/tools/llvm-objdump/openbsd-headers.test
M llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml
A llvm/test/tools/llvm-profgen/Inputs/filter-ambiguous-profile.prof
A llvm/test/tools/llvm-profgen/filter-ambiguous-profile.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zstd.test
M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
M llvm/test/tools/llvm-readobj/ELF/program-headers.test
M llvm/test/tools/llvm-readobj/ELF/reloc-types-arm.test
M llvm/test/tools/llvm-readobj/XCOFF/sections.test
M llvm/test/tools/llvm-symbolizer/wasm-basic.s
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
A llvm/test/tools/yaml2obj/XCOFF/dwarf-subsection-types.yaml
M llvm/tools/llc/NewPMDriver.cpp
M llvm/tools/llvm-cov/SourceCoverageView.cpp
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
M llvm/tools/llvm-exegesis/README.md
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
A llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp
A llvm/tools/llvm-exegesis/lib/ValidationEvent.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.h
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/XCOFFDumper.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
M llvm/tools/llvm-shlib/CMakeLists.txt
M llvm/tools/obj2yaml/xcoff2yaml.cpp
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
M llvm/unittests/CodeGen/PassManagerTest.cpp
A llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/MIR/CMakeLists.txt
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Attributes.cpp
M llvm/utils/TableGen/CodeGenRegisters.cpp
M llvm/utils/TableGen/CodeGenRegisters.h
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/count_running_jobs.py
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
A llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/lldbDataFormatters.py
M llvm/utils/release/build_llvm_release.bat
M llvm/utils/release/github-upload-release.py
M llvm/utils/release/test-release.sh
M mlir/CMakeLists.txt
M mlir/docs/BytecodeFormat.md
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/Dialects/OpenACCDialect.md
M mlir/docs/Dialects/emitc.md
M mlir/docs/Interfaces.md
M mlir/docs/LangRef.md
M mlir/docs/PassManagement.md
M mlir/docs/Passes.md
M mlir/docs/SymbolsAndSymbolTables.md
M mlir/docs/Tutorials/Toy/Ch-2.md
M mlir/docs/Tutorials/transform/Ch4.md
A mlir/include/mlir-c/Dialect/Transform/Interpreter.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/include/mlir/Dialect/CMakeLists.txt
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Linalg/Passes.h
M mlir/include/mlir/Dialect/Linalg/Passes.td
A mlir/include/mlir/Dialect/MPI/CMakeLists.txt
A mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/MPI/IR/MPI.h
A mlir/include/mlir/Dialect/MPI/IR/MPI.td
A mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
A mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorInterfaces.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
R mlir/include/mlir/ExecutionEngine/SparseTensor/ErrorHandling.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/DialectBase.td
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/IR/Threading.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
M mlir/include/mlir/TableGen/Dialect.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
A mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
A mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
R mlir/lib/Dialect/GPU/Transforms/SerializeToCubin.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
A mlir/lib/Dialect/MPI/CMakeLists.txt
A mlir/lib/Dialect/MPI/IR/CMakeLists.txt
A mlir/lib/Dialect/MPI/IR/MPI.cpp
A mlir/lib/Dialect/MPI/IR/MPIOps.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
A mlir/lib/Dialect/Mesh/Transforms/TransformsDetail.h
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/StageSparseOperations.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/ExecutionEngine/AsyncRuntime.cpp
M mlir/lib/ExecutionEngine/SparseTensor/File.cpp
M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/IR/Operation.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Support/Timing.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/TableGen/Dialect.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/Plugins/PassPlugin.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
M mlir/python/mlir/dialects/_ods_common.py
M mlir/python/mlir/dialects/arith.py
A mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/CAPI/CMakeLists.txt
M mlir/test/CAPI/llvm.c
A mlir/test/CAPI/transform_interpreter.c
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
A mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/ArmSVE/invalid.mlir
M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
M mlir/test/Dialect/ArmSVE/roundtrip.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
A mlir/test/Dialect/MPI/ops.mlir
A mlir/test/Dialect/Mesh/all-scatter-op-lowering.mlir
M mlir/test/Dialect/Mesh/canonicalization.mlir
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
R mlir/test/Dialect/OpenMP/roundtrip.mlir
M mlir/test/Dialect/SparseTensor/codegen.mlir
M mlir/test/Dialect/SparseTensor/convert_dense2sparse.mlir
M mlir/test/Dialect/SparseTensor/external.mlir
M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
M mlir/test/Dialect/SparseTensor/torch_linalg.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
A mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_binary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_55.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nchw_fchw.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dilated_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_sum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_min.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_strided_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_c32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-store-128-bit-tile.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-multi-tile-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f16f16f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-i8i8i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
A mlir/test/Integration/Dialect/Vector/CPU/test-interleave.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
A mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Transforms/parametric-tiling.mlir
A mlir/test/Transforms/print-op-graph-back-edges.mlir
A mlir/test/Transforms/print-op-graph-cycles.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/Transforms/test-strict-pattern-driver.mlir
M mlir/test/lib/Dialect/Affine/TestDecomposeAffineOps.cpp
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
A mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
A mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
M mlir/test/lib/Dialect/CMakeLists.txt
M mlir/test/lib/Dialect/Linalg/TestLinalgDropUnitDims.cpp
M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
A mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
R mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
M mlir/test/lib/Dialect/Test/TestDialect.td
M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
M mlir/test/lib/IR/TestVisitors.cpp
M mlir/test/lib/Transforms/TestConstantFold.cpp
M mlir/test/lit.cfg.py
M mlir/test/mlir-tblgen/op-python-bindings.td
A mlir/test/python/dialects/transform_interpreter.py
M mlir/test/python/ir/value.py
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/DialectGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/unittests/Bytecode/BytecodeTest.cpp
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
M mlir/unittests/IR/InterfaceAttachmentTest.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/include/Shared/SourceInfo.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
M openmp/libomptarget/src/OffloadRTL.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/exports
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/test/lit.cfg
A openmp/libomptarget/test/mapping/auto_zero_copy_apu.cpp
M openmp/libomptarget/test/offloading/requires.c
A openmp/libomptarget/test/offloading/runtime_init.c
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_settings.cpp
A openmp/runtime/src/z_AIX_asm.S
M openmp/runtime/test/atomic/kmp_atomic_float10_max_min.c
M polly/lib/Exchange/JSONExporter.cpp
M polly/lib/Transform/Canonicalization.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/FlattenSchedule.cpp
M polly/lib/Transform/ForwardOpTree.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
Merge remote-tracking branch 'chapuni/main' into mcdc/tvidx
Compare: https://github.com/llvm/llvm-project/compare/357a69308162...b6c1174a865e
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list