[all-commits] [llvm/llvm-project] 732701: [libc] Implement temporary `printf` on the GPU (#8...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Wed Apr 3 18:24:07 PDT 2024
Branch: refs/heads/users/vitalybuka/spr/main.clangcodegen-remove-simplifycfgpass-preceding-removetrapspass
Home: https://github.com/llvm/llvm-project
Commit: 7327014b49ba0e4c8227edaed569d21d3cc1ec74
https://github.com/llvm/llvm-project/commit/7327014b49ba0e4c8227edaed569d21d3cc1ec74
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/spec/gpu_ext.td
M libc/src/__support/arg_list.h
M libc/src/gpu/CMakeLists.txt
A libc/src/gpu/rpc_fprintf.cpp
A libc/src/gpu/rpc_fprintf.h
M libc/test/integration/src/stdio/CMakeLists.txt
A libc/test/integration/src/stdio/gpu/CMakeLists.txt
A libc/test/integration/src/stdio/gpu/printf.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/rpc_server.cpp
Log Message:
-----------
[libc] Implement temporary `printf` on the GPU (#85331)
Summary:
This patch adds a temporary implementation that uses a struct-based
interface in lieu of varargs support. Once varargs support exists we
will move this implementation to the "real" printf implementation.
Conceptually, this patch has the client copy over its format string and
arguments to the server. The server will then scan the format string
searching for any specifiers that are actually a string. If it is a
string then we will send the pointer back to the server to tell it to
copy it back. This copied value will then replace the pointer when the
final formatting is done.
This will require a built-in extension to the varargs support to get
access to the underlying struct. The varargs used on the GPU will simply
be a struct wrapped in a varargs ABI.
Commit: 5029949952f4dc745dcb7799c7449a02fe8309c3
https://github.com/llvm/llvm-project/commit/5029949952f4dc745dcb7799c7449a02fe8309c3
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-note-gnu-property.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[PAC][llvm-readobj][AArch64][ELF] Support `GNU_PROPERTY_AARCH64_FEATURE_PAUTH` (#85231)
This adds support for `GNU_PROPERTY_AARCH64_FEATURE_PAUTH` feature (as
defined in https://github.com/ARM-software/abi-aa/pull/240) handling in
llvm-readobj and llvm-readelf. The following constants for supported
platforms are also introduced:
- `AARCH64_PAUTH_PLATFORM_INVALID = 0x0`
- `AARCH64_PAUTH_PLATFORM_BAREMETAL = 0x1`
- `AARCH64_PAUTH_PLATFORM_LLVM_LINUX = 0x10000002`
For the llvm_linux platform, output of the tools contains descriptions
of PAuth features which are enabled/disabled depending on the version
value. Version value bits correspond to the following `LangOptions`
defined in #85232:
- bit 0: `PointerAuthIntrinsics`;
- bit 1: `PointerAuthCalls`;
- bit 2: `PointerAuthReturns`;
- bit 3: `PointerAuthAuthTraps`;
- bit 4: `PointerAuthVTPtrAddressDiscrimination`;
- bit 5: `PointerAuthVTPtrTypeDiscrimination`;
- bit 6: `PointerAuthInitFini`.
Support for `.note.AARCH64-PAUTH-ABI-tag` is dropped since it's deleted
from the spec in ARM-software/abi-aa#250.
Commit: 2cf8118e3aa60f406ec41e88bdd4304f39744e89
https://github.com/llvm/llvm-project/commit/2cf8118e3aa60f406ec41e88bdd4304f39744e89
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/src/LibC.cpp
A openmp/libomptarget/test/libc/printf.c
Log Message:
-----------
[Libomptarget] Add RPC-based `printf` implementation for OpenMP (#85638)
Summary:
This patch adds an implementation of `printf` that's provided by the GPU
C library runtime. This `pritnf` currently implemented using the same
wrapper handling that OpenMP sets up. This will be removed once we have
proper varargs support.
This `printf` differs from the one CUDA offers in that it is synchronous
and uses a finite size. Additionally we support pretty much every format
specifier except the `%n` option.
Depends on https://github.com/llvm/llvm-project/pull/85331
Commit: a7f4576ff4e296ff42b16d9d91aadf82b5ea325c
https://github.com/llvm/llvm-project/commit/a7f4576ff4e296ff42b16d9d91aadf82b5ea325c
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression in annotating TrailingReturnArrow (#86624)
Fixes #86559.
Commit: e381586f259568bf244fcd857ce91fc5cb38b959
https://github.com/llvm/llvm-project/commit/e381586f259568bf244fcd857ce91fc5cb38b959
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M libc/src/__support/macros/config.h
Log Message:
-----------
[libc] Work around lack of '__has_builtin' for GPU server (#87417)
Summary:
The RPC server build for the GPU support needs to be build from the
"projects" phase of the LLVM build. That means it is built with the same
compile that LLVM supports, which currently is GCC 7.4 in most cases.
A previous patch removed the `LIBC_HAS_BUILTIN` indirection we used,
which regressed the case where we used the `libc` source externally. The
files that we need to use here are `converter.cpp` and `writer.cpp`
which currently are compatible with C++17, so there aren't issues with
the code itself. However, older GCC does not have this builtin which
makes the checks fail.
This patch just adds in a simple wrapper that allows it to correctly
ignore everything if using a compiler that doesn't support it.
Commit: 68217a52fb9fec8a88623f97a90899b8d27eefb3
https://github.com/llvm/llvm-project/commit/68217a52fb9fec8a88623f97a90899b8d27eefb3
Author: Haowei <haowei at google.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M clang/cmake/caches/Fuchsia.cmake
Log Message:
-----------
[Fuchsia] Add SWIG flags to Fuchsia Clang stage2 build (#87421)
This patch adds SWIG cmake flags to the stage2 build in Fuchsia
Clang configuration.
Commit: b4adb42151bbfa80be4cf6d076cbe5edf680693e
https://github.com/llvm/llvm-project/commit/b4adb42151bbfa80be4cf6d076cbe5edf680693e
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M clang/lib/Tooling/CMakeLists.txt
Log Message:
-----------
Use setup_host_tool for clang-ast-dump, fixes 76707
Commit: 633bc3bfda71c55bc38d5a3bfdb426bab61ff101
https://github.com/llvm/llvm-project/commit/633bc3bfda71c55bc38d5a3bfdb426bab61ff101
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
Log Message:
-----------
[CodeGen][NFC] Make an opt<> static
Commit: 12c7371296e59c22debdd906f632c5e6574e3a44
https://github.com/llvm/llvm-project/commit/12c7371296e59c22debdd906f632c5e6574e3a44
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/DSInstructions.td
Log Message:
-----------
AMDGPU: Use PseudoInstr instead of Pseudo Mnemonic for SIMCInstr, NFC (#87420)
Pseudo Mnemonic could be of other uses.
Commit: 84ae8cb4af9abafe9f45e69744607aadb38d649a
https://github.com/llvm/llvm-project/commit/84ae8cb4af9abafe9f45e69744607aadb38d649a
Author: Jan Kokemüller <jan.kokemueller at gmail.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M libcxx/include/__iterator/advance.h
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] `std::ranges::advance`: avoid unneeded bounds checks when advancing iterator (#84126)
Currently, the bounds check in `std::ranges::advance(it, n, s)` is done
_before_ `n` is checked. This results in one extra, unneeded bounds
check.
Thus, `std::ranges::advance(it, 1, s)` currently is _not_ simply
equivalent to:
```c++
if (it != s) {
++it;
}
```
This difference in behavior matters when the check involves some
"expensive" logic. For example, the `==` operator of
`std::istreambuf_iterator` may actually have to read the underlying
`streambuf`.
Swapping around the checks in the `while` results in the expected
behavior.
Commit: e61d6b74ddf28df196484f6251271f543ae902ab
https://github.com/llvm/llvm-project/commit/e61d6b74ddf28df196484f6251271f543ae902ab
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M lldb/include/lldb/lldb-private-enumerations.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
Log Message:
-----------
[lldb][SymbolFileDWARFDebugMap] Introduce enum to indicate whether to continue iteration of object files (#87344)
This patch introduces a new `IterationMarker` enum (happy to take
alternative name suggestions), which callbacks, like the one in
`SymbolFileDWARFDebugMap::ForEachSymbolFile`, can return in order to
indicate whether the caller should continue iterating or bail.
For now this patch just changes the `ForEachSymbolFile` callback to use
this new enum. In the future we could change the various
`DWARFIndex::GetXXX` callbacks to do the same.
This makes the callbacks easier to read and hopefully reduces the chance
of bugs like https://github.com/llvm/llvm-project/pull/87177.
Commit: 0a94d35bfb81cb0bef60ebe60513d191661da0bd
https://github.com/llvm/llvm-project/commit/0a94d35bfb81cb0bef60ebe60513d191661da0bd
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Fix tosa-infer-shapes crash (#87234)
The tosa-infer-shapes pass inserts tensor.cast operations to mediate
refined result types with consumers whose types cannot be refined. This
process interferes with how types are refined in tosa.while_loop body
regions, where types are propagated speculatively (to determine the
types of the tosa.yield terminator) and then reverted.
The new tosa.cast operations result in a crash due to not having types
associated to them for the reversion process.
This change modifies the shape propagation behavior so that the
introduction to tensor.cast operations behaves better with this type
reversion process. The new behavior is to only introduce tensor.cast
operations once we wish to commit the newly computed types to the IR.
This is an example causing the crash:
```mlir
func.func @while_dont_crash(%arg0 : tensor<i32>) -> (tensor<*xi32>) {
%0 = tosa.add %arg0, %arg0 : (tensor<i32>, tensor<i32>) -> tensor<*xi32>
%1 = tosa.while_loop (%arg1 = %0) : (tensor<*xi32>) -> tensor<*xi32> {
%2 = "tosa.const"() <{value = dense<3> : tensor<i32>}> : () -> tensor<i32>
%3 = tosa.greater_equal %2, %arg1 : (tensor<i32>, tensor<*xi32>) -> tensor<*xi1>
tosa.yield %3 : tensor<*xi1>
} do {
^bb0(%arg1: tensor<*xi32>):
// Inferrable operation whose type will refine to tensor<i32>
%3 = tosa.add %arg1, %arg1 : (tensor<*xi32>, tensor<*xi32>) -> tensor<*xi32>
// Non-inferrable use site, will require the cast:
// tensor.cast %3 : tensor<i32> to tensor<*xi32>
//
// The new cast operation will result in accessing undefined memory through
// originalTypeMap in the C++ code.
"use"(%3) : (tensor<*xi32>) -> ()
tosa.yield %3 : tensor<*xi32>
}
return %1 : tensor<*xi32>
}
```
The `tensor.cast` operation inserted in the loop body causes a failure
in the code which resets the types after propagation through the loop
body:
```c++
// The types inferred in the block assume the operand types specified for
// this iteration. We need to restore the original types to ensure that
// future iterations only use the already specified types, not possible
// types from previous iterations.
for (auto &block : bodyRegion) {
for (auto arg : block.getArguments())
arg.setType(originalTypeMap[arg]);
for (auto &op : block)
for (auto result : op.getResults())
result.setType(originalTypeMap[result]); // problematic access
}
```
---------
Co-authored-by: Spenser Bauman <sabauma at fastmail>
Commit: 0492e1e79568eaad3b693b4c1031139437b7e3f8
https://github.com/llvm/llvm-project/commit/0492e1e79568eaad3b693b4c1031139437b7e3f8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M libc/src/stdio/printf_core/core_structs.h
Log Message:
-----------
[libc] Include 'config.h' from the printf structs for builtins
Commit: c45861f4375c0c4525f14db00062a8e4bc00065c
https://github.com/llvm/llvm-project/commit/c45861f4375c0c4525f14db00062a8e4bc00065c
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-note-gnu-property.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
Revert "[PAC][llvm-readobj][AArch64][ELF] Support `GNU_PROPERTY_AARCH64_FEATURE_PAUTH`" (#87434)
Reverts llvm/llvm-project#85231
See build failure
https://lab.llvm.org/buildbot/#/builders/186/builds/15631
Commit: 04dbf7ad44dbe099f8265ad1db38cbf9a0767a82
https://github.com/llvm/llvm-project/commit/04dbf7ad44dbe099f8265ad1db38cbf9a0767a82
Author: A. Jiang <de34 at live.cn>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/ranges_contains_subrange.h
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains_subrange.pass.cpp
Log Message:
-----------
[libc++][ranges] Avoid using `distance` in `ranges::contains_subrange` (#87155)
Both `std::distance` or `ranges::distance` are inefficient for
non-sized ranges. Also, calculating the range using `int` type is
seriously problematic.
This patch avoids using `distance` and calculation of the length of
non-sized ranges.
Fixes #86833.
Commit: ea4a11926b53be5d308a8b40eb7353d3f59eb5f5
https://github.com/llvm/llvm-project/commit/ea4a11926b53be5d308a8b40eb7353d3f59eb5f5
Author: Ryotaro KASUGA <kasuga.ryotaro at fujitsu.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
A llvm/test/CodeGen/AArch64/sms-regpress.mir
M llvm/test/CodeGen/PowerPC/sms-regpress.mir
Log Message:
-----------
Reapply "[CodeGen] Fix register pressure computation in MachinePipeli… (#87312)
…ner (#87030)"
Fix broken test.
This reverts commit b8ead2198f27924f91b90b6c104c1234ccc8972e.
Commit: 3ae5c77e976c02ce9e575870e4316af51fe97075
https://github.com/llvm/llvm-project/commit/3ae5c77e976c02ce9e575870e4316af51fe97075
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M libc/src/stdio/printf_core/core_structs.h
Log Message:
-----------
[libc] Move include so it covers the other files
Summary:
This is more hacky, but I want to get the bot green before we work on a
better solution.
Commit: a27d886ce4cc8be8f67a8331c400d6fe2a273ebd
https://github.com/llvm/llvm-project/commit/a27d886ce4cc8be8f67a8331c400d6fe2a273ebd
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/SparseTensor/one_shot_bufferize_tensor_copy_insertion.mlir
Log Message:
-----------
[mlir][linalg][bufferize] Fix element-wise access optimization for sparse tensors (#87305)
`linalg.generic` ops with sparse tensors do not necessarily bufferize to
element-wise access, because insertions into a sparse tensor may change
the layout of (or reallocate) the underlying sparse data structures.
Commit: 3b19cd7f80d8464d5f1bd8b2a0adf925d10556c4
https://github.com/llvm/llvm-project/commit/3b19cd7f80d8464d5f1bd8b2a0adf925d10556c4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Slightly simplify RVVArgDispatcher::constructArgInfos. NFC (#87308)
Use a single insert for the non-mask case instead of a push_back
followed by an insert that may contain 0 registers.
Commit: c925c1646dd248d15ae93c6b3cbd04bb86b9775f
https://github.com/llvm/llvm-project/commit/c925c1646dd248d15ae93c6b3cbd04bb86b9775f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] NFCI: Pragma diagnostic mappings: write/read `FileID` instead of `SourceLocation` (#87427)
For pragma diagnostic mappings, we always write/read `SourceLocation`
with offset 0. This is equivalent to just writing a `FileID`, which is
exactly what this patch starts doing.
Originally reviewed here: https://reviews.llvm.org/D137213
Commit: 01e227487f4674e2627d3db4f357ee83fa04c7d6
https://github.com/llvm/llvm-project/commit/01e227487f4674e2627d3db4f357ee83fa04c7d6
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/gnu-ifunc-nonpreemptible.s
R lld/test/ELF/gnu-ifunc-relative.s
Log Message:
-----------
[ELF] Sort IRELATIVE by offset
Improve the test gnu-ifunc-nonpreemptible.s to check IRELATIVE offsets.
Ensure that IRELATIVE offsets are ordered to improve locality.
Commit: 943f39d29e1ec0d005977e6c3e85390119b8cb4e
https://github.com/llvm/llvm-project/commit/943f39d29e1ec0d005977e6c3e85390119b8cb4e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/src/LibC.cpp
R openmp/libomptarget/test/libc/printf.c
Log Message:
-----------
Revert "[Libomptarget] Add RPC-based `printf` implementation for OpenMP (#85638)"
This reverts commit 2cf8118e3aa60f406ec41e88bdd4304f39744e89.
Failing tests, revert until I can fix it
Commit: 8b859c6e4a8e9ab9969582267bbdc04ed6bfa535
https://github.com/llvm/llvm-project/commit/8b859c6e4a8e9ab9969582267bbdc04ed6bfa535
Author: Cinhi Young <cyanoxygen2725 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
M llvm/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt
M llvm/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
M llvm/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt
M llvm/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
Log Message:
-----------
[MIPS] Fix the opcode of max.fmt and mina.fmt (#85609)
- The opcode of the mina.fmt and max.fmt is documented wrong, the
object code compiled from the same assembly with LLVM behaves
differently than one compiled with GCC and Binutils.
- Modify the opcodes to match Binutils. The actual opcodes are as
follows:
{5,3} | bits {2,0} of func
| ... | 100 | 101 | 110 | 111
-----+-----+-----+-----+-----+-----
010 | ... | min | mina | max | maxa
Commit: 2fb5440e76dd61f91006d9d2831cf5c9235cd109
https://github.com/llvm/llvm-project/commit/2fb5440e76dd61f91006d9d2831cf5c9235cd109
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M libc/docs/math/index.rst
Log Message:
-----------
[libc] Re-organize the math function tables in docs (#87412)
Re-organizes the tables that listed libc's support for math functions,
and adds two new columns to the tables indicating where the respective
function definitions and error handling methods are located in the C23
standard draft WG14-N3096.
Commit: 93c16e75b8935f6a3f5f39301007f9a42a1f7da1
https://github.com/llvm/llvm-project/commit/93c16e75b8935f6a3f5f39301007f9a42a1f7da1
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/gnu-ifunc-nonpreemptible.s
Log Message:
-----------
[ELF] Actually sort IRELATIVE by offset
The unstable partition in partitionRels might reverse IRELATIVE
relocations, so stable_partition in computeRels would lead to IRELATIVE
relocations ordered by decreasing offset. Use stable_partition in
partitionRels to get IRELATIVE relocations ordered by increasing offset.
Commit: 986435c765eb6101e8a31faa7c53ec28260c6ad2
https://github.com/llvm/llvm-project/commit/986435c765eb6101e8a31faa7c53ec28260c6ad2
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M libc/docs/math/index.rst
Log Message:
-----------
[libc] Move {f,d}sqrt to higher functions in docs (#87445)
Moves the functions `fsqrt()` and `dsqrt()` from basic functions to
higher math functions in math docs
Commit: ed1cfffe9b2b2d3cc9279ff83400ace156b317a2
https://github.com/llvm/llvm-project/commit/ed1cfffe9b2b2d3cc9279ff83400ace156b317a2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Serialization/GeneratePCH.cpp
A clang/test/Modules/reduced-bmi-size.cppm
Log Message:
-----------
[NFC] [C++20] [Modules] [Reduced BMI] Make sure the size of reduced BMI is not large than full BMI
Before this patch, the size of the reduced BMI may be large than the
full BMI when the source codes is pretty small. This violates the design
principles. The root cause is an oversight that we skipped something
in full BMI but forgot to make it in reduced BMI.
Commit: 83402c301982dc672e8996e1a33e7c4abf109044
https://github.com/llvm/llvm-project/commit/83402c301982dc672e8996e1a33e7c4abf109044
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
A llvm/test/tools/dsymutil/ARM/firmware.test
A llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.o
A llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.out
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
Log Message:
-----------
[dsymutil] Support generating dSYMs for firmware environments (#87432)
Support generating dSYM companion files for (non-Darwin) firmware
environments by considering the binary component of the triple in
addition to the OS component.
rdar://125629792
Commit: 324436c29ffd14bcf96c94500d5e43391f2b1e51
https://github.com/llvm/llvm-project/commit/324436c29ffd14bcf96c94500d5e43391f2b1e51
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/test/Sema/code_align.c
Log Message:
-----------
[Clang] Fix bugs the way we handle duplicate vs conflicting values with loop attribute 'code_align' (#87372)
https://github.com/llvm/llvm-project/pull/70762 added support for new
loop attribute [[clang::code_align()]].
This patch fixes bugs for the test cases below that misses diagnostics due to discontinue to while loop during checking duplicate vs conflicting code_align attribute values in routine CheckForDuplicateLoopAttrs().
[[clang::code_align(4)]]
[[clang::code_align(4)]]
[[clang::code_align(8)]]
for(int I=0; I<128; ++I) { bar(I); }
[[clang::code_align(4)]]
[[clang::code_align(4)]]
[[clang::code_align(8)]]
[[clang::code_align(32)]]
for(int I=0; I<128; ++I) { bar(I); }
Commit: 2b86fb21f8402f19da7e5887a9572b3d55052991
https://github.com/llvm/llvm-project/commit/2b86fb21f8402f19da7e5887a9572b3d55052991
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M flang/include/flang/Common/api-attrs.h
M flang/runtime/descriptor-io.h
M flang/runtime/edit-output.cpp
M flang/runtime/emit-encoded.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
Log Message:
-----------
[flang][runtime] Avoid recursive calls in F18 runtime CUDA build. (#87428)
Recurrencies in the call graph (even if they are not executed)
prevent computing the minimal stack size required for a kernel
execution. This change disables some functionality of F18 IO
to avoid recursive calls. A couple of functions are rewritten
to work without using recursion.
Commit: de3e05ecb22473fe9904272ec3511ad1fd62d8d0
https://github.com/llvm/llvm-project/commit/de3e05ecb22473fe9904272ec3511ad1fd62d8d0
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-04-02 (Tue, 02 Apr 2024)
Changed paths:
M llvm/test/Transforms/PGOProfile/vtable_profile.ll
Log Message:
-----------
[nfc]Remove the check for compressed strings in llvm/test/.../vtable_profile.ll (#87449)
The check for compressed string is too restrictive (e.g. broke downstream users) and doesn't add much value to the test. Removed it.
Commit: 4ef22fce8208b9fc08da60c5e4f014ca09811b96
https://github.com/llvm/llvm-project/commit/4ef22fce8208b9fc08da60c5e4f014ca09811b96
Author: hanbeom <kese111 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Simplify select if it combinated and/or/xor (#73362)
`and/or/xor` operations can each be changed to sum of logical
operations including operators other than themselves.
`x&y -> (x|y) ^ (x^y)`
`x|y -> (x&y) | (x^y)`
`x^y -> (x|y) ^ (x&y)`
if left of condition of `SelectInst` is `and/or/xor` logical
operation and right is equal to `0, -1`, or a `constant`, and
if `TrueVal` consist of `and/or/xor` logical operation then we
can optimize this case.
This patch implements this combination.
Proof: https://alive2.llvm.org/ce/z/WW8iRR
Fixes https://github.com/llvm/llvm-project/issues/71792.
Commit: 7edddee2aa6a6183e40784c9141afec3e2eabb95
https://github.com/llvm/llvm-project/commit/7edddee2aa6a6183e40784c9141afec3e2eabb95
Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptoui129.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll
Log Message:
-----------
[ExpandLargeFpConvert] Scalarize vector types. (#86954)
expand-large-fp-convert cannot handle vector types.
If overly large vector element types survive into
isel, they will likely be scalarized there, but since
isel cannot handle scalar integer types of that size,
it will assert.
Handle vector types in expand-large-fp-convert by
scalarizing them and then expanding the scalar type
operation. For large vectors, this results in a
*massive* code expansion, but it's better than
asserting.
Commit: a75b3e949da588bafd521eff6d265f3ea2f854c2
https://github.com/llvm/llvm-project/commit/a75b3e949da588bafd521eff6d265f3ea2f854c2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [Serialization] Extract logics to write decls and types into a standalone function
This patch extract logics in ASTWriter::WriteASTCore about writing decls
and types into a standalone function. The WriteASTCore function is
pretty long and hard to read. It should be helpful for readability to extract the common
logics into a standalone function.
This is also helpful for further changes e.g., removing unreachable
declarations.
Commit: 468dc32ff55d19f55132cbcc4d6ceb1f6d1c12cf
https://github.com/llvm/llvm-project/commit/468dc32ff55d19f55132cbcc4d6ceb1f6d1c12cf
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/AST/DeclBase.cpp
Log Message:
-----------
[NFC] Make `DeclContext::noload_lookup()` accept transparent context
Now the `DeclContext::noload_lookup()` asserts that 'this' is not a
transparent context. However, this is not consistent with
`DeclContext::lookup()`, which will lookup into its parent context if
'this' is a transparent context.
This patch makes the behavior of `DeclContext::noload_lookup()` to be
consistent with `DeclContext::lookup()`, to lookup into the parent
context if 'this' is a transparent context.
Commit: 4b25053ae47f50095371a663391baadfd2694eb0
https://github.com/llvm/llvm-project/commit/4b25053ae47f50095371a663391baadfd2694eb0
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.h
A clang/test/Misc/win32-elf.c
Log Message:
-----------
[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format (#87149)
We have many problems to use CodeView for a win32-elf target, e.g.,
#87140 and `error: .seh_* directives are not supported on this target`.
Fixes: #87140
Commit: 6288f36c1640ee1f50fe35e07a97c50355066f27
https://github.com/llvm/llvm-project/commit/6288f36c1640ee1f50fe35e07a97c50355066f27
Author: David Green <david.green at arm.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/sadd_sat.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ssub_sat.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
Log Message:
-----------
[AArch64][GlobalISel] Basic add_sat and sub_sat vector handling. (#80650)
This tries to fill in the basic vector handling for sadd_sat/uadd_sat
and ssub_sat/usub_sat. It just handles the basics, marking legal types
and clamping illegally sized vectors to legal ones.
Commit: cd7517859eef14d8b38cec2d52c0625a58c645a2
https://github.com/llvm/llvm-project/commit/cd7517859eef14d8b38cec2d52c0625a58c645a2
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.h
R clang/test/Misc/win32-elf.c
Log Message:
-----------
Revert "[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format (#87149)"
This reverts commit 4b25053ae47f50095371a663391baadfd2694eb0.
There're failures in some target.
Commit: 4dd103e9c65de7d3dbf12e76fbb72724127ec325
https://github.com/llvm/llvm-project/commit/4dd103e9c65de7d3dbf12e76fbb72724127ec325
Author: Elizaveta Noskova <159026035+enoskova-sc at users.noreply.github.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/ShrinkWrap.cpp
Log Message:
-----------
[CodeGen][ShrinkWrap] Clarify StackAddressUsedBlockInfo meaning (#80679)
Commit: 72c29fa9e226a928b3d3a01d74f6b44a0b31b7d4
https://github.com/llvm/llvm-project/commit/72c29fa9e226a928b3d3a01d74f6b44a0b31b7d4
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/module-output.cppm
Log Message:
-----------
[C++20] [Modules] [Driver] Emit unused argument warning if we use '-fmodule-output' with non-module input
We required the file name of an 'importable module unit' should end
with .cppm (or .ccm, .cxxm, .c++m).
But the driver can accept '-fmodule-output' for files with normal
suffixes (e.g., .cpp). This is somewhat inconsistency.
In this patch, we only claim the option `-fmodule-output` is used if
the type of the input file is modules related. Then now the compiler
will emit 'unused argument' warnings if the input file is not modules
related.
Commit: 37eb0d4948dad6d2399915fde6eb5800c3fe825b
https://github.com/llvm/llvm-project/commit/37eb0d4948dad6d2399915fde6eb5800c3fe825b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/Serialization/GeneratePCH.cpp
Log Message:
-----------
[NFC] Check the nullness of pointer before dereference it in the assertion
This was part of https://github.com/llvm/llvm-project/pull/85050.
It is suggested to split the unrelated change as much as possible. So
here is the patch.
Commit: e5abd963c758bcfa1380d688bec31dddc834a2dd
https://github.com/llvm/llvm-project/commit/e5abd963c758bcfa1380d688bec31dddc834a2dd
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove VPTransformState::addMetadata with ArrayRef arg (NFCI).
addMeadata is only over called with a single element, clean up the
variant that takes multiple values.
Commit: 29c7d1a60c9d45e82f08cd7487178846ed5f9c6d
https://github.com/llvm/llvm-project/commit/29c7d1a60c9d45e82f08cd7487178846ed5f9c6d
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/legalize-vaarg.ll
Log Message:
-----------
[PPC] [NFC] add testcase for more store forwarding
Commit: 7c7ce0b9b1cef51e24f2dc7e904a8adf6aaf1abf
https://github.com/llvm/llvm-project/commit/7c7ce0b9b1cef51e24f2dc7e904a8adf6aaf1abf
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Remove useless aliases for FLAT instructions. NFC. (#87462)
We were generating "" (the empty string) as an alias for a bunch of FLAT
instructions, which had no effect except to cause tablegen to generate
some very long if-else chains in the generate AsmMatcher.
Commit: e05c1b46d0d3739cc48ad912dbe6e9affce05927
https://github.com/llvm/llvm-project/commit/e05c1b46d0d3739cc48ad912dbe6e9affce05927
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
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/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
A clang/include/clang/ExtractAPI/APIRecords.inc
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIActionBase.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/FrontendActions.h
A clang/include/clang/ExtractAPI/Serialization/APISetVisitor.h
R clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/bool.c
M clang/test/ExtractAPI/bool.cpp
M clang/test/ExtractAPI/class.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/constructor_destructor.cpp
M clang/test/ExtractAPI/conversions.cpp
M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
M clang/test/ExtractAPI/enum.c
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/function_noexcepts.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_record.c
M clang/test/ExtractAPI/global_record_multifile.c
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/known_files_only.c
M clang/test/ExtractAPI/language.c
M clang/test/ExtractAPI/macro_undefined.c
M clang/test/ExtractAPI/macros.c
A clang/test/ExtractAPI/metadata_and_module.c
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/multiple_inheritance.cpp
M clang/test/ExtractAPI/namespace.cpp
M clang/test/ExtractAPI/nested_namespaces.cpp
M clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/objc_category.m
A clang/test/ExtractAPI/objc_external_category.m
M clang/test/ExtractAPI/objc_id_protocol.m
M clang/test/ExtractAPI/objc_instancetype.m
M clang/test/ExtractAPI/objc_interface.m
R clang/test/ExtractAPI/objc_module_category.m
M clang/test/ExtractAPI/objc_property.m
M clang/test/ExtractAPI/objc_protocol.m
R clang/test/ExtractAPI/objc_various_categories.m
M clang/test/ExtractAPI/operator_overload.cpp
M clang/test/ExtractAPI/relative_include.m
M clang/test/ExtractAPI/simple_inheritance.cpp
M clang/test/ExtractAPI/struct.c
M clang/test/ExtractAPI/typedef.c
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/ExtractAPI/typedef_chain.c
M clang/test/ExtractAPI/typedef_struct_enum.c
M clang/test/ExtractAPI/underscored.c
M clang/test/ExtractAPI/union.c
M clang/test/ExtractAPI/vfs_redirected_include.m
M clang/test/Index/extract-api-cursor.m
M clang/tools/libclang/CXExtractAPI.cpp
Log Message:
-----------
Reenable external categories (#87357)
Reenables b31414bf4f9898f7817a9fcf8a91f62ec26f3eaf.
Also adds a new warning for missing `--symbol-graph-dir` arg when
`--emit-extension-symbol-graphs` is provided. This also reverts the
commit that removed.
Commit: bf1df250487584ec77b0ab567cd3cca5c2863270
https://github.com/llvm/llvm-project/commit/bf1df250487584ec77b0ab567cd3cca5c2863270
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Use isValidElementType instead of (#87469)
FixedVectorType::isValidElementType for consistency.
Commit: ca48d4dfd3148d83f9a74737f08174f16177200f
https://github.com/llvm/llvm-project/commit/ca48d4dfd3148d83f9a74737f08174f16177200f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libcxx/include/__random/seed_seq.h
A libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.mandates.verify.cpp
Log Message:
-----------
[libc++] Add a static_assert for a Mandates in seed_seq (#86992)
Fixes #84843
Commit: d1f585056f71bc63bd2e71d744051139809e5d8b
https://github.com/llvm/llvm-project/commit/d1f585056f71bc63bd2e71d744051139809e5d8b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
Log Message:
-----------
[libc++] Fix tests on musl (#85085) (#86934)
One or two of the tests need slight tweaks to make them pass when
building with musl.
This patch is a re-application of b61fb18 which was reverted in 0847c90
because it broke the build.
rdar://118885724
Co-authored-by: Alastair Houghton <ahoughton at apple.com>
Commit: d0dcf06ab8723cc4358ad446354cce875dd89577
https://github.com/llvm/llvm-project/commit/d0dcf06ab8723cc4358ad446354cce875dd89577
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Port for e05c1b46d0d3739cc48ad912dbe6e9affce05927.
Commit: 1f268092c7af20c21d4a594678b647cab050602a
https://github.com/llvm/llvm-project/commit/1f268092c7af20c21d4a594678b647cab050602a
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/subscript.mlir
Log Message:
-----------
[mlir][EmitC] Add support for pointer and opaque types to subscript op (#86266)
For pointer types the indices are restricted to one integer-like
operand.
For opaque types no further restrictions are made.
Commit: 956b47b48616148c15f8f95d76d5e0c215fe095c
https://github.com/llvm/llvm-project/commit/956b47b48616148c15f8f95d76d5e0c215fe095c
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGenCXX/x86_32-vaarg.cpp
Log Message:
-----------
[X86_32] Teach X86_32 va_arg to ignore empty structs. (#86075)
Empty structs are ignored for parameter passing purposes, but va_arg was
incrementing the pointer anyway for that the size of empty struct in c++
is 1 byte, which could lead to va_list getting out of sync. Fix #86057.
Commit: 0356d0cfdc5cc7173533c2ad6c2ea8ad342f1acc
https://github.com/llvm/llvm-project/commit/0356d0cfdc5cc7173533c2ad6c2ea8ad342f1acc
Author: Gleb Popov <6yearold at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/X86/AppendingLinkage.ll
Log Message:
-----------
Print more descriptive error message when trying to link a global with appending linkage (#69613)
This is a proper fix for https://github.com/llvm/llvm-project/issues/40308
Commit: 5c1544c95394b79b377c7137ac34e3e63b6d5ee5
https://github.com/llvm/llvm-project/commit/5c1544c95394b79b377c7137ac34e3e63b6d5ee5
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/include/llvm/Object/WindowsMachineFlag.h
M llvm/lib/Object/COFFObjectFile.cpp
M llvm/lib/Object/WindowsResource.cpp
Log Message:
-----------
[Object][COFF][NFC] Introduce getMachineArchType helper. (#87370)
It's a common pattern that we have a machine type, but we don't care
which ARM64* platform we're dealing with. We already have
isAnyArm64 for that, but it does not fit cases where we use a switch
statement. With this helper, it's easy to simplify such cases by using
Triple::ArchType instead of machine type.
Commit: 51107be7dd7f83a107b9c35c39b16081e38f7a54
https://github.com/llvm/llvm-project/commit/51107be7dd7f83a107b9c35c39b16081e38f7a54
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/lib/Target/X86/X86SchedSkylakeClient.td
M llvm/lib/Target/X86/X86SchedSkylakeServer.td
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
Log Message:
-----------
[X86] Haswell/Broadwell/Skylake DPPS folded instructions use an extra port06 resource
This is an extension to 07151f0241d3f893cb36eb2dbc395d4098f74a87 which handled SandyBridge so we at least model the regression identified in #14640
Confirmed by Agner + uops.info/uica (SkylakeServer also had an incorrect use of Port015 instead of just Port01)
I raised #86669 as a proposal for a 'x86 unfold' pass that can unfold these (if we have the free registers) driven by the scheduler model.
Commit: 52b18430ae105566f26152c0efc63998301b1134
https://github.com/llvm/llvm-project/commit/52b18430ae105566f26152c0efc63998301b1134
Author: AinsleySnow <772571228 at qq.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
Log Message:
-----------
[VP][DAGCombine] Use `simplifySelect` when combining vp.select. (#87342)
Hi all,
This patch is a follow-up of #79101. It migrates logic from
`visitVSELECT` to `visitVP_SELECT` to simplify `vp.select`. With this
patch we can do the following combinations:
```
vp.select undef, T, F --> T (if T is a constant), F otherwise
vp.select <condition>, undef, F --> F
vp.select <condition>, T, undef --> T
vp.select false, T, F --> F
vp.select <condition>, T, T --> T
```
I'm a total newbie to llvm and I'm sure there's room for improvements in
this patch. Please let me know if you have any advice. Thank you in
advance!
Commit: 98244c4e2acafb7568e8337088c6caaaffcb7831
https://github.com/llvm/llvm-project/commit/98244c4e2acafb7568e8337088c6caaaffcb7831
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libcxx/include/typeinfo
M libcxx/src/include/overridable_function.h
M libcxxabi/src/private_typeinfo.cpp
Log Message:
-----------
[libc++] Upstream ptrauth support in libc++ and libc++abi (#84573)
This is an exact upstreaming of the downstream diff. Minor
simplifications can be made in the future but upstreaming as-is will
make it easier for us to deal with downstream merge conflicts.
Partially fixes #83805
Commit: b699a9ba112cd9fc861eccfcdd2a7c9886423bde
https://github.com/llvm/llvm-project/commit/b699a9ba112cd9fc861eccfcdd2a7c9886423bde
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Update status page after the Tokyo meeting (#87395)
Commit: 399ff08e29de4f2bbcfd47f87bb1795ba3a4e091
https://github.com/llvm/llvm-project/commit/399ff08e29de4f2bbcfd47f87bb1795ba3a4e091
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
Log Message:
-----------
[LV] Precommit tests with any-of reductions and epilogue vectorization.
Test case for failures from
https://lab.llvm.org/buildbot/#/builders/74/builds/26697
caused the revert of 95fef1d in 589c7ab.
Commit: 2bf7ddf06f773277fcfef58a3cd8c32a161ce36a
https://github.com/llvm/llvm-project/commit/2bf7ddf06f773277fcfef58a3cd8c32a161ce36a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
A llvm/test/CodeGen/X86/vector-trunc-nowrap.ll
Log Message:
-----------
[X86] Add vector truncation tests for nsw/nuw flags
Based off #85592 - our truncation -> PACKSS/PACKUS folds should be able to use the nsw/nuw flags to recognise when we don't need to mask/sext_inreg prior to the PACKSS/PACKUS nodes.
Commit: 7ec87c473936245ea11f8bb64c936e5112f25e6a
https://github.com/llvm/llvm-project/commit/7ec87c473936245ea11f8bb64c936e5112f25e6a
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/HLFIR/procedure-pointer-component-default-init.f90
Log Message:
-----------
[Flang] Support for procedure pointer component default initialization. (#87356)
This PR is to address `TODO(loc, "procedure pointer component default
initialization");`.
It handles default init for procedure pointer components in a derived
type that is 32 bytes or larger (Default init for smaller size type has
already been handled).
```
interface
subroutine sub()
end
end interface
type dt
real :: r1 = 5.0
procedure(real), pointer, nopass :: pp1 => null()
real, pointer :: rp1 => null()
procedure(), pointer, nopass :: pp2 => sub
end type
type(dt) :: dd1
end
```
Commit: a2acf3132334e3131ec584c2c54ec5ba2214e074
https://github.com/llvm/llvm-project/commit/a2acf3132334e3131ec584c2c54ec5ba2214e074
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/DLTI/DLTI.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[MLIR] Add endianness accessors to the data layout (#87347)
This commit extends the data layout subsystem with accessors for the
endianness. The implementation follows the structure implemented for
alloca, global, and program memory spaces.
Commit: 450f1952aced87584a53485d1ba1c2f77c3835a1
https://github.com/llvm/llvm-project/commit/450f1952aced87584a53485d1ba1c2f77c3835a1
Author: Axel Lundberg <19574357+Zonotora at users.noreply.github.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/Basic/Sanitizers.def
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/ubsan-bitfield-conversion.c
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
Log Message:
-----------
[clang][UBSan] Add implicit conversion check for bitfields (#75481)
This patch implements the implicit truncation and implicit sign change
checks for bitfields using UBSan. E.g.,
`-fsanitize=implicit-bitfield-truncation` and
`-fsanitize=implicit-bitfield-sign-change`.
Commit: 5ac22600ed7caf907b740932fac191778d67a9d0
https://github.com/llvm/llvm-project/commit/5ac22600ed7caf907b740932fac191778d67a9d0
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/test/Lower/AMD/code-object-version.f90
Log Message:
-----------
[Flang][AMDGPU] Change default AMDHSA Code Object version to 5 (#87464)
This is a follow-up of PR:
https://github.com/llvm/llvm-project/pull/79038
Commit: 95f9b083d083c4873d9f2c62271518c0fcd1ce52
https://github.com/llvm/llvm-project/commit/95f9b083d083c4873d9f2c62271518c0fcd1ce52
Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][EmitC] Fix examples in op descriptions (#87478)
- Remove trailing type from value attributes as emitc.opaque attributes
are untyped.
- Replace invalid trailing * in opaque type by wrapping it into an
!emitc.ptr.
Commit: e329b68413cd63e03780e1e170ffe53c5edaeea3
https://github.com/llvm/llvm-project/commit/e329b68413cd63e03780e1e170ffe53c5edaeea3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Factor out logic to check if recipe is dead (NFCI).
In preparation to use the helper in more places.
Commit: 4d34b3295f005f739e431f379ef02da7eac75688
https://github.com/llvm/llvm-project/commit/4d34b3295f005f739e431f379ef02da7eac75688
Author: Fanbo Meng <fanbo.meng at ibm.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M third-party/benchmark/src/cycleclock.h
M third-party/benchmark/src/internal_macros.h
Log Message:
-----------
[SystemZ][z/OS] Remove COMPILER_IBMXL macro for z/OS (#87493)
This copies the change made in google benchmark
(https://github.com/google/benchmark/commit/70916cbf71f50b9e1e6f13559e10d6dbb92beb32)
to remove COMPILER_IBMXL for z/OS.
Commit: 250b467f7c8f06350a64d1a17e3ac7e3e390d4b1
https://github.com/llvm/llvm-project/commit/250b467f7c8f06350a64d1a17e3ac7e3e390d4b1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Simplify common analysis of instructions in BoUpSLP::collectValuesToDemote by outlining common code, NFC.
Commit: d650fcd6bf1323513213dd69eacbb2b08c870618
https://github.com/llvm/llvm-project/commit/d650fcd6bf1323513213dd69eacbb2b08c870618
Author: aniplcc <aniplccode at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/hadd-combine.ll
M llvm/test/CodeGen/X86/combine-pavg.ll
Log Message:
-----------
[DAG] SimplifyDemandedVectorElts - add ISD::AVGCEILS/AVGCEILU/AVGFLOORS/AVGFLOORU nodes (#86284)
Fixes #84768
Commit: 1f7c3d609b01d0cf2a0b973cc17a9b0bca8e56b5
https://github.com/llvm/llvm-project/commit/1f7c3d609b01d0cf2a0b973cc17a9b0bca8e56b5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetMachine.cpp
Log Message:
-----------
[X86] getEffectiveX86CodeModel - take a Triple argument instead of just a Is64Bit flag. NFC. (#87479)
Matches what most other targets do and makes it easier to specify code model based off other triple settings in the future.
Commit: 269d0aaec1801000a39122b1c5792d9c096b33ec
https://github.com/llvm/llvm-project/commit/269d0aaec1801000a39122b1c5792d9c096b33ec
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/include/mlir/Pass/Pass.h
Log Message:
-----------
[mlir] Apply ClangTidy findings.
modernize-use-override ClangTidy check.
This warning appears on overridden virtual functions not marked with override or
final keywords or marked with more than one of virtual, override, final.
Commit: 39eedfded4b990132888b93e3bbf168be8af2038
https://github.com/llvm/llvm-project/commit/39eedfded4b990132888b93e3bbf168be8af2038
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitADDLikeCommutative - convert (add x, shl(0 - y, n)) fold to SDPatternMatch. NFC.
Commit: 0f5f931a9b32208a4894da57ea5c7428ead9df8d
https://github.com/llvm/llvm-project/commit/0f5f931a9b32208a4894da57ea5c7428ead9df8d
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/test/CodeGen/Generic/allow-check.ll
Log Message:
-----------
[CodeGen] Fix test after #86049
Commit: 7c178fdf0094afbf4757d71b792bc159ddcac72f
https://github.com/llvm/llvm-project/commit/7c178fdf0094afbf4757d71b792bc159ddcac72f
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M lldb/source/Utility/RegisterValue.cpp
Log Message:
-----------
[lldb] Correct byte order check for 128 bit integer registers
Size was clearly not correct here. This call has been here since
the initial reformat of all of lldb so it has likely always been
incorrect.
(although registers don't typically have an endian, they are
just values, in the remote protocol register data is in target
endian)
This might have been a problem for Neon registers on big endian
AArch64, but only if the debug server describes them as integers.
lldb-server does not, they've always been vectors which doesn't
take this code path.
Not adding a test because the way I've mocked up a big endian
target in the past is using s390x as the architecture. This
apparently has some form of vector extension that may be 128 bit
but lldb doesn't support it.
Commit: 9808279b0ec3663428fbf6294dfdd1d4f70b1cda
https://github.com/llvm/llvm-project/commit/9808279b0ec3663428fbf6294dfdd1d4f70b1cda
Author: Paul Robinson <paul.robinson at sony.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticIDs.h
Log Message:
-----------
[NFC] Bump DIAG_SIZE_FRONTEND (hit the limit downstream as of e05c1b46)
Commit: a6170d5b7e45d85ffdab124a4e2bd0f0e1d29f2c
https://github.com/llvm/llvm-project/commit/a6170d5b7e45d85ffdab124a4e2bd0f0e1d29f2c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
[SelectionDAG] Dump convergencectrl_glue DAG node (#87487)
Commit: 1aedf949e0f6d5e0a6b15e28780be126730db023
https://github.com/llvm/llvm-project/commit/1aedf949e0f6d5e0a6b15e28780be126730db023
Author: Amaury Séchet <deadalnix at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll
Log Message:
-----------
[NFC] Automatically generate indirect-branch-tracking-eh2.ll
Commit: 6a13bbf92f6f7f2f5d59dfda99ccca223c72eeef
https://github.com/llvm/llvm-project/commit/6a13bbf92f6f7f2f5d59dfda99ccca223c72eeef
Author: Joe Nash <Sisyph at users.noreply.github.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/AMDGPU/vop_dpp.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp8.txt
Log Message:
-----------
[AMDGPU][MC] Enables sgpr or imm src1 for float VOP3 DPP, but excludi… (#87382)
…ng VOPC.
Fixes support on GFX1150 and GFX12 where src1 of e64_dpp instructions
should allow sgpr and imm operands.
PR #67461 added support for this with int operands, but it was missing a
piece for float.
Changing VOPC e64_dpp will be in a different patch because there is a
bug preventing that change.
Commit: 4d8a3f5b35b01f8223d2e4c0e63d91cd00e9b1a5
https://github.com/llvm/llvm-project/commit/4d8a3f5b35b01f8223d2e4c0e63d91cd00e9b1a5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] Add some tests showing failure to fold shuffle(cast(x),cast(y)) -> cast(shuffle(x,y))
Part of #67803
Commit: a77d3d9a2e5decc814119dc4e0a7b4625a6f6490
https://github.com/llvm/llvm-project/commit/a77d3d9a2e5decc814119dc4e0a7b4625a6f6490
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libcxx/include/__expected/bad_expected_access.h
Log Message:
-----------
[libc++] Disables -Wweak-vtables diagnostics. (#85577)
This is a preparation to use Clang HEAD in the CI.
Commit: 362aa434cc31ccca96749a6db8cd97f5b7d71206
https://github.com/llvm/llvm-project/commit/362aa434cc31ccca96749a6db8cd97f5b7d71206
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/docs/PassManagement.md
M mlir/include/mlir/Support/Timing.h
M mlir/lib/Support/Timing.cpp
M mlir/test/Pass/pass-timing.mlir
Log Message:
-----------
[mlir] Enhance TimingManager Printing Flexibility (#85821)
Revise the printing functionality of TimingManager to accommodate
various output formats. At present, TimingManager is limited to
outputting data solely in plain text format. To overcome this
limitation, I have introduced an abstract class that serves as the
foundation for printing. This approach allows users to implement
additional output formats by extending this abstract class. As part of
this update, I have integrated support for JSON as a new output format,
enhancing the ease of parsing for subsequent processing scripts.
Commit: 72e2e4f7dc682fa3f6eda9f3cfbd20a8ffaac4e4
https://github.com/llvm/llvm-project/commit/72e2e4f7dc682fa3f6eda9f3cfbd20a8ffaac4e4
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/Format/Format.cpp
Log Message:
-----------
[clang-format] Lambda parameter should be passed by const reference (#87306)
Closes #87254.
Commit: 6f2d8cc0614bee1074e9d11f1ac0df9ce9d185f6
https://github.com/llvm/llvm-project/commit/6f2d8cc0614bee1074e9d11f1ac0df9ce9d185f6
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/chrono
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/modules/std/chrono.inc
M libcxx/src/CMakeLists.txt
A libcxx/src/include/tzdb/leap_second_private.h
M libcxx/src/tzdb.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/leap_seconds.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/leap_seconds.pass.cpp
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.tzdb/tzdb.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
A libcxx/test/support/test_chrono_leap_second.h
Log Message:
-----------
[libc++][chrono] Loads leap-seconds.list in tzdb. (#82113)
This implements the loading of the leap-seconds.list file and store its
contents in the tzdb struct.
This adds the required `leap_seconds` member.
The class leap_seconds 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:
- P1981 Rename leap to leap_second
- LWG3359 <chrono> leap second support should allow for negative leap
seconds
- LWG3383 §[time.zone.leap.nonmembers] sys_seconds should be replaced
with seconds
Commit: 5b959310b0fae723bd119ed8815bf1cb1a8c67d4
https://github.com/llvm/llvm-project/commit/5b959310b0fae723bd119ed8815bf1cb1a8c67d4
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
R clang/test/SemaHLSL/ArrayTemporary.ll
Log Message:
-----------
[NFC] Delete unintentionally added file
Commit: cc308f60d41744b5920ec2e2e5b25e1273c8704b
https://github.com/llvm/llvm-project/commit/cc308f60d41744b5920ec2e2e5b25e1273c8704b
Author: Nathan Chancellor <nathan at kernel.org>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/test/Parser/c2x-typeof-ext-warns.c
A clang/test/SemaCXX/typeof_unqual.cpp
Log Message:
-----------
[clang] Support __typeof_unqual__ in all C modes (#87392)
GCC has added __typeof_unqual__ to allow typeof_unqual to be used in all
C modes (not just C23 and newer), similar to __typeof__ and typeof.
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=607d9d50ee44163cee621cd991600acaf78c2fee
The Linux kernel would like to start using __typeof_unqual__ to strip
type qualifiers such as address spaces from inputs to macros but cannot
switch to C23 due to compiler version requirements.
Match GCC and allow __typeof_unqual__ in all C modes.
Closes: https://github.com/llvm/llvm-project/issues/76423
Link: https://lore.kernel.org/CAFULd4YG21NdF_qNVBGDtXO6xnaYFeRPvKicB=gpgUUqYE=4jw@mail.gmail.com/
Commit: 2ff3850ea19f72573d8abdf9a78e52d3dfdd90ac
https://github.com/llvm/llvm-project/commit/2ff3850ea19f72573d8abdf9a78e52d3dfdd90ac
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M openmp/docs/design/Runtimes.rst
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
A openmp/runtime/test/affinity/kmp-abs-hw-subset.c
Log Message:
-----------
[OpenMP] Add absolute KMP_HW_SUBSET functionality (#85326)
Users can put a : in front of KMP_HW_SUBSET to indicate that the
specified subset is an "absolute" subset. Currently, when a user puts
KMP_HW_SUBSET=1t. This gets translated to KMP_HW_SUBSET="*s,*c,1t",
where * means "use all of". If a user wants only one thread as the
entire topology they can now do KMP_HW_SUBSET=:1t.
Along with the absolute syntax is a fix for newer machines and making
them easier to use with only the 3-level topology syntax. When a user
puts KMP_HW_SUBSET=1s,4c,2t on a machine which actually has 4 layers,
(say 1s,2m,3c,2t as the entire machine) the user gets an unexpected "too
many resources asked" message because KMP_HW_SUBSET currently translates
the "4c" value to mean 4 cores per module. To help users out, the
runtime can assume that these newer layers, module in this case, should
be ignored if they are not specified, but the topology should always
take into account the sockets, cores, and threads layers.
Commit: 17642c76023b7f421dac8e9fb176b0221e309a8a
https://github.com/llvm/llvm-project/commit/17642c76023b7f421dac8e9fb176b0221e309a8a
Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
A llvm/test/Transforms/SampleProfile/Inputs/non-probe-stale-profile-matching.prof
A llvm/test/Transforms/SampleProfile/non-probe-stale-profile-matching.ll
Log Message:
-----------
[SamplePGO] Support -salvage-stale-profile without probes too (#86116)
Currently -salvage-stale-profile is a no-op if the profile is not
probe-based. We observed that it can help for regular, non-probe- based
profiles too: some of our internal benchmarks show 0.2-0.3% QPS
improvement.
There seems to be no good reason to limit this flag to only work for
probe-based profiles.
Commit: 5b702be1e80b8733786ac48ceaf04f2936616d1b
https://github.com/llvm/llvm-project/commit/5b702be1e80b8733786ac48ceaf04f2936616d1b
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
Log Message:
-----------
[mlir][math] Convert math.fpowi to math.powf in case of non constant (#87472)
Convert math.fpowi to math.powf by converting dtype of power operand to
floating point.
Commit: 1189e87951e59a81ee097eae847c06008276fef1
https://github.com/llvm/llvm-project/commit/1189e87951e59a81ee097eae847c06008276fef1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[CodeGen] Fix a warning
This patch fixes:
clang/lib/CodeGen/CGExpr.cpp:5607:11: error: variable 'Result' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
Commit: 33992eabc7834e32094e7187dc10225f1a3773a5
https://github.com/llvm/llvm-project/commit/33992eabc7834e32094e7187dc10225f1a3773a5
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
A offload/README.md
Log Message:
-----------
[Offload][NFC] Add offload subfolder and README (#77154)
The readme only states the goal and has links to further information,
e.g., our meetings.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 07a566793b2f94d0de6b95b7e6d1146b0d7ffe49
https://github.com/llvm/llvm-project/commit/07a566793b2f94d0de6b95b7e6d1146b0d7ffe49
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/SystemZ/ext-alt-node-must-ext.ll
Log Message:
-----------
[SLP]Fix PR87477: fix alternate node cast cost/codegen.
Have to compare actual type size to pick up proper cast operation
opcode.
Commit: 315c88c5fbdb2b27cebf23c87fb502f7a567d84b
https://github.com/llvm/llvm-project/commit/315c88c5fbdb2b27cebf23c87fb502f7a567d84b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/runtime/numeric-templates.h
M flang/test/Lower/Intrinsics/modulo.f90
M flang/unittests/Runtime/Numeric.cpp
Log Message:
-----------
[flang] Fixed MODULO(x, inf) to produce NaN. (#86145)
Straightforward computation of `A − FLOOR (A / P) * P` should
produce NaN, when P is infinity. The -menable-no-infs lowering
can still use the relaxed operations sequence.
Commit: 5822ca5a013256bbca33fbbae56f49caa2e37fe3
https://github.com/llvm/llvm-project/commit/5822ca5a013256bbca33fbbae56f49caa2e37fe3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/Basic/Sanitizers.def
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
R clang/test/CodeGen/ubsan-bitfield-conversion.c
R clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
Log Message:
-----------
Revert "[clang][UBSan] Add implicit conversion check for bitfields" (#87518)
Reverts llvm/llvm-project#75481
Breaks multiple bots, see #75481
Commit: 6099639846c14991806290524b77cc25f6eb39bc
https://github.com/llvm/llvm-project/commit/6099639846c14991806290524b77cc25f6eb39bc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
A clang/test/CodeGen/allow-ubsan-check.c
Log Message:
-----------
[clang] Precommit test for `llvm.allow.ubsan.check()` (#87435)
Commit: fff2690eba58f3a548865b5246b09233663c680d
https://github.com/llvm/llvm-project/commit/fff2690eba58f3a548865b5246b09233663c680d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C23] Remove WG14 N2416 from the C status page
This paper did not add any normative changes for us to check
conformance against. It added a note describing a potential behavioral
difference between compile-time and runtime evaluation of negative
floating-point values in the presence of rounding modes.
Commit: 07d3f2a8de6956717db2355d6d3421d35f3a5796
https://github.com/llvm/llvm-project/commit/07d3f2a8de6956717db2355d6d3421d35f3a5796
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-xor.mir
Log Message:
-----------
[RISCV][GISEL] Run update_mir_test_checks on llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-xor.mir
Commit: 23616c65e7d632e750ddb67d55cc39098a69a8a6
https://github.com/llvm/llvm-project/commit/23616c65e7d632e750ddb67d55cc39098a69a8a6
Author: maflcko <6399679+maflcko at users.noreply.github.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/tools/dsymutil/CMakeLists.txt
Log Message:
-----------
dsymutil: Re-add missing -latomic (#85380)
This was accidentally removed in
https://reviews.llvm.org/D137799#4657404 /
https://reviews.llvm.org/D137799#C3933303OL44, and downstream projects
are forced to add it back. For example,
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=4e26331a5ee87928a16888c36d51e270f0f10f90
Fix this, by re-adding it.
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_ at 721217.xyz>
Commit: cd29126b6333c28cc4df7b932ed0d6d6c13983d1
https://github.com/llvm/llvm-project/commit/cd29126b6333c28cc4df7b932ed0d6d6c13983d1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
Log Message:
-----------
[SLP]Fix PR87133: crash because of different altopcodes for cmps after reordering.
If the node has cmp instruction with 3 or more different but swappable
predicates, need to keep same kind of main/alternate opcodes to avoid
incorrect detection of opcodes after reordering. Reordering changes the
order and we may erroneously consider swappable opcodes as
non-compatible/alternate, which may lead to a later compiler crash.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/87267
Commit: fbcd0c65f7b2f65e0ee58e5448b88af39faf10f1
https://github.com/llvm/llvm-project/commit/fbcd0c65f7b2f65e0ee58e5448b88af39faf10f1
Author: Rafael Ubal <rubal at mathworks.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
Updates to 'tosa.reshape' verifier (#87416)
This addition catches common cases of malformed `tosa.reshape` ops. This
prevents the `--tosa-to-tensor` pass from asserting when fed invalid
operations, as these will be caught ahead of time by the verifier.
Closes #87396
Commit: d83233f597f6d512bf7109bb4c33a7fdd2f8fd31
https://github.com/llvm/llvm-project/commit/d83233f597f6d512bf7109bb4c33a7fdd2f8fd31
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Mark some recent LWG issues and papers as done (#87502)
Justifications:
- LWG3950: Done in #66206
- LWG3975: Wording changes only
- LWG4011: Wording changes only
- LWG4030: Wording changes only
- LWG4043: Wording changes only
- LWG3036 and P2875R4: We implemented neither, but the latter reverts
the former, so now we implement both without doing anything!
Commit: d5ec49ff3dc26cdbe350e9cafc6b8e331fff7911
https://github.com/llvm/llvm-project/commit/d5ec49ff3dc26cdbe350e9cafc6b8e331fff7911
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/lib/Support/Timing.cpp
Log Message:
-----------
[mlir] Initialize DefaultTimingManager::out. (#87522)
`DefaultTimingManager::clear()` uses `out` to initialize `TimerImpl`,
but the `out` is `nullptr` by default. This means if
`DefaultTimingManager::setOutput()` is never called,
`DefaultTimingManager` destructor may generate SIGSEGV.
Commit: a94a3cd3d6d4ca6cadaafc29c8097bd2fe078b9d
https://github.com/llvm/llvm-project/commit/a94a3cd3d6d4ca6cadaafc29c8097bd2fe078b9d
Author: Lei Wang <wlei at fb.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
Log Message:
-----------
Always check the function attribute to determine checksum mismatch for available_externally functions (#87279)
This is to fix an assertion error. Apparently, `pseudo_probe_desc` could
still be available for import functions, and its checksum mismatch state
can be different from import function's `profile-checksum-mismatch`
attr. This happens when unstable IR or ODR violation issue occurs, the
definitions of the same function across different translation units
could be different and result in different checksums. During link time
deduplication, the internal function definition (the checksum in desc is
computed based on) is substituted by the `available_externally`
definition, which cause the inconsistency. Hence, we fix it to by always
checking the state for the new `available_externally` definition, which
is saved in the function attribute.
Commit: 8a5a1b770413bb62ff27cd8c2aea3d04b3a95bbe
https://github.com/llvm/llvm-project/commit/8a5a1b770413bb62ff27cd8c2aea3d04b3a95bbe
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/Basic/Sanitizers.def
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/ubsan-bitfield-conversion.c
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
Log Message:
-----------
Revert "Revert "[clang][UBSan] Add implicit conversion check for bitfields"" (#87529)
Reverts llvm/llvm-project#87518
Revert is not needed as the regression was fixed with
1189e87951e59a81ee097eae847c06008276fef1.
I assumed the crash and warning are different issues, but according to
https://lab.llvm.org/buildbot/#/builders/240/builds/26629
fixing warning resolves the crash.
Commit: 42c7bc04c30b427414a2d957776b1655abb27b6e
https://github.com/llvm/llvm-project/commit/42c7bc04c30b427414a2d957776b1655abb27b6e
Author: David Green <david.green at arm.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
A clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
Log Message:
-----------
[AArch64][ARM] Make neon fp16 generic intrinsics always available. (#87467)
By generic intrinsics this mean things like dup, ext, zip and bsl that
can always be executed with integer s16 operations and do not require
fullfp16. This makes them always available, and brings them inline with
GCC.
https://godbolt.org/z/azs8eMv54
The relevant test cases have been moved into their own files, to allow
them to be tested with armv8-a and armv8.2-a+fp16.
Commit: 5bbce06ac642bedcb93158ed04253cf6deedf5e6
https://github.com/llvm/llvm-project/commit/5bbce06ac642bedcb93158ed04253cf6deedf5e6
Author: Lei Wang <wlei at fb.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/test/CodeGen/pseudo-probe-emit.c
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-profile.prof
M llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-update.prof
M llvm/test/Transforms/SampleProfile/pseudo-probe-dangle.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-discriminator.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-invoke.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-metadata-2.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-update.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-verify.ll
Log Message:
-----------
[PseudoProbe] Mix block and call probe ID in lexical order (#75092)
Before all the call probe ids are after block ids, in this change, it
mixed the call probe and block probe by reordering them in
lexical(line-number) order. For example:
```
main():
BB1
if(...)
BB2 foo(..);
else
BB3 bar(...);
BB4
```
Before the profile is
```
main
1: ..
2: ..
3: ...
4: ...
5: foo ...
6: bar ...
```
Now the new order is
```
main
1: ..
2: ..
3: foo ...
4: ...
5: bar ...
6: ...
```
This can potentially make it more tolerant of profile mismatch, either from stale profile or frontend change. e.g. before if we add one block, even the block is the last one, all the call probes are shifted and mismatched. Moreover, this makes better use of call-anchor based stale profile matching. Blocks are matched based on the closest anchor, there would be more anchors used for the matching, reduce the mismatch scope.
Commit: d57884011e8c57b118b831614b692ba4bc8b5aca
https://github.com/llvm/llvm-project/commit/d57884011e8c57b118b831614b692ba4bc8b5aca
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
Log Message:
-----------
[SLP]Add support for commutative intrinsics.
Implemented long-standing TODO to support commutative intrinsics.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/86316
Commit: b15d27e24902444129bfec4095d68bf80f3af700
https://github.com/llvm/llvm-project/commit/b15d27e24902444129bfec4095d68bf80f3af700
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] Add additional tests for #87510
Add zext nneg tests and check we don't fold casts with different src types
Commit: 52ae02db4044b5d6e55b48133ac641b0c998ef49
https://github.com/llvm/llvm-project/commit/52ae02db4044b5d6e55b48133ac641b0c998ef49
Author: David Green <david.green at arm.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
Log Message:
-----------
[AArch64] Add a test for non-temporal masked loads / stores. NFC
Commit: 7c68a958e2213a5190d91ce6dddddb72ce732f1e
https://github.com/llvm/llvm-project/commit/7c68a958e2213a5190d91ce6dddddb72ce732f1e
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
Log Message:
-----------
AMDGPU: Use PseudoInstr to name SIMCInstr for DSDIR and SOPs, NFC (#87537)
We should consistently use PseudoInstr instead of Mnemonic to name
SIMCInstr, even though they may be the same in most cases
Commit: e29228efae67cadfd18c532f944d19b4e16ff229
https://github.com/llvm/llvm-project/commit/e29228efae67cadfd18c532f944d19b4e16ff229
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
Log Message:
-----------
[AMDGPU][MC] Allow VOP3C dpp src1 to be imm or SGPR (#87418)
Allows src1 of VOP3 encoded VOPC to be an SGPR or inline immediate on
GFX1150Plus
The w32 and w64 _e64_dpp assembler only real instructions were unused,
and erroneously constructed in a way that bugged parsing of the new
instructions. They are removed.
This patch is a follow up to PR
https://github.com/llvm/llvm-project/pull/87382
Commit: a8425d2fa2e0d29b83d16eac008441ecb9516320
https://github.com/llvm/llvm-project/commit/a8425d2fa2e0d29b83d16eac008441ecb9516320
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
DebugInfoD issues, take 2 (#86812)
The previous diff (and it's subsequent fix) were reverted as the tests
didn't work properly on the AArch64 & ARM LLDB buildbots. I made a
couple more minor changes to tests (from @clayborg's feedback) and
disabled them for non Linux-x86(_64) builds, as I don't have the ability
do anything about an ARM64 Linux failure. If I had to guess, I'd say the
toolchain on the buildbots isn't respecting the `-Wl,--build-id` flag.
Maybe, one day, when I have a Linux AArch64 system I'll dig in to it.
>From the reverted PR:
I've migrated the tests in my
https://github.com/llvm/llvm-project/pull/79181 from shell to API (at
@JDevlieghere's suggestion) and addressed a couple issues that were
exposed during testing.
The tests first test the "normal" situation (no DebugInfoD involvement,
just normal debug files sitting around), then the "no debug info"
situation (to make sure the test is seeing failure properly), then it
tests to validate that when DebugInfoD returns the symbols, things work
properly. This is duplicated for DWP/split-dwarf scenarios.
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 607b4bc602eda79e97a91a9bc3552a6004e5ac47
https://github.com/llvm/llvm-project/commit/607b4bc602eda79e97a91a9bc3552a6004e5ac47
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-cov5.s
Log Message:
-----------
[AMDGPU] Add a missing COV6 case to getAMDHSACodeObjectVersion() (#87492)
Commit: 899855d2b11856a44e530fffe854d76be69b9008
https://github.com/llvm/llvm-project/commit/899855d2b11856a44e530fffe854d76be69b9008
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for operands of IToFP and ICmp instructions.
Compiler can improve analysis for operands of UIToFP/SIToFP instructions
and operands of ICmp instruction.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/85966
Commit: fa2bbea14df3273b3403f34cc295c56233fdbd0d
https://github.com/llvm/llvm-project/commit/fa2bbea14df3273b3403f34cc295c56233fdbd0d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
Log Message:
-----------
Revert "[SLP]Improve minbitwidth analysis for operands of IToFP and ICmp instructions."
This reverts commit 899855d2b11856a44e530fffe854d76be69b9008 to fix the
issue reported in https://lab.llvm.org/buildbot/#/builders/165/builds/51659.
Commit: e506dd0f14ea9fe0b0ac6c3492a118d4d2244fee
https://github.com/llvm/llvm-project/commit/e506dd0f14ea9fe0b0ac6c3492a118d4d2244fee
Author: Christopher Di Bella <cjdb at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/iterator_range.h
Log Message:
-----------
fully qualifies use of `detail` namespace (#87536)
Some TUs apparently end up with an ambiguity between `::llvm::detail`
and `support::detail`, so we close that gap at the source.
Commit: 3ee93f486293420852fb9ec95af9c5f54cecdb08
https://github.com/llvm/llvm-project/commit/3ee93f486293420852fb9ec95af9c5f54cecdb08
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libc/config/baremetal/api.td
M libc/config/gpu/api.td
M libc/config/linux/api.td
M libc/include/CMakeLists.txt
M libc/spec/posix.td
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftello.h
Log Message:
-----------
[libc] Added transitive bindings for OffsetType (#87397)
Adding OffTType to fcntl.h and stdio.h 's Macro lists in libc/spec/posix.td as
mentioned here: #87266
Commit: 42cbceb0f0160d67145723613fda325dbd129308
https://github.com/llvm/llvm-project/commit/42cbceb0f0160d67145723613fda325dbd129308
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
Log Message:
-----------
[SLP]Improve minbitwidth analysis for operands of IToFP and ICmp instructions.
Compiler can improve analysis for operands of UIToFP/SIToFP instructions
and operands of ICmp instruction.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/85966
Commit: d53b8291bff4542a9c3e2f1df050deafbe295fff
https://github.com/llvm/llvm-project/commit/d53b8291bff4542a9c3e2f1df050deafbe295fff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-casts.ll - adjust zext nneg tests to improve costs for testing
Improves SSE vs AVX test results for #87510
Commit: 718638d44d3f1033c1ea395244c07d971ec33a90
https://github.com/llvm/llvm-project/commit/718638d44d3f1033c1ea395244c07d971ec33a90
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M flang/include/flang/Runtime/io-api.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/freestanding-tools.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Enable I/O APIs in F18 runtime offload builds. (#87543)
Commit: 4078763e2e73b4ef3f9e728f66cdf9e429d3f7a4
https://github.com/llvm/llvm-project/commit/4078763e2e73b4ef3f9e728f66cdf9e429d3f7a4
Author: Damien L-G <dalg24+github at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
Log Message:
-----------
[libc++] Fix copy/pasta error in atomic tests for `atomic_compare_exchange_{weak,strong}` (#87135)
Spotted this minor mistake in the tests as I was looking into testing
more thoroughly `atomic_ref`.
The two argument overloads are tested just above. The names of the
lambda clearly indicates that the intent was to test the one argument
overload.
Commit: 029e1d751503268e3d8b01db769e710835c3010d
https://github.com/llvm/llvm-project/commit/029e1d751503268e3d8b01db769e710835c3010d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/Basic/Sanitizers.def
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
R clang/test/CodeGen/ubsan-bitfield-conversion.c
R clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
M clang/test/Driver/fsanitize.c
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
Log Message:
-----------
Revert "Revert "Revert "[clang][UBSan] Add implicit conversion check for bitfields""" (#87562)
Reverts llvm/llvm-project#87529
Reverts #87518
https://lab.llvm.org/buildbot/#/builders/37/builds/33262 is still broken
Commit: 8aa3a77eaf198afb7e01453e6daf6566b687945d
https://github.com/llvm/llvm-project/commit/8aa3a77eaf198afb7e01453e6daf6566b687945d
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-anyext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-icmp.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-sext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-s64-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-zext.mir
M llvm/test/MachineVerifier/test_g_fcmp.mir
M llvm/test/MachineVerifier/test_g_icmp.mir
Log Message:
-----------
[RISCV][GISEL] Legalize G_ZEXT, G_SEXT, and G_ANYEXT, G_SPLAT_VECTOR, and G_ICMP for scalable vector types
This patch legalizes G_ZEXT, G_SEXT, and G_ANYEXT. If the type is a
legal mask type, then the instruction is legalized as the element-wise
select, where the condition on the select is the mask typed source
operand, and the true and false values are 1 or -1 (for
zero/any-extension and sign extension) and zero. If the type is a legal integer
or vector integer type, then the instruction is marked as legal.
The legalization of the extends may introduce a G_SPLAT_VECTOR, which
needs to be legalized in this patch for the extend test cases to pass.
A G_SPLAT_VECTOR is legal if the vector type is a legal integer or
floating point vector type and the source operand is sXLen type. This is
because the SelectionDAG patterns only support sXLen typed
ISD::SPLAT_VECTORS, and we'd like to reuse those patterns. A
G_SPLAT_VECTOR is cutom legalized if it has a legal s1 element vector
type and s1 scalar operand. It is legalized to G_VMSET_VL or G_VMCLR_VL
if the splat is all ones or all zeros respectivley. In the case of a
non-constant mask splat, we legalize by promoting the scalar value to
s8.
In order to get the s8 element vector back into s1 vector, we use a
G_ICMP. In order for the splat vector and extend tests to pass, we also
need to legalize G_ICMP in this patch.
A G_ICMP is legal if the destination type is a legal bool vector and the LHS and
RHS are legal integer vector types.
Commit: 05f673bcefb0912a38a67b0026cad3768b2f85d2
https://github.com/llvm/llvm-project/commit/05f673bcefb0912a38a67b0026cad3768b2f85d2
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/icmp.mir
Log Message:
-----------
[RISCV][GISEL] Regbank select for scalable vector G_ICMP
Commit: 35a9393a3f775d4e1506965b9cfeedd45599f1a7
https://github.com/llvm/llvm-project/commit/35a9393a3f775d4e1506965b9cfeedd45599f1a7
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/icmp.mir
Log Message:
-----------
[RISCV][GISEL] Instruction selection for G_ICMP
Commit: 188ca374ee601a50b6f5f6c1cf7e7dc3998e3a62
https://github.com/llvm/llvm-project/commit/188ca374ee601a50b6f5f6c1cf7e7dc3998e3a62
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/anyext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/sext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/zext.mir
Log Message:
-----------
[RISCV][GISEL] Regbankselect for G_ZEXT, G_SEXT, and G_ANYEXT with scalable vector type
Commit: 63c925ca808f216f805b76873743450456e350f2
https://github.com/llvm/llvm-project/commit/63c925ca808f216f805b76873743450456e350f2
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/anyext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/sext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/zext.mir
Log Message:
-----------
[RISCV][GISEL] Instruction selection for G_ZEXT, G_SEXT, and G_ANYEXT with scalable vector type
Commit: be57c90feff81d067c83be1ab8927fb345c761cc
https://github.com/llvm/llvm-project/commit/be57c90feff81d067c83be1ab8927fb345c761cc
Author: Gulfem Savrun Yeniceri <gulfem at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/tools/dsymutil/CMakeLists.txt
Log Message:
-----------
Revert "dsymutil: Re-add missing -latomic (#85380)"
This reverts commit 23616c65e7d632e750ddb67d55cc39098a69a8a6
because it breaks Fuchsia Clang toolchain builders.
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8751656876289840849/overview
Commit: c511c90680eecae2e4adb87f442f41d465feb0f2
https://github.com/llvm/llvm-project/commit/c511c90680eecae2e4adb87f442f41d465feb0f2
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
Log Message:
-----------
[mlir][ArmNeon] Updates LowerContractionToSMMLAPattern with vecmat unroll patterns (#86005)
Updates smmla unrolling patterns to handle vecmat contracts where `dimM=1`. This includes explicit vecmats in the form: `<1x8xi8> x <8x8xi8> --> <1x8xi32>` or implied with the leading dim folded: `<8xi8> x <8x8xi8> --> <8xi32>`
Since the smmla operates on two `<2x8xi8>` input vectors to produce `<2x2xi8>` accumulators, half of each 2x2 accumulator tile is dummy data not pertinent to the computation, resulting in half throughput.
Commit: 66fed33db014bd705433e4b4f1ea766a8d71cadf
https://github.com/llvm/llvm-project/commit/66fed33db014bd705433e4b4f1ea766a8d71cadf
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
Log Message:
-----------
[mlir][vector] Update `castAwayContractionLeadingOneDim` to omit transposes solely on leading unit dims. (#85694)
Updates `castAwayContractionLeadingOneDim` to check for leading unit
dimensions before inserting `vector.transpose` ops.
Currently `castAwayContractionLeadingOneDim` removes all leading unit
dims based on the accumulator and transpose any subsequent operands to
match the accumulator indexing. This does not take into account if the
transpose is strictly necessary, for instance when given this
vector-matrix contract:
```mlir
%result = vector.contract {indexing_maps = [affine_map<(d0, d1, d2, d3) -> (d0, d1, d3)>, affine_map<(d0, d1, d2, d3) -> (d0, d2, d3)>, affine_map<(d0, d1, d2, d3) -> (d1, d2)>], iterator_types = ["parallel", "parallel", "parallel", "reduction"], kind = #vector.kind<add>} %lhs, %rhs, %acc : vector<1x1x8xi32>, vector<1x8x8xi32> into vector<1x8xi32>
```
Passing this through `castAwayContractionLeadingOneDim` pattern produces
the following:
```mlir
%0 = vector.transpose %arg0, [1, 0, 2] : vector<1x1x8xi32> to vector<1x1x8xi32>
%1 = vector.extract %0[0] : vector<1x8xi32> from vector<1x1x8xi32>
%2 = vector.extract %arg2[0] : vector<8xi32> from vector<1x8xi32>
%3 = vector.contract {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d2)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d1)>], iterator_types = ["parallel", "parallel", "reduction"], kind = #vector.kind<add>} %1, %arg1, %2 : vector<1x8xi32>, vector<1x8x8xi32> into vector<8xi32>
%4 = vector.broadcast %3 : vector<8xi32> to vector<1x8xi32>
```
The `vector.transpose` introduced does not affect the underlying data
layout (effectively a no op), but it cannot be folded automatically.
This change avoids inserting transposes when only leading unit
dimensions are involved.
Fixes #85691
Commit: 5e3da75c80db749b3000c4a9e930da4784bcfc6f
https://github.com/llvm/llvm-project/commit/5e3da75c80db749b3000c4a9e930da4784bcfc6f
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
Log Message:
-----------
[Bounds-Safety][NFC] Clean up leading space emission for CountAttributedType (#87582)
Previously the leading space was added in each string constant. This
patch moves the leading space out of the string constants and is instead
explicitly added to add clarity to the code.
Commit: 20433e9b2483d64843310e97062541dd73f54436
https://github.com/llvm/llvm-project/commit/20433e9b2483d64843310e97062541dd73f54436
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
R lldb/test/API/debuginfod/Normal/Makefile
R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
R lldb/test/API/debuginfod/Normal/main.c
R lldb/test/API/debuginfod/SplitDWARF/Makefile
R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
R lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
Revert "DebugInfoD issues, take 2" (#87583)
Reverts llvm/llvm-project#86812.
This commit caused a regression on the x86_64 MacOS buildbot:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/784/
Commit: 750843875254b1d493f4d7c3d3921c1bced55b7c
https://github.com/llvm/llvm-project/commit/750843875254b1d493f4d7c3d3921c1bced55b7c
Author: Yeoul Na <yeoul_na at apple.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[BoundsSafety] Minor fixes on counted_by (#87559)
DeclRef to field must be marked as LValue to be consistent with how the
field decl will be evaluated.
T->desugar() is unnecessary to call ->isArrayType().
Commit: 622851a9059694487811a7f6078312fc2cce5486
https://github.com/llvm/llvm-project/commit/622851a9059694487811a7f6078312fc2cce5486
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
Log Message:
-----------
[lldb] Set static Module's load addresses via ObjectFile (#87439)
This is a followup to
https://github.com/llvm/llvm-project/pull/86359
"[lldb] [ObjectFileMachO] LLVM_COV is not mapped into firmware memory
(#86359)"
where I treat LLVM_COV segments in a Mach-O binary as non-loadable.
There is another codepath in
`DynamicLoaderStatic::LoadAllImagesAtFileAddresses` which is called to
set the load addresses for a Module to the file addresses. It has no
logic to detect a segment that is not loaded in virtual memory
(ObjectFileMachO::SectionIsLoadable), so it would set the load address
for this LLVM_COV segment to the file address and shadow actual code,
breaking lldb behavior.
This method currently sets the load address for any section that doesn't
have a load address set already. This presumes that a Module was added
to the Target, some mechanism set the correct load address for SOME
segments, and then this method is going to set the other segments to a
no-slide value, assuming they were forgotten.
ObjectFile base class doesn't, today, vend a SectionIsLoadable method,
but we do have ObjectFile::SetLoadAddress and at a higher level,
Module::SetLoadAddress, when we're setting the same slide to all
segments.
That's the behavior we want in this method. If any section has a load
address, we don't touch this Module. Otherwise we set all sections to
have a load address that is the same as the file address.
I also audited the other parts of lldb that are calling
SectionList::SectionLoadAddress and looked if they should be more
correctly using Module::SetLoadAddress for the entire binary. But in
most cases, we have the potential for different slides for different
sections so this section-by-section approach must be taken.
rdar://125800290
Commit: ef5a7109116c1615a9c99c8dba6577853beb6c73
https://github.com/llvm/llvm-project/commit/ef5a7109116c1615a9c99c8dba6577853beb6c73
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] Skip 0D vectors in vector linearization. (#87577)
Commit: 7e2a1d6f23cb604203324b47237f8e463704a497
https://github.com/llvm/llvm-project/commit/7e2a1d6f23cb604203324b47237f8e463704a497
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
Log Message:
-----------
[RISCV] Remove G_TRUNC/ZEXT/SEXT/ANYEXT from the first switch in RISCVRegisterBankInfo::getInstrMapping.
This removes the special case for vectors. The default case in the
second switch can handle GPR in addition to vectors. We just won't
use the static ValueMapping entry.
Commit: 97523e5321be2542e8e117443ddea10b3f572ae7
https://github.com/llvm/llvm-project/commit/97523e5321be2542e8e117443ddea10b3f572ae7
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/stepvector.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of intrinsic stepvector with LMUL (#87301)
Use the return type to measure the LMUL size for latency/throughput cost
Commit: abd05eb4a53e6c7760496620da417733f52d4bf9
https://github.com/llvm/llvm-project/commit/abd05eb4a53e6c7760496620da417733f52d4bf9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/include/clang/Frontend/FrontendOptions.h
Log Message:
-----------
[clang] Init fields added by #87357
Commit: 1f01c580444ea2daef67f95ffc5fde2de5a37cec
https://github.com/llvm/llvm-project/commit/1f01c580444ea2daef67f95ffc5fde2de5a37cec
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
Log Message:
-----------
[GlobalISel] Fix the infinite loop issue in `commute_int_constant_to_rhs`
- When both operands are constant, the matcher runs into an infinite
loop as the commutation should be applied only when LHS is a constant
and RHS is not.
Reviewers: arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/87426
Commit: 9877386e2390c42022a566f8fa6fd1f6df08c0ad
https://github.com/llvm/llvm-project/commit/9877386e2390c42022a566f8fa6fd1f6df08c0ad
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/ReleaseNotes.rst
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/DiagnosticIDs.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
A clang/include/clang/ExtractAPI/APIRecords.inc
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIActionBase.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/FrontendActions.h
A clang/include/clang/ExtractAPI/Serialization/APISetVisitor.h
R clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Tooling/CMakeLists.txt
A clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
A clang/test/CodeGen/allow-ubsan-check.c
A clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/pseudo-probe-emit.c
M clang/test/CodeGen/remote-traps.c
A clang/test/CodeGenCXX/x86_32-vaarg.cpp
M clang/test/Driver/module-output.cppm
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/bool.c
M clang/test/ExtractAPI/bool.cpp
M clang/test/ExtractAPI/class.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/constructor_destructor.cpp
M clang/test/ExtractAPI/conversions.cpp
M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
M clang/test/ExtractAPI/enum.c
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/function_noexcepts.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_record.c
M clang/test/ExtractAPI/global_record_multifile.c
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/known_files_only.c
M clang/test/ExtractAPI/language.c
M clang/test/ExtractAPI/macro_undefined.c
M clang/test/ExtractAPI/macros.c
A clang/test/ExtractAPI/metadata_and_module.c
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/multiple_inheritance.cpp
M clang/test/ExtractAPI/namespace.cpp
M clang/test/ExtractAPI/nested_namespaces.cpp
M clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/objc_category.m
A clang/test/ExtractAPI/objc_external_category.m
M clang/test/ExtractAPI/objc_id_protocol.m
M clang/test/ExtractAPI/objc_instancetype.m
M clang/test/ExtractAPI/objc_interface.m
R clang/test/ExtractAPI/objc_module_category.m
M clang/test/ExtractAPI/objc_property.m
M clang/test/ExtractAPI/objc_protocol.m
R clang/test/ExtractAPI/objc_various_categories.m
M clang/test/ExtractAPI/operator_overload.cpp
M clang/test/ExtractAPI/relative_include.m
M clang/test/ExtractAPI/simple_inheritance.cpp
M clang/test/ExtractAPI/struct.c
M clang/test/ExtractAPI/typedef.c
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/ExtractAPI/typedef_chain.c
M clang/test/ExtractAPI/typedef_struct_enum.c
M clang/test/ExtractAPI/underscored.c
M clang/test/ExtractAPI/union.c
M clang/test/ExtractAPI/vfs_redirected_include.m
M clang/test/Index/extract-api-cursor.m
A clang/test/Modules/reduced-bmi-size.cppm
M clang/test/Parser/c2x-typeof-ext-warns.c
M clang/test/Sema/code_align.c
A clang/test/SemaCXX/typeof_unqual.cpp
R clang/test/SemaHLSL/ArrayTemporary.ll
M clang/tools/libclang/CXExtractAPI.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/www/c_status.html
M flang/include/flang/Common/api-attrs.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Runtime/io-api.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/edit-output.cpp
M flang/runtime/emit-encoded.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/freestanding-tools.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/namelist.cpp
M flang/runtime/numeric-templates.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/test/Lower/AMD/code-object-version.f90
A flang/test/Lower/HLFIR/procedure-pointer-component-default-init.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/unittests/Runtime/Numeric.cpp
M libc/config/baremetal/api.td
M libc/config/gpu/api.td
M libc/config/gpu/entrypoints.txt
M libc/config/linux/api.td
M libc/docs/math/index.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/spec/gpu_ext.td
M libc/spec/posix.td
M libc/src/__support/arg_list.h
M libc/src/__support/macros/config.h
M libc/src/gpu/CMakeLists.txt
A libc/src/gpu/rpc_fprintf.cpp
A libc/src/gpu/rpc_fprintf.h
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftello.h
M libc/src/stdio/printf_core/core_structs.h
M libc/test/integration/src/stdio/CMakeLists.txt
A libc/test/integration/src/stdio/gpu/CMakeLists.txt
A libc/test/integration/src/stdio/gpu/printf.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/rpc_server.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/ranges_contains_subrange.h
A libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__iterator/advance.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/chrono
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/include/typeinfo
M libcxx/include/version
M libcxx/modules/std/chrono.inc
M libcxx/src/CMakeLists.txt
M libcxx/src/include/overridable_function.h
A libcxx/src/include/tzdb/leap_second_private.h
M libcxx/src/tzdb.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/leap_seconds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains_subrange.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
A libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.mandates.verify.cpp
A libcxx/test/std/time/time.zone/time.zone.db/leap_seconds.pass.cpp
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.tzdb/tzdb.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
A libcxx/test/support/test_chrono_leap_second.h
M libcxx/test/support/test_iterators.h
M libcxx/utils/generate_feature_test_macro_components.py
M libcxxabi/src/private_typeinfo.cpp
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/gnu-ifunc-nonpreemptible.s
R lld/test/ELF/gnu-ifunc-relative.s
M lldb/include/lldb/lldb-private-enumerations.h
M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Utility/RegisterValue.cpp
M llvm/include/llvm/ADT/iterator_range.h
M llvm/include/llvm/Object/WindowsMachineFlag.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/Object/COFFObjectFile.cpp
M llvm/lib/Object/WindowsResource.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/lib/Target/X86/X86SchedSkylakeClient.td
M llvm/lib/Target/X86/X86SchedSkylakeServer.td
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Instrumentation/RemoveTrapsPass.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/VPlanTransforms.cpp
M llvm/test/Analysis/CostModel/RISCV/stepvector.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/hadd-combine.ll
M llvm/test/CodeGen/AArch64/sadd_sat.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
A llvm/test/CodeGen/AArch64/sms-regpress.mir
M llvm/test/CodeGen/AArch64/ssub_sat.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
A llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
M llvm/test/CodeGen/Generic/allow-check.ll
M llvm/test/CodeGen/PowerPC/legalize-vaarg.ll
M llvm/test/CodeGen/PowerPC/sms-regpress.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/anyext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/icmp.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/sext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/zext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-anyext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-icmp.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-sext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-s64-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-xor.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-zext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/anyext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/icmp.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/sext.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/zext.mir
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/X86/AppendingLinkage.ll
M llvm/test/CodeGen/X86/combine-pavg.ll
M llvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll
A llvm/test/CodeGen/X86/vector-trunc-nowrap.ll
M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/vop_dpp.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt
M llvm/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
M llvm/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt
M llvm/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MachineVerifier/test_g_fcmp.mir
M llvm/test/MachineVerifier/test_g_icmp.mir
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptoui129.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll
M llvm/test/Transforms/InstCombine/select.ll
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/PGOProfile/vtable_profile.ll
M llvm/test/Transforms/RemoveTraps/remove-traps.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/ext-alt-node-must-ext.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
A llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
A llvm/test/Transforms/SampleProfile/Inputs/non-probe-stale-profile-matching.prof
M llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-profile.prof
M llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-update.prof
A llvm/test/Transforms/SampleProfile/non-probe-stale-profile-matching.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-dangle.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-discriminator.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-invoke.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-metadata-2.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-update.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-verify.ll
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
A llvm/test/tools/dsymutil/ARM/firmware.test
A llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.o
A llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.out
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-cov5.s
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M mlir/docs/PassManagement.md
M mlir/include/mlir/Dialect/DLTI/DLTI.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/include/mlir/Pass/Pass.h
M mlir/include/mlir/Support/Timing.h
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Support/Timing.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/Dialect/SparseTensor/one_shot_bufferize_tensor_copy_insertion.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
M mlir/test/Pass/pass-timing.mlir
M mlir/test/Target/Cpp/subscript.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
A offload/README.md
M openmp/docs/design/Runtimes.rst
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
A openmp/runtime/test/affinity/kmp-abs-hw-subset.c
M third-party/benchmark/src/cycleclock.h
M third-party/benchmark/src/internal_macros.h
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/8ea52d1d8323...9877386e2390
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