[all-commits] [llvm/llvm-project] ef9090: [test] Fix check prefixes
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Tue May 14 05:47:03 PDT 2024
Branch: refs/heads/users/kparzysz/spr/d10-noclauses
Home: https://github.com/llvm/llvm-project
Commit: ef9090fcb5b8d1c9f56c11d567987ffa1000a486
https://github.com/llvm/llvm-project/commit/ef9090fcb5b8d1c9f56c11d567987ffa1000a486
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/NVPTX/global-variable-big.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/msan_x86_bts_asm.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
Log Message:
-----------
[test] Fix check prefixes
Commit: 70e227a404e51f9248c7ad5d79953805b2afacb4
https://github.com/llvm/llvm-project/commit/70e227a404e51f9248c7ad5d79953805b2afacb4
Author: Aart Bik <ajcbik at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
A mlir/test/Dialect/SparseTensor/sparse_relu.mlir
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
[mlir][sparse] recognize ReLu operation during sparsification (#92016)
This is a proof of concept recognition of the most basic forms of ReLu
operations, used to show-case sparsification of end-to-end PyTorch
models. In the long run, we must avoid lowering such constructs too
early (with this need for raising them back).
See discussion at
https://discourse.llvm.org/t/min-max-abs-relu-recognition-starter-project/78918
Commit: 4ecf2caf687014a63f0434a63fe9a522ec9be445
https://github.com/llvm/llvm-project/commit/4ecf2caf687014a63f0434a63fe9a522ec9be445
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Use aggregated FuncBranchData in writeBATYAML
Switch from FuncBranchData intermediate maps (Intra/InterIndex)
to aggregated Data, same as one used by DataReader:
https://github.com/llvm/llvm-project/blob/e62ce1f8842cca36eb14126d79dcca0a85bf6d36/bolt/lib/Profile/DataReader.cpp#L385-L389
This aligns the order of the output between YAMLProfileWriter and
writeBATYAML.
Test Plan: updated bolt-address-translation-yaml.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: ayermolo, maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/91289
Commit: efc7bbb917428393f543b09eecddf6e4bb5fce08
https://github.com/llvm/llvm-project/commit/efc7bbb917428393f543b09eecddf6e4bb5fce08
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
A llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
Log Message:
-----------
[AMDGPU] Make v2bf16 BUILD_VECTOR legal (#92022)
There is nothing specific here and it is not different from i16 or f16.
Commit: 561c42df5712c346d4de2e6499b06712403d3164
https://github.com/llvm/llvm-project/commit/561c42df5712c346d4de2e6499b06712403d3164
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/errno_macros.h
M libc/include/errno.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/error-number-macros.h
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/error-number-macros.h
A libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
A libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
Log Message:
-----------
[libc][errno] Use macro instead of system header (#91150)
## Why
Currently, the system header `errno.h` is included in `libc_errno.h`,
which is supposed to be consumed by internal implementations only. As
unit and hermetic tests should never use `#include <errno.h>` but
instead use `#include "src/errno/libc_errno.h"`, we do not want to
implicitly include `errno.h`. In order to have a clear seperation
between those two, we want to pull out the definitions of errno numbers
from `errno.h`.
## What
* Extract the definitions of errno numbers from
[include/errno.h.def](https://github.com/llvm/llvm-project/pull/91150/files#diff-ed38ed463ed50571b498a5b69039cab58dc9d145da7f751a24da9d77f07781cd)
and place it under
[include/llvm-libc-macros/linux/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-d6192866629690ebb7cefa1f0a90b6675073e9642f3279df08a04dcdb05fd892)
* Provide mips-specific errno numbers in
[include/llvm-libc-macros/linux/mips/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-3fd35a4c94e0cc359933e497b10311d857857b2e173e8afebc421b04b7527743)
* Find definition of mips errno numbers in glibc
[here](https://github.com/bminor/glibc/blob/ea73eb5f581ef5931fd67005aa0c526ba43366c9/sysdeps/unix/sysv/linux/mips/bits/errno.h#L32-L50)
(equally defined in the Linux kernel)
* Provide sparc-specific errno numbers in
[include/llvm-libc-macros/linux/sparc/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-5f16ffb2a51a6f72ebd4403aca7e1edea48289c99dd5978a1c84385bec4f226b)
* Find definition of sparc errno numbers in glibc
[here](https://github.com/bminor/glibc/blob/ea73eb5f581ef5931fd67005aa0c526ba43366c9/sysdeps/unix/sysv/linux/sparc/bits/errno.h#L33-L51)
(equally defined in the Linux kernel)
* Include proxy header `errno_macros.h` instead of the system header
`errno.h` in `libc_errno.h`/`libc_errno.cpp`
Closes https://github.com/llvm/llvm-project/issues/80172
Commit: c5e67b86ef6718585120e3cabb04c1fc2d292cfb
https://github.com/llvm/llvm-project/commit/c5e67b86ef6718585120e3cabb04c1fc2d292cfb
Author: Sayan Saha <sayans at mathworks.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] [tensor] Crash in getPackOpResultTypeShape for tensor.pack/unpack ops. (#90641)
Windows build of `mlir` with Visual Studio (19.36.32538 for x64) using
with the following command:
`cmake.exe -GNinja -DCMAKE_BUILD_TYPE=Release
-DLLVM_ENABLE_PROJECTS=mlir -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=1
-DLLVM_TARGETS_TO_BUILD=host ../llvm`
is leading to a crash when calling canonicalization on
`tensor.pack`/`tensor.unpack` ops `mlir-opt --canonicalize input.mlir`
where the `input.mlir` is as follows (this is taken from one of the
filecheck tests for `tensor.pack`):
```
func.func @pack_unpack(%arg0: tensor<128x256xf32>) -> tensor<128x256xf32> {
%pack_dest = tensor.empty() : tensor<8x16x8x32xf32>
%unpack_dest = tensor.empty() : tensor<128x256xf32>
%tp = tensor.pack %arg0 outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %pack_dest : tensor<128x256xf32> -> tensor<8x16x8x32xf32>
%tup = tensor.unpack %tp outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %unpack_dest : tensor<8x16x8x32xf32> -> tensor<128x256xf32>
return %tup : tensor<128x256xf32>
}
```
The crash is seemingly coming from invalid memory access during
iterating over `innerDimsPos` within `getPackOpResultTypeShape`.
This crash is also causing the following tests to fail:
```
MLIR :: Dialect/Linalg/canonicalize.mlir
MLIR :: Dialect/Linalg/data-layout-propagation.mlir
MLIR :: Dialect/Linalg/generalize-tensor-pack-tile.mlir
MLIR :: Dialect/Linalg/generalize-tensor-pack.mlir
MLIR :: Dialect/Linalg/generalize-tensor-unpack-tile.mlir
MLIR :: Dialect/Linalg/generalize-tensor-unpack.mlir
MLIR :: Dialect/Linalg/transform-lower-pack.mlir
MLIR :: Dialect/Linalg/transform-op-fuse.mlir
MLIR :: Dialect/Linalg/transform-op-pack.mlir
MLIR :: Dialect/Linalg/transform-pack-greedily.mlir
MLIR :: Dialect/Tensor/canonicalize.mlir
MLIR :: Dialect/Tensor/fold-into-pack-and-unpack.mlir
MLIR :: Dialect/Tensor/invalid.mlir
MLIR :: Dialect/Tensor/ops.mlir
MLIR :: Dialect/Tensor/simplify-pack-unpack.mlir
MLIR :: Dialect/Tensor/tiling.mlir
```
Commit: 8960078765f141c770f70629a205b3ea88cd9781
https://github.com/llvm/llvm-project/commit/8960078765f141c770f70629a205b3ea88cd9781
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/hdr/errno_macros.h
Log Message:
-----------
[libc][errno] Include <linux/errno.h> for Linux in full build mode. (#92041)
Commit: 943baf327409fdcb01c9d02aa3c3368f2fca114b
https://github.com/llvm/llvm-project/commit/943baf327409fdcb01c9d02aa3c3368f2fca114b
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Make compareByFilePosition a strict weak order
This fixes the new test linkerscript/enable-non-contiguous-regions.test
from #90007 in -stdlib=libc++ -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG builds.
adjustOutputSections does not discard the output section .potential_a
because it contained .a (which would be spilled to .actual_a).
.potential_a and .bc have the same address and will cause an assertion
failure.
Commit: 531a0b67ea1ad65ea4d1a99c67fee280beeb8fbb
https://github.com/llvm/llvm-project/commit/531a0b67ea1ad65ea4d1a99c67fee280beeb8fbb
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Reapply Fix DXIL part header version encoding (#91956)
This reapplies
https://github.com/llvm/llvm-project/commit/195d8ac26d91ca798733c3a5f58d67992d43503d
[DirectX] Fix DXIL part header version encoding. The endian issue was
fixed by
https://github.com/llvm/llvm-project/commit/f42117c8517cc928c6373bad35ebf75d94fe865b.
Move MinorVersion be the lower 8 bit.
Set DXIL version in DXContainerObjectWriter::writeObject.
Fixes #89952
Commit: 6cfac497e96978f2bfc50a00b51c198f2ed50f82
https://github.com/llvm/llvm-project/commit/6cfac497e96978f2bfc50a00b51c198f2ed50f82
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][DWARF] Mark delayed-definition-die-searching.test unsupported on Windows
This marks delayed-definition-die-searching.test as unsupported on
Windows. Clang uses link.exe as default linker if not marked explicitly
to use lld. When used with link.exe clang produces PDB format debug info
even when -gdwarf is specified.
This test will be unsupported until we make lldb-aarch64-windows buildbot
to use lld.
Commit: ec3bc2fbbf73c834697283a7066a8efe88bd0058
https://github.com/llvm/llvm-project/commit/ec3bc2fbbf73c834697283a7066a8efe88bd0058
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Use printRegName in RISCVInstPrinter::printRlist. NFC
Instead of hardcoding all of the register name strings.
Commit: b342d18a8f0240342ea5c461145e78c6e3af92cc
https://github.com/llvm/llvm-project/commit/b342d18a8f0240342ea5c461145e78c6e3af92cc
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/abs_timeout.h
A libc/src/__support/time/linux/clock_conversion.h
R libc/src/__support/time/linux/clock_gettime.cpp
M libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/linux/monotonicity.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/time/CMakeLists.txt
A libc/test/src/__support/time/linux/CMakeLists.txt
A libc/test/src/__support/time/linux/timeout_test.cpp
Log Message:
-----------
[libc] add timeout and clock conversion utilities (#91905)
This PR:
- Make `clock_gettime` a header-only library
- Add `clock_conversion` header library to allow conversion between
clocks relative to the time of call
- Add `timeout` header library to manage the absolute timeout used in
POSIX's timed locking/waiting APIs
Commit: 5b6f15110422f4955212bd26a96057972e3304ad
https://github.com/llvm/llvm-project/commit/5b6f15110422f4955212bd26a96057972e3304ad
Author: Lei Wang <wlei at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-matching-LCS.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-LCS.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll
Log Message:
-----------
[SampleFDO] Improve stale profile matching by diff algorithm (#87375)
This change improves the matching algorithm by using the diff algorithm,
the current matching algorithm only processes the callsites grouped by
the same name functions, it doesn't consider the order relationships
between different name functions, this sometimes fails to handle this
ambiguous anchor case. For example. (`Foo:1` means a
calliste[callee_name: callsite_location])
```
IR : foo:1 bar:2 foo:4 bar:5
Profile : bar:3 foo:5 bar:6
```
The `foo:1` is matched to the 2nd `foo:5` and using the diff
algorithm(finding longest common subsequence ) can help on this issue.
One well-known diff algorithm is the Myers diff algorithm(paper "An
O(ND) Difference Algorithm and Its Variations∗" Eugene W. Myers), its
variations have been implemented and used in many famous tools, like the
GNU diff or git diff. It provides an efficient way to find the longest
common subsequence or the shortest edit script through graph searching.
There are several variations/refinements for the algorithm, but as in
our case, the num of function callsites is usually very small, so we
implemented the basic greedy version in this change which should be good
enough.
We observed better matchings and positive perf improvement on our
internal services.
Commit: 435771228caf77cce35406ecf57a49a06e227fe4
https://github.com/llvm/llvm-project/commit/435771228caf77cce35406ecf57a49a06e227fe4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Inogre CallingConv::RISCV_VectorCall in getCalleeSavedRegs if V/Zve is not enabled.
We can't save vector registers without V/Zve.
Commit: 4c79d38f82e1f6fe8575d88d8c74f2f1806b19ce
https://github.com/llvm/llvm-project/commit/4c79d38f82e1f6fe8575d88d8c74f2f1806b19ce
Author: Michael Jones <michaelrj at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] add errno_macro header to bazel build (#92044)
Patch #91150 added a proxy header for errno macros. This patch fixes the
bazel build since it needs to be added as a dependency.
Commit: c99d1156c28dfed67a8479dd97608d1f0d6cd593
https://github.com/llvm/llvm-project/commit/c99d1156c28dfed67a8479dd97608d1f0d6cd593
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
A .github/workflows/pr-request-release-note.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[workflows] Add a job for requesting a release note on release branch PRs (#91826)
We have been collecting release notes from the PRs for most of the
18.1.x releases and this just helps automate the process.
Commit: 23f8fac745bdde70ed4f9c585d19c4913734f1b8
https://github.com/llvm/llvm-project/commit/23f8fac745bdde70ed4f9c585d19c4913734f1b8
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
Revert "Repply#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)""
This reverts commit 91446e2aa687ec57ad88dc0df793d0c6e694a7c9 and
a unittest followup 1530f319311908b06fe935c89fca692d3e53184f (#90476).
In a stage-2 -flto=thin -gsplit-dwarf -g -fdebug-info-for-profiling
-fprofile-sample-use= build of clang, a ThinLTO backend compile has
assertion failures:
Global is external, but doesn't have external or weak linkage!
ptr @_ZN5clang12ast_matchers8internal18makeAllOfCompositeINS_8QualTypeEEENS1_15BindableMatcherIT_EEN4llvm8ArrayRefIPKNS1_7MatcherIS5_EEEE
function declaration may only have a unique !dbg attachment
ptr @_ZN5clang12ast_matchers8internal18makeAllOfCompositeINS_8QualTypeEEENS1_15BindableMatcherIT_EEN4llvm8ArrayRefIPKNS1_7MatcherIS5_EEEE
The failures somehow go away if -fprofile-sample-use= is removed.
Commit: ad1083dce4f664265c5489ecd2e46649cd978683
https://github.com/llvm/llvm-project/commit/ad1083dce4f664265c5489ecd2e46649cd978683
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
Log Message:
-----------
[mlir][sparse] introduce new pass to propagate sparse encodings. (#92052)
Commit: 595de12ff307f3f06f4ccd2acafc400cc1262bc6
https://github.com/llvm/llvm-project/commit/595de12ff307f3f06f4ccd2acafc400cc1262bc6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
[APFloat] Replace partsCount array with single variable (NFC) (#91910)
We only ever use the last element of this array, so there shouldn't be a
need to store the preceding elements as well.
Commit: 37b8e5feb1d065a7c474e6595bac6d2f65faeb51
https://github.com/llvm/llvm-project/commit/37b8e5feb1d065a7c474e6595bac6d2f65faeb51
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
Log Message:
-----------
Revert "[lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#90663)"
This reverts commit 9a7262c2601874e5aa64c5db19746770212d4b44.
Commit: 70de9b21cbdeb1297108c4ee520b8f6dbd6496a7
https://github.com/llvm/llvm-project/commit/70de9b21cbdeb1297108c4ee520b8f6dbd6496a7
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
Revert "[lldb][DWARF] Do not complete type from declaration die. (#91799)"
This reverts commit a7eff59f78f08f8ef0487dfe2a136fb311af4fd0.
Commit: b06f97b039b3a4f2397281609069b2aaad86dd59
https://github.com/llvm/llvm-project/commit/b06f97b039b3a4f2397281609069b2aaad86dd59
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/profile-passthrough-block.test
Log Message:
-----------
[BOLT] Allow pass-through blocks in YAMLProfileReader (#91828)
Commit: b1c958e50e5d58040c53e2aa822f4dfbcbf9c273
https://github.com/llvm/llvm-project/commit/b1c958e50e5d58040c53e2aa822f4dfbcbf9c273
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Log Message:
-----------
[AArch64] Clarify atomic load/store size condition (NFCI) (#91907)
This is currently bailing out on MemSizeInBytes larger than 64 bytes.
However, the following code can only handle sizes up to 8 bytes.
Possibly there was confusion here between MemSizeInBytes and
MemSizeInBits.
I *think* that this can't actually result in an out of bounds read of
the opcode table because we'll only ever mark loads/stores of up to 8
bytes as legal (16 byte atomics are custom-legalized earlier). As such,
I've changed this condition to an assert.
Commit: 4420ea7a4971eadad528c0cd609da471a7614422
https://github.com/llvm/llvm-project/commit/4420ea7a4971eadad528c0cd609da471a7614422
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
Log Message:
-----------
[StringMap] Move free into StringMapImpl dtor (NFC) (#91908)
StringMapImpl allocates the memory for the table, but does not have a
dtor that free it. Instead, StringMap (which inherits from
StringMapImpl) contains the free call. I don't really see a good reason
why this free is performed in the "wrong" class, so move it into
StringMapImpl.
Commit: 22cc4488c9dde0f0d27c0cfc58f6e82517c83f7f
https://github.com/llvm/llvm-project/commit/22cc4488c9dde0f0d27c0cfc58f6e82517c83f7f
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port libc #91905
Commit: e6b2197a89f5d6d0f56a03c03b8afda561eee899
https://github.com/llvm/llvm-project/commit/e6b2197a89f5d6d0f56a03c03b8afda561eee899
Author: Jim Ingham <jingham at apple.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
R lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
Revert a test that was failing after a previous reversion.
This test was modified as part of the commit:
9a7262c2601874e5aa64c5db19746770212d4b44
but without that patch this test is failing. Remove the test for now
till the issue with the original patch can be sorted out.
Commit: f12018eba11f8d4b74cf67dbc416c429c870a5f4
https://github.com/llvm/llvm-project/commit/f12018eba11f8d4b74cf67dbc416c429c870a5f4
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
Log Message:
-----------
[clang-tidy] support expect no diagnosis test (#91293)
When someone wants to declare a test case without any diagnosis.
check-clang-tidy will failed with error message
```
CHECK-FIXES, CHECK-MESSAGES or CHECK-NOTES not found in the input
```
This PR want to check there are no diagnosis from clang-tidy when
CHECK-FIXES, CHECK-MESSAGES or CHECK-NOTES are not found.
It also changes the extension of a test case. `hxx` is not a valid test
case extension and won't be tested.
---------
Co-authored-by: Danny Mösch <danny.moesch at icloud.com>
Commit: 881d45cd7d3c5ea97f0d409bab5c57ae7bd43ab2
https://github.com/llvm/llvm-project/commit/881d45cd7d3c5ea97f0d409bab5c57ae7bd43ab2
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Do not combine FP_TRUNC + FP_EXTEND if they come from user (#91420)
As discussed in
https://github.com/llvm/llvm-project/commit/3cf8535dbf0bf5fafa99ea1f300e2384a7254fba
We are not allowed to combine explicit fptrunc/fpext from user.
Commit: c72e94382c21db2f5ff066d72103ac55eb8d2874
https://github.com/llvm/llvm-project/commit/c72e94382c21db2f5ff066d72103ac55eb8d2874
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format][NFC] Move LeftRightQualifierAlignmentFixer::is...() (#91930)
Move static member functions LeftRightQualifierAlignmentFixer::is...()
out of the class so that #91712 can reland.
Commit: e20800c16f0570562fea31e9a02d65ba56e6858a
https://github.com/llvm/llvm-project/commit/e20800c16f0570562fea31e9a02d65ba56e6858a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format][NFC] Test IsQualifier only needs to call the lexer
Commit: 05a97a1a5143d0af60f2dc1e452c3f4ab7409b4c
https://github.com/llvm/llvm-project/commit/05a97a1a5143d0af60f2dc1e452c3f4ab7409b4c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Analysis/MustExecute/const-cond.ll
Log Message:
-----------
[MustExec] Drop duplicate RUN line (NFC)
Commit: 3a25e358e2957cce912e701a544fb6163f572575
https://github.com/llvm/llvm-project/commit/3a25e358e2957cce912e701a544fb6163f572575
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Transforms/LICM/hoist-mustexec.ll
Log Message:
-----------
[LICM] Generate test checks (NFC)
Commit: b7adba8e78662b901099dac5e06fd9f4beda22b4
https://github.com/llvm/llvm-project/commit/b7adba8e78662b901099dac5e06fd9f4beda22b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/Transforms/LICM/hoist-mustexec.ll
Log Message:
-----------
[LICM] Add must exec hoisting test with commuted operands (NFC)
Commit: 7198c3d613f1087c78124928cbe2cbc4e03a0e5a
https://github.com/llvm/llvm-project/commit/7198c3d613f1087c78124928cbe2cbc4e03a0e5a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Reduce the amount of similar code in RISCVInstPrinter::printRlist. NFC (#92053)
Remove the switch statement and instead do range checks to know which
pieces we need to print.
Commit: f608ac261781b7707b2721563765e07c57366619
https://github.com/llvm/llvm-project/commit/f608ac261781b7707b2721563765e07c57366619
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Actually port libc #91905
Commit: cf8b93d8234c13b6a6baf7f8a1e5bdb8c1c8cca1
https://github.com/llvm/llvm-project/commit/cf8b93d8234c13b6a6baf7f8a1e5bdb8c1c8cca1
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow explicit instantiation of Ref/RefPtr on call arguments. (#91875)
Co-authored-by: Ryosuke Niwa <rniwa at apple.com>
Commit: cff9e77783aceb52da705b7e2b2e45bfbc86c628
https://github.com/llvm/llvm-project/commit/cff9e77783aceb52da705b7e2b2e45bfbc86c628
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A clang/test/SemaCXX/cxx2c-attributes.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][NFC] Mark P2552 as implemented. (#92007)
wg21.link/P2552 suggest that __has_cpp_attribute
should return a non-zero value for all attributes that the
implementation does something interesting with.
Clang does something meaninful with all attributes except for:
- no_unique_address which we do not support for msvc target
- carries_dependency which arguably does nothing interesting. P2552
shies away from specifying a behavior for that attribute (despite being
the only one for which a recommandation would have been interesting,
arguably)
As such, we have nothing to change for this paper. This paper is a DR
and clang always behaved reasonably.
Commit: e5a277b16755ad273d6c1caa5dd29b4a3ae29078
https://github.com/llvm/llvm-project/commit/e5a277b16755ad273d6c1caa5dd29b4a3ae29078
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Add initial support for marking profiles as experimental (#91993)
This is just the TableGen-side changes, split out as the minimal
testable unit. It doesn't yet transition RVA23 and friends to be
experimental (and add the necessary other changes for this to work).
Although choosing not to emit the SupportedExperimentalProfiles array if
no experimental profiles are present isn't consistent with what we do
for experimental extensions, we need to do this in order to avoid adding
a warning for the empty array when building LLVM for as long as we don't
have any experimental profiles defined.
Commit: f0a681640e012356974024dd2971d74fc18f5b48
https://github.com/llvm/llvm-project/commit/f0a681640e012356974024dd2971d74fc18f5b48
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Remove AllPopRegs array from RISCVFrameLowering.cpp. NFC
The same registers are listed in the same order in FixedCSRFIMap.
Commit: 96c23af8b39a222ce1facd2ec621fbe661e072b7
https://github.com/llvm/llvm-project/commit/96c23af8b39a222ce1facd2ec621fbe661e072b7
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/__support/time/units.h
Log Message:
-----------
[libc] fix 32bit arm build (casting time_t) (#92065)
Commit: 364f988d3feb46ead8fdb657c9eab78d93425a28
https://github.com/llvm/llvm-project/commit/364f988d3feb46ead8fdb657c9eab78d93425a28
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
Reland "[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)"
Remove FormatToken::isSimpleTypeSpecifier() and call
Token::isSimpleTypeSpecifier(LangOpts) instead.
Commit: cd45bb2e435b8e648ac528ed5f5fc1dc2bba48fe
https://github.com/llvm/llvm-project/commit/cd45bb2e435b8e648ac528ed5f5fc1dc2bba48fe
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/errno/libc_errno.cpp
Log Message:
-----------
[libc][errno] Remove unnecessary include (#92063)
Since https://github.com/llvm/llvm-project/pull/91150, a proxy header
for the errno macros is available and gets included in `libc_errno.h`
since then.
As `libc_errno.cpp` includes `libc_errno.h`, which already includes the
proxy header `hdr/errno_macros.h`, there's no need to include it in
`libc_errno.cpp` if we are in overlay mode, because the proxy header
takes care to either include our header from libc/include/ (fullbuild)
or the corresponding underlying system header (overlay).
Commit: f3b8d91ca885744925ce775026df40660d9a4d4e
https://github.com/llvm/llvm-project/commit/f3b8d91ca885744925ce775026df40660d9a4d4e
Author: appujee <124090381+appujee at users.noreply.github.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
LLVM vectorizer working group (#92068)
Recurring meeting at 3rd Thursday of every month.
Commit: 12c0024d196189bd38a140512c0bfbda85d8d75e
https://github.com/llvm/llvm-project/commit/12c0024d196189bd38a140512c0bfbda85d8d75e
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] Move extension aliases into tablegen (#91970)
Commit: 922fafaff83319e33e8a890a692df073d3ce55c9
https://github.com/llvm/llvm-project/commit/922fafaff83319e33e8a890a692df073d3ce55c9
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
Log Message:
-----------
[GlobalISel] Micro-optimize getConstantVRegValWithLookThrough (#91969)
I was benchmarking the MatchTable when I found that
`getConstantVRegValWithLookThrough` took a non-negligible amount of
time, about 7.5% of all of
`AArch64PreLegalizerCombinerImpl::tryCombineAll`.
I decided to take a closer look to see if I could squeeze some
performance out of it, and I landed on a few changes that:
- Avoid copying APint unnecessarily, especially returning
std::optional<APInt> can be expensive when a out parameter also works.
- Avoid indirect call by using templated function pointers instead of
function_ref/std::function
Both of those changes seem to speedup this function by about 50%, but my
benchmarking (`perf record`) seems inconsistent (so take measurements
with a grain of salt), I saw as high as 4.5% and as low as 2% for this
function on the exact same input after the changes, but it never got
close again to 7% in a few runs so this looks like a stable improvement.
Commit: ea238974e1b5f2243b6753c2d737c1f04dd1f17b
https://github.com/llvm/llvm-project/commit/ea238974e1b5f2243b6753c2d737c1f04dd1f17b
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir] [TOSA] Allow any floating point type (#91745)
After #86509 allowed all integer types in TOSA ops, this PR allows TOSA
ops on all floating point types.
This helps to experiment with `f64` and 8-bit float types when spec
conformance is not required.
Commit: ecce5ccdd5725bd0669c24742bfd46dbf043fec2
https://github.com/llvm/llvm-project/commit/ecce5ccdd5725bd0669c24742bfd46dbf043fec2
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
Log Message:
-----------
TosaToLinalg: Allow to skip the TOSA validation pass (#91742)
Allow to skip running the TOSA validation pass when spec conformance is
not required.
Commit: 4014e2e045f5160ce9cbb9562d151f540d61c0bb
https://github.com/llvm/llvm-project/commit/4014e2e045f5160ce9cbb9562d151f540d61c0bb
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Strip experimental- prefix in profile names in SupportedExperimentalProfiles
This matches what we do for extensions, and saves us having to do it in
RISCVISAInfo.
This is a minor tweak to what I added in #91993.
Commit: d488a54b408046eb4286727053cd44166dcd4daa
https://github.com/llvm/llvm-project/commit/d488a54b408046eb4286727053cd44166dcd4daa
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
A llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
Log Message:
-----------
[RISCV] Use software guarded branch for indirect jump table branch. (#66762)
When Zicfilp enabled, indirect jump table branch should be a software
guarded branch.
Commit: 9837a1cb53e94609c005ed44f937a99f24208452
https://github.com/llvm/llvm-project/commit/9837a1cb53e94609c005ed44f937a99f24208452
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-13 (Mon, 13 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[NFC] Add missing spaces in BoolOption for apinotes (#92027)
Commit: c441aa51e16e2fa5f407191287f48d2b7c302ceb
https://github.com/llvm/llvm-project/commit/c441aa51e16e2fa5f407191287f48d2b7c302ceb
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
Log Message:
-----------
[lldb] Add lldbutil.install_to_target() helper (#91944)
It can be used in tests #91918, #91931 and such.
Commit: 2df06e42d733a1f7a1cdf715894921a5bbbc2956
https://github.com/llvm/llvm-project/commit/2df06e42d733a1f7a1cdf715894921a5bbbc2956
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
A flang/test/Driver/print-resource-dir.F90
Log Message:
-----------
[Flang][Driver] Add -print-resource-dir command line flag to emit Flang's resource directory (#90886)
This should be a NFC change for all drivers, but Flang.
Commit: 3ae63430aae52b260ce7ea99e5d586c77963b94a
https://github.com/llvm/llvm-project/commit/3ae63430aae52b260ce7ea99e5d586c77963b94a
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
R llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
R llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
R llvm/test/CodeGen/SPIRV/link-attribute.ll
R llvm/test/CodeGen/SPIRV/linkage-types.ll
A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODR.ll
A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODRFun.ll
A llvm/test/CodeGen/SPIRV/linkage/extern-weak-linkage.ll
A llvm/test/CodeGen/SPIRV/linkage/link-attribute.ll
A llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll
Log Message:
-----------
[SPIR-V] Set non-kernel function linkage type via OpDecorate for all linkage types except for static functions (#91598)
This PR fixes the issue
https://github.com/llvm/llvm-project/issues/91595 by setting non-kernel
function linkage type via OpDecorate for all linkage types except for
static functions. A new test case is added.
Commit: cf9a5a162b701b4c27eda1ddf823137ed16ca235
https://github.com/llvm/llvm-project/commit/cf9a5a162b701b4c27eda1ddf823137ed16ca235
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/satur-arith.ll
Log Message:
-----------
[SPIR-V] Support saturation arithmetic intrinsics in SPIR-V Backend (#91722)
This PR is to support saturation arithmetic intrinsics in SPIR-V
Backend.
Commit: e2f079cc6c3689fa5a6f64550b2d4fdc628dad6f
https://github.com/llvm/llvm-project/commit/e2f079cc6c3689fa5a6f64550b2d4fdc628dad6f
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
Log Message:
-----------
[lldb] Fixed the test TestGdbRemoteLaunch (#91931)
Install `a.out` to the remote target (after handshake) if necessary and
use the remote path to call `vRun`.
Commit: 2e165a2c4b2a0e9a9d34a721d756f9006d1502df
https://github.com/llvm/llvm-project/commit/2e165a2c4b2a0e9a9d34a721d756f9006d1502df
Author: Martin Storsjö <martin at martin.st>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
Revert "[ValueTracking] Compute knownbits from known fp classes (#86409)"
This reverts commit d03a1a6e5838c7c2c0836d71507dfdf7840ade49.
This change caused failed assertions, see
https://github.com/llvm/llvm-project/pull/86409#issuecomment-2109469845
for details.
Commit: fcd020d561f28a2b33b6cc12a5a0164a6d5e4172
https://github.com/llvm/llvm-project/commit/fcd020d561f28a2b33b6cc12a5a0164a6d5e4172
Author: martinboehme <mboehme at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/ast-dump-anonymous-class.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[Clang][Sema] Fix malformed AST for anonymous class access in template. (#90842)
# Observed erroneous behavior
Prior to this change, a `MemberExpr` that accesses an anonymous class
might have a prvalue as its base (even though C++ mandates that the base
of a `MemberExpr` must be a glvalue), if the code containing the
`MemberExpr` was in a template.
Here's an example on [godbolt](https://godbolt.org/z/Gz1Mer9oz) (that is
essentially identical to the new test this patch adds).
This example sets up a struct containing an anonymous struct:
```cxx
struct S {
struct {
int i;
};
};
```
It then accesses the member `i` using the expression `S().i`.
When we do this in a non-template function, we get the following AST:
```
`-ExprWithCleanups <col:10, col:14> 'int'
`-ImplicitCastExpr <col:10, col:14> 'int' <LValueToRValue>
`-MemberExpr <col:10, col:14> 'int' xvalue .i 0xbdcb3c0
`-MemberExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' xvalue .S::(anonymous struct at line:2:3) 0xbdcb488
`-MaterializeTemporaryExpr <col:10, col:12> 'S' xvalue
`-CXXTemporaryObjectExpr <col:10, col:12> 'S' 'void () noexcept' zeroing
```
As expected, the AST contains a `MaterializeTemporarExpr` to materialize
the prvalue `S()` before accessing its members.
When we perform this access in a function template (that doesn't
actually even use its template parameter), the AST for the template
itself looks the same as above. However, the AST for an instantiation of
the template looks different:
```
`-ExprWithCleanups <col:10, col:14> 'int'
`-ImplicitCastExpr <col:10, col:14> 'int' <LValueToRValue>
`-MemberExpr <col:10, col:14> 'int' xvalue .i 0xbdcb3c0
`-MaterializeTemporaryExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' xvalue
`-MemberExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' .S::(anonymous struct at line:2:3) 0xbdcb488
`-CXXTemporaryObjectExpr <col:10, col:12> 'S' 'void () noexcept' zeroing
```
Note how the inner `MemberExpr` (the one accessing the anonymous struct)
acts on a prvalue.
Interestingly, this does not appear to cause any problems for CodeGen,
probably because CodeGen is set up to deal with `MemberExpr`s on rvalues
in C. However, it does cause issues in the dataflow framework, which
only supports C++ today and expects the base of a `MemberExpr` to be a
glvalue.
Beyond the issues with the dataflow framework, I think this issue should
be fixed because it goes contrary to what the C++ standard mandates, and
the AST produced for the non-template case indicates that we want to
follow the C++ rules here.
# Reasons for erroneous behavior
Here's why we're getting this malformed AST.
First of all, `TreeTransform` [strips any
`MaterializeTemporaryExpr`s](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L14853)
from the AST.
It is therefore up to
[`TreeTransform::RebuildMemberExpr()`](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2853)
to recreate a `MaterializeTemporaryExpr` if needed. In the [general
case](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2915),
it does this: It calls `Sema::BuildMemberReferenceExpr()`, which ensures
that the base is a glvalue by [materializing a
temporary](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/SemaExprMember.cpp#L1016)
if needed. However, when `TreeTransform::RebuildMemberExpr()` encounters
an anonymous class, it [calls
`Sema::BuildFieldReferenceExpr()`](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2880),
which, unlike `Sema::BuildMemberReferenceExpr()`, does not make sure
that the base is a glvalue.
# Proposed fix
I considered several possible ways to fix this issue:
- Add logic to `Sema::BuildFieldReferenceExpr()` that materializes a
temporary if needed. This appears to work, but it feels like the fix is
in the wrong place:
- AFAIU, other callers of `Sema::BuildFieldReferenceExpr()` don't need
this logic.
- The issue is caused by `TreeTransform` removing the
`MaterializeTemporaryExpr`, so it seems the fix should also be in
`TreeTransform`
- Materialize the temporary directly in
`TreeTransform::RebuildMemberExpr()` if needed (within the case that
deals with anonymous classes).
This would work, too, but it would duplicate logic that already exists
in `Sema::BuildMemberReferenceExpr()` (which we leverage for the general
case).
- Use `Sema::BuildMemberReferenceExpr()` instead of
`Sema::BuildFieldReferenceExpr()` for the anonymous class case, so that
it also uses the existing logic for materializing the temporary.
This is the option I've decided to go with here. There's a slight
wrinkle in that we create a `LookupResult` that claims we looked up the
unnamed field for the anonymous class -- even though we would obviously
never be able to look up an unnamed field. I think this is defensible
and still better than the other alternatives, but I would welcome
feedback on this from others who know the code better.
Commit: 79a6a7e28fffd14e54a9a208af12d724b6eeb2d4
https://github.com/llvm/llvm-project/commit/79a6a7e28fffd14e54a9a208af12d724b6eeb2d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix a warning
This patch fixes:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp:19848:11: error:
enumeration value 'SW_GUARDED_BRIND' not handled in switch
[-Werror,-Wswitch]
Commit: 11e5d1cfee399cfaba373078879c1ac3e1109b11
https://github.com/llvm/llvm-project/commit/11e5d1cfee399cfaba373078879c1ac3e1109b11
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Respect existing glue when lowering convergence tokens (#90834)
Commit: c28529788955dbfada9f8a5092432f09eec2c3ab
https://github.com/llvm/llvm-project/commit/c28529788955dbfada9f8a5092432f09eec2c3ab
Author: aabhinavg <78288544+aabhinavg at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Fix redundant condition in Target.cpp (#91882)
This commit addresses issue #87244, where a redundant condition was
found in the Target.cpp file. Static analyzer cppcheck flagged the issue
in the Target.cpp file
fix #87244
Commit: 0b5b2027f94c60c73d6871cf64d3f580c27c5a53
https://github.com/llvm/llvm-project/commit/0b5b2027f94c60c73d6871cf64d3f580c27c5a53
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/SROA.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/SROA.cpp
A mlir/test/Transforms/sroa.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR][SROA] Reuse allocators to avoid rewalking the IR (#91971)
This commit extends the SROA interfaces to ensure the interface
instantiations can communicate newly created allocators to the
algorithm. This ensures that the SROA implementation does no longer
require re-walking the IR to find new allocators.
Commit: 346f2b76246a46d5e634dfcf0004d72ac5127f8e
https://github.com/llvm/llvm-project/commit/346f2b76246a46d5e634dfcf0004d72ac5127f8e
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
Log Message:
-----------
[lldb] Fix the test TestGdbRemotePlatformFile when run with a remote target (#91918)
It is necessary to transfer the test file to/from the really remote
target (for example Windows host and Linux target). Also ignore chmod
check in case of the Windows host.
Commit: 632317e9ab5548e991d8974954353033bea62a5b
https://github.com/llvm/llvm-project/commit/632317e9ab5548e991d8974954353033bea62a5b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Add non-poison propagating LogicalAnd VPInstruction opcode. (#91897)
Add a new opcode to mode non-poison propagating logical AND operations
used when generating edge masks. This follows the similar decision to
model Not as dedicated opcode as well, to improve clarity.
This also helps to simplify the matchers for
https://github.com/llvm/llvm-project/pull/89386.
PR: https://github.com/llvm/llvm-project/pull/91897
Commit: d9be51ce68b743bde4d73b6858c454e09df341c5
https://github.com/llvm/llvm-project/commit/d9be51ce68b743bde4d73b6858c454e09df341c5
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
Log Message:
-----------
[AArch64] Improve code generation for experimental.cttz.elts (#91505)
This patch extends support for lowering the experimental.cttz.elts
intrinsic to BRKB + CNTP instruction sequences, using this lowering for
all legal predicate types. An unused parameter is also removed from some
of the related regression tests.
Commit: 0bc23f10328e9f61200c33c02391a44abde59b27
https://github.com/llvm/llvm-project/commit/0bc23f10328e9f61200c33c02391a44abde59b27
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64][GlobalISel] Select G_ICMP Zero Instruction (#90054)
Commit: 429ce59bd0a7d93ef833939d4a92b56aae103a5a
https://github.com/llvm/llvm-project/commit/429ce59bd0a7d93ef833939d4a92b56aae103a5a
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py
Log Message:
-----------
[lldb][Windows] Fixed the test TestGdbRemoteMemoryTagging (#92077)
Windows path is case insensitive. Tests `test_QMemTags_packets` and
`test_qMemTags_packets` will use the same build dir and conflict. Added
a suffix to resolve conflicts.
Commit: be9b4dab40c36a3d3d9be26498b24efedd8253bf
https://github.com/llvm/llvm-project/commit/be9b4dab40c36a3d3d9be26498b24efedd8253bf
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/spirv-decoration.ll
Log Message:
-----------
[SPIR-V] Introduce support for 'spirv.Decorations' metadata node in SPIR-V Backend (#91736)
This PR is to introduce support for 'spirv.Decorations' metadata node in
SPIR-V Backend.
See also
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/blob/main/docs/SPIRVRepresentationInLLVM.rst
that describes `spirv.Decorations` as an important part of
SPIRV-friendly LLVM IR.
Commit: 3b8b1022684175e988f043f14596f2dc9b31c6c7
https://github.com/llvm/llvm-project/commit/3b8b1022684175e988f043f14596f2dc9b31c6c7
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
[MC] Make ELFEntrySizeMap a DenseMap (#91728)
There is no need for an ordered std::map and also no need to duplicate
the section name, which is owned by the ELFSectionKey. Therefore, use a
DenseMap instead and don't copy the string. As a further, minor
performance optimization, avoid the hash table lookup in
isELFGenericMergeableSection when the section name was just added.
This slightly improves compilation performance in our application, where
we occasionally compile many small object files.
Commit: 9f80f437c0b698478c6396c8c44ba094f7199144
https://github.com/llvm/llvm-project/commit/9f80f437c0b698478c6396c8c44ba094f7199144
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/Hexagon/asr-rnd.ll
M llvm/test/CodeGen/Hexagon/asr-rnd64.ll
Log Message:
-----------
[Hexagon] Regenerate asr-rnd.ll + asr-rnd64.ll to show all test checks
These are affected by upcoming support for AVG legalization
Commit: 995a8af81dc10140109cdd95c44bfb093e8a4c02
https://github.com/llvm/llvm-project/commit/995a8af81dc10140109cdd95c44bfb093e8a4c02
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/MC/SystemZ/insn-good-z13.s
M llvm/test/MC/SystemZ/insn-good-z14.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
Log Message:
-----------
[SystemZ] Add extended mnemonics tests. (#91733)
This adds tests for some extended mnemonics of load, branch, and
compare-and-trap instructions.
Commit: e7d09cecc9123f89ace1712a617e252d78b179e9
https://github.com/llvm/llvm-project/commit/e7d09cecc9123f89ace1712a617e252d78b179e9
Author: Petr Kurapov <petr.kurapov at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[MLIR][Linalg] Ternary Op & Linalg select (#91461)
Following #90236, adding `select` to linalg as `arith.select`. No
implicit type casting.
OpDSL doesn't expose a type restriction for bool, but I saw no reason in
adding it (put a separate symbolic type and check the semantics in the
builder).
---------
Co-authored-by: Renato Golin <rengolin at systemcall.eu>
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: 8fe21fda7469f2fdf83980a2720a15baad74ae4f
https://github.com/llvm/llvm-project/commit/8fe21fda7469f2fdf83980a2720a15baad74ae4f
Author: Andrew Sukach <134116196+soukatch at users.noreply.github.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
A clang/test/Analysis/unreachable-code-exceptions.cpp
Log Message:
-----------
[clang][analyzer] Ignore try-statements in UnreachableCode checker (#91675)
Fixes #90162
Commit: 7b1b1279414217ea7f2402a03dfb5a18ea5a5367
https://github.com/llvm/llvm-project/commit/7b1b1279414217ea7f2402a03dfb5a18ea5a5367
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/source/Target/Platform.cpp
Log Message:
-----------
[lldb][Windows] Enforce exec permission using Platform::Install() from Windows host (#91887)
Target::Install() set 0700 permissions for the main executable file.
Platform::Install() just copies permissions from the source. But the
permission eFilePermissionsUserExecute is missing on the Windows host. A
lot of tests failed in case of Windows host and Linux target because of
this issue. There is no API to provide the exec flag. This patch set the
permission eFilePermissionsUserExecute for all files installed via
Platform::Install() from the Windows host. It fixes a lot of tests in
case of Windows host and Linux target.
Commit: d7ef34bfe3d432ffd66a05fc9fcc87fd6c3db2ee
https://github.com/llvm/llvm-project/commit/d7ef34bfe3d432ffd66a05fc9fcc87fd6c3db2ee
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] update comment following 63d8058 (NFC) (#91120)
Address a review comment post landing 63d8058 (LoopVectorize: guard
appending InstsToScalarize; fix bug) to update a comment.
Commit: ac42f7689d741feda2badc438101e7952db048f3
https://github.com/llvm/llvm-project/commit/ac42f7689d741feda2badc438101e7952db048f3
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
Log Message:
-----------
[lldb] Fixed the test TestDyldLaunchLinux (#92080)
Install a.out and libsignal_file.so to the remote target if necessary.
Commit: f658d84e01bcdd49e27dc9ef80e1a6cc5f9417fe
https://github.com/llvm/llvm-project/commit/f658d84e01bcdd49e27dc9ef80e1a6cc5f9417fe
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M lldb/test/API/functionalities/exec/TestExec.py
Log Message:
-----------
[lldb] Fixed the test TestExec (#92082)
Install `secondprog` to the remote target if necessary.
Commit: 3aae916ff7fe9d0953aa63b2ba1d0e871f6f76fc
https://github.com/llvm/llvm-project/commit/3aae916ff7fe9d0953aa63b2ba1d0e871f6f76fc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
Reland "[ValueTracking] Compute knownbits from known fp classes" (#92084)
This patch relands https://github.com/llvm/llvm-project/pull/86409.
I mistakenly thought that `Known.makeNegative()` clears the sign bit of
`Known.Zero`. This patch fixes the assertion failure by explicitly
clearing the sign bit.
Commit: 58b9564d5d12063bb9c662039802ede8df615374
https://github.com/llvm/llvm-project/commit/58b9564d5d12063bb9c662039802ede8df615374
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBlock.h
Log Message:
-----------
[clang][Interp][NFC] Add some assertions
Make sure we pass a non-null Descriptor when creating a new Block.
Commit: 0aa5fa9630d0f4ea707c5b8d5cfa2f4bc8d06a14
https://github.com/llvm/llvm-project/commit/0aa5fa9630d0f4ea707c5b8d5cfa2f4bc8d06a14
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Improve Pointer::print()
Commit: 5865482049872d3ae52ea5559abb9e8f4a1e55e5
https://github.com/llvm/llvm-project/commit/5865482049872d3ae52ea5559abb9e8f4a1e55e5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
Log Message:
-----------
[clang][Interp][NFC] Don't pass on metadata size for composite arrays
We don't need the metadata size for every element, just for the topmost
descriptor.
Commit: c1bd68867497cf6e2f2afdba1a3a2993a47b5856
https://github.com/llvm/llvm-project/commit/c1bd68867497cf6e2f2afdba1a3a2993a47b5856
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix some dummy-related FIXME comments
Commit: 31fb0ae23d3d1a1b90198a68c80c9116d844a01f
https://github.com/llvm/llvm-project/commit/31fb0ae23d3d1a1b90198a68c80c9116d844a01f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/and_sext.ll
Log Message:
-----------
[PowerPC] Regenerate and_sext.ll with test checks
I've kept the grep checks for extsh/extsb instructions, but we can now see the actual codegen as well
Commit: c34d1893cb8b485e6871512ef4e743bfa2d462f8
https://github.com/llvm/llvm-project/commit/c34d1893cb8b485e6871512ef4e743bfa2d462f8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
Log Message:
-----------
[Offload] Remove support for old "BUILD_PLUGIN" options. (#91644)
Summary:
Since the move to the statically linked plugins, we added a new way to
directly control which plugins will be added. Delete these old ones as
they will cause the build to fail and suggest the new format.
Commit: 363258a3ccbb752ec23f681d19b6a874c4db99ab
https://github.com/llvm/llvm-project/commit/363258a3ccbb752ec23f681d19b6a874c4db99ab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Remove old references to `isCtor` (#91766)
Summary:
These have long since been removed, support for ctors / dtors now
happens through special kernels the backend creates.
Commit: cbd72cb0deec31a5c3063cf1f1af759761115eee
https://github.com/llvm/llvm-project/commit/cbd72cb0deec31a5c3063cf1f1af759761115eee
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
Log Message:
-----------
[mlir][vector] Split `TransposeOpLowering` into 2 patterns (#91935)
Splits `TransposeOpLowering` into two patterns:
1. `Transpose2DWithUnitDimToShapeCast` - rewrites 2D `vector.transpose`
as `vector.shape_cast` (there has to be at least one unit dim),
2. `TransposeOpLowering` - the original pattern without the part
extracted into `Transpose2DWithUnitDimToShapeCast`.
The rationale behind the split:
* the output generated by `Transpose2DWithUnitDimToShapeCast` doesn't
really match the intended output from `TransposeOpLowering` as
documented in the source file - it doesn't make much sense to keep
it embedded inside `TransposeOpLowering`,
* `Transpose2DWithUnitDimToShapeCast` _does_ work for scalable vectors,
`TransposeOpLowering` _does_ not.
Commit: e6d3a4212d20b49a8e63f11fedea79cccf261479
https://github.com/llvm/llvm-project/commit/e6d3a4212d20b49a8e63f11fedea79cccf261479
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/lib/CodeGen/PseudoSourceValue.cpp
Log Message:
-----------
[CodeGen] Use SmallVector for FixedStackPSVs (#91760)
Frame indices are dense and consecutive, so use a vector instead of a
std::map. Due to possibly negative frame indices, use zig-zag encoding.
IndexedMap was not usable, as it attempted to copy the null value, which
is not possible with a std::unique_ptr.
This is just a minor performance improvement, but a low-hanging fruit.
Commit: c7c5666aac543a49b485a133f4a94865e2613a43
https://github.com/llvm/llvm-project/commit/c7c5666aac543a49b485a133f4a94865e2613a43
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M flang/include/flang/Lower/StatementContext.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/test/HLFIR/order_assignments/impure-where.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
A flang/test/HLFIR/order_assignments/where-cleanup.f90
M flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
A flang/test/HLFIR/order_assignments/where-hoisting.f90
A flang/test/Lower/HLFIR/where-nonelemental.f90
Log Message:
-----------
[flang] Do not hoist all scalar sub-expressions from WHERE constructs (#91395)
The HLFIR pass lowering WHERE (hlfir.where op) was too aggressive in its
hoisting of scalar sub-expressions from LHS/RHS/MASKS outside of the
loops generated for the WHERE construct.
This violated F'2023 10.2.3.2 point 10 that stipulated that elemental
operations must be evaluated only for elements corresponding to true
values, because scalar operations are still elemental, and hoisting them
is invalid if they could have side effects (e.g, division by zero) and
if the MASK is always false (i.e., the loop body is never evaluated).
The difficulty is that 10.2.3.2 point 9 mandates that nonelemental
function must be evaluated before the loops. So it is not possible to
simply stop hoisting non hlfir.elemental operations.
Marking calls with an elemental/nonelemental attribute would not allow
the pass to be correct if inlining is run before and drops this
information, beside, extracting the argument tree that may have been
CSE-ed with the rest of the expression evaluation would be a bit
combursome.
Instead, lower nonelemental calls into a new hlfir.exactly_once
operation that will allow retaining the information that the operations
contained inside its region must be hoisted. This allows inlining to
operate before if desired in order to improve alias analysis.
The LowerHLFIROrderedAssignments pass is updated to only hoist the
operations contained inside hlfir.exactly_once bodies.
Commit: b1e99a699db02f3a61d5b66f5d6dd68bae3b9a69
https://github.com/llvm/llvm-project/commit/b1e99a699db02f3a61d5b66f5d6dd68bae3b9a69
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Drop redundant comment from createEdgeMask (NFC).
Follow-up to remove a redundant comment post-commit
https://github.com/llvm/llvm-project/pull/91897
Commit: 292b300c5131e54b9977305bb4aca9a03e1b4fed
https://github.com/llvm/llvm-project/commit/292b300c5131e54b9977305bb4aca9a03e1b4fed
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/test/src/string/memcpy_test.cpp
A libc/test/src/string/memory_utils/protected_pages.h
M libc/test/src/string/memset_test.cpp
Log Message:
-----------
[libc][bug] Fix out of bound write in memcpy w/ software prefetching (#90591)
This patch adds tests for `memcpy` and `memset` making sure that we
don't access buffers out of bounds. It relies on POSIX `mmap` /
`mprotect` and works only when FULL_BUILD_MODE is disabled.
The bug showed up while enabling software prefetching.
`loop_and_tail_offset` is always running at least one iteration but in
some configurations loop unrolled prefetching was actually needing only
the tail operation and no loop iterations at all.
Commit: 9d4f7f44b64d87d1068859906f43b7ce03a7388b
https://github.com/llvm/llvm-project/commit/9d4f7f44b64d87d1068859906f43b7ce03a7388b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/alsl.ll
M llvm/test/CodeGen/LoongArch/analyze-branch.ll
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/bitreverse.ll
M llvm/test/CodeGen/LoongArch/block-address.ll
M llvm/test/CodeGen/LoongArch/blockaddress-symbol.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-32.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-64.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation.ll
M llvm/test/CodeGen/LoongArch/bstrins_d.ll
M llvm/test/CodeGen/LoongArch/bstrins_w.ll
M llvm/test/CodeGen/LoongArch/bstrpick_d.ll
M llvm/test/CodeGen/LoongArch/bstrpick_w.ll
M llvm/test/CodeGen/LoongArch/bswap-bitreverse.ll
M llvm/test/CodeGen/LoongArch/bswap.ll
M llvm/test/CodeGen/LoongArch/bytepick.ll
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/cpu-name-generic.ll
M llvm/test/CodeGen/LoongArch/cpus.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
M llvm/test/CodeGen/LoongArch/dwarf-eh.ll
M llvm/test/CodeGen/LoongArch/e_flags.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/frameaddr-returnaddr.ll
M llvm/test/CodeGen/LoongArch/gep-imm.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la32.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la64.ll
M llvm/test/CodeGen/LoongArch/get-reg.ll
M llvm/test/CodeGen/LoongArch/get-setcc-result-type.ll
M llvm/test/CodeGen/LoongArch/global-address.ll
M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
M llvm/test/CodeGen/LoongArch/imm.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZB.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZC.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-k.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint.ll
M llvm/test/CodeGen/LoongArch/inline-asm-operand-modifiers.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names-error.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names.ll
M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-iocsr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64.ll
M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
M llvm/test/CodeGen/LoongArch/intrinsic-not-constant-error.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/ashr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/br.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence-singlethread.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/indirectbr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/lshr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/mul.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-bare-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-icc-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sext-zext-trunc.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/shl.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/jump-table.ll
M llvm/test/CodeGen/LoongArch/ldptr.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-2.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-3.ll
M llvm/test/CodeGen/LoongArch/legalicmpimm.ll
M llvm/test/CodeGen/LoongArch/load-store-offset.ll
M llvm/test/CodeGen/LoongArch/memcmp.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/nomerge.ll
M llvm/test/CodeGen/LoongArch/not.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/LoongArch/patchable-function-entry.ll
M llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
M llvm/test/CodeGen/LoongArch/preferred-alignments.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
M llvm/test/CodeGen/LoongArch/returnaddr-error.ll
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
M llvm/test/CodeGen/LoongArch/select-const.ll
M llvm/test/CodeGen/LoongArch/select-to-shiftand.ll
M llvm/test/CodeGen/LoongArch/sext-cheaper-than-zext.ll
M llvm/test/CodeGen/LoongArch/shift-masked-shamt.ll
M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
M llvm/test/CodeGen/LoongArch/split-sp-adjust.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
M llvm/test/CodeGen/LoongArch/stptr.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
M llvm/test/CodeGen/LoongArch/thread-pointer.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/LoongArch/trap.ll
M llvm/test/CodeGen/LoongArch/unaligned-access.ll
M llvm/test/CodeGen/LoongArch/xray-attribute-instrumentation.ll
M llvm/test/CodeGen/LoongArch/zext-with-load-is-free.ll
M llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll
M llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll
Log Message:
-----------
[test][LoongArch] Add -mattr=+d option. NFC
Because most of tests assume target-abi=`lp64d`, adding the
corresponding feature is reasonable.
rg -l loongarch -g '!*.s' | xargs sed -i '/mtriple=loongarch/ {/-mattr=/!{/target-abi/! s/mtriple=loongarch.. /&-mattr=+d /}}'
Commit: 415616daa0bdf6c0065c4c1967f1c4050e6ea836
https://github.com/llvm/llvm-project/commit/415616daa0bdf6c0065c4c1967f1c4050e6ea836
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Lower standalone ops via OMP dispatch, NFC (#92045)
This moves lowering of standalone OpenMP ops into the dispatch function.
Follow-up to PR90098.
Commit: 3d38b1703d6bf50d7c5b55b5c56e9a533cd2fe14
https://github.com/llvm/llvm-project/commit/3d38b1703d6bf50d7c5b55b5c56e9a533cd2fe14
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-14 (Tue, 14 May 2024)
Changed paths:
A .github/workflows/pr-request-release-note.yml
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
M bolt/test/X86/bolt-address-translation-yaml.test
A bolt/test/X86/profile-passthrough-block.test
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Sema/TreeTransform.h
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/AST/Interp/arrays.cpp
A clang/test/AST/ast-dump-anonymous-class.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
A clang/test/Analysis/unreachable-code-exceptions.cpp
A clang/test/SemaCXX/cxx2c-attributes.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/www/cxx_status.html
M flang/include/flang/Lower/StatementContext.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
A flang/test/Driver/print-resource-dir.F90
M flang/test/HLFIR/order_assignments/impure-where.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
A flang/test/HLFIR/order_assignments/where-cleanup.f90
M flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
A flang/test/HLFIR/order_assignments/where-hoisting.f90
A flang/test/Lower/HLFIR/where-nonelemental.f90
M libc/hdr/CMakeLists.txt
A libc/hdr/errno_macros.h
M libc/include/errno.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/error-number-macros.h
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/error-number-macros.h
A libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
A libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/abs_timeout.h
A libc/src/__support/time/linux/clock_conversion.h
R libc/src/__support/time/linux/clock_gettime.cpp
M libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/linux/monotonicity.h
M libc/src/__support/time/units.h
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/time/CMakeLists.txt
A libc/test/src/__support/time/linux/CMakeLists.txt
A libc/test/src/__support/time/linux/timeout_test.cpp
M libc/test/src/string/memcpy_test.cpp
A libc/test/src/string/memory_utils/protected_pages.h
M libc/test/src/string/memset_test.cpp
M lld/ELF/Writer.cpp
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
M lldb/test/API/functionalities/exec/TestExec.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
M lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
M lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py
R lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
M llvm/docs/GettingInvolved.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/PseudoSourceValue.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/MustExecute/const-cond.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
A llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/test/CodeGen/Hexagon/asr-rnd.ll
M llvm/test/CodeGen/Hexagon/asr-rnd64.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/alsl.ll
M llvm/test/CodeGen/LoongArch/analyze-branch.ll
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/bitreverse.ll
M llvm/test/CodeGen/LoongArch/block-address.ll
M llvm/test/CodeGen/LoongArch/blockaddress-symbol.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-32.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-64.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation.ll
M llvm/test/CodeGen/LoongArch/bstrins_d.ll
M llvm/test/CodeGen/LoongArch/bstrins_w.ll
M llvm/test/CodeGen/LoongArch/bstrpick_d.ll
M llvm/test/CodeGen/LoongArch/bstrpick_w.ll
M llvm/test/CodeGen/LoongArch/bswap-bitreverse.ll
M llvm/test/CodeGen/LoongArch/bswap.ll
M llvm/test/CodeGen/LoongArch/bytepick.ll
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/cpu-name-generic.ll
M llvm/test/CodeGen/LoongArch/cpus.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
M llvm/test/CodeGen/LoongArch/dwarf-eh.ll
M llvm/test/CodeGen/LoongArch/e_flags.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/frameaddr-returnaddr.ll
M llvm/test/CodeGen/LoongArch/gep-imm.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la32.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la64.ll
M llvm/test/CodeGen/LoongArch/get-reg.ll
M llvm/test/CodeGen/LoongArch/get-setcc-result-type.ll
M llvm/test/CodeGen/LoongArch/global-address.ll
M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
M llvm/test/CodeGen/LoongArch/imm.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZB.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZC.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-k.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint.ll
M llvm/test/CodeGen/LoongArch/inline-asm-operand-modifiers.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names-error.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names.ll
M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-iocsr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64.ll
M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
M llvm/test/CodeGen/LoongArch/intrinsic-not-constant-error.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/ashr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/br.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence-singlethread.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/indirectbr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/lshr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/mul.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-bare-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-icc-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sext-zext-trunc.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/shl.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/jump-table.ll
M llvm/test/CodeGen/LoongArch/ldptr.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-2.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-3.ll
M llvm/test/CodeGen/LoongArch/legalicmpimm.ll
M llvm/test/CodeGen/LoongArch/load-store-offset.ll
M llvm/test/CodeGen/LoongArch/memcmp.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/nomerge.ll
M llvm/test/CodeGen/LoongArch/not.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/LoongArch/patchable-function-entry.ll
M llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
M llvm/test/CodeGen/LoongArch/preferred-alignments.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
M llvm/test/CodeGen/LoongArch/returnaddr-error.ll
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
M llvm/test/CodeGen/LoongArch/select-const.ll
M llvm/test/CodeGen/LoongArch/select-to-shiftand.ll
M llvm/test/CodeGen/LoongArch/sext-cheaper-than-zext.ll
M llvm/test/CodeGen/LoongArch/shift-masked-shamt.ll
M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
M llvm/test/CodeGen/LoongArch/split-sp-adjust.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
M llvm/test/CodeGen/LoongArch/stptr.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
M llvm/test/CodeGen/LoongArch/thread-pointer.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/LoongArch/trap.ll
M llvm/test/CodeGen/LoongArch/unaligned-access.ll
M llvm/test/CodeGen/LoongArch/xray-attribute-instrumentation.ll
M llvm/test/CodeGen/LoongArch/zext-with-load-is-free.ll
M llvm/test/CodeGen/NVPTX/global-variable-big.ll
M llvm/test/CodeGen/PowerPC/and_sext.ll
A llvm/test/CodeGen/RISCV/jumptable-swguarded.ll
R llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
R llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
R llvm/test/CodeGen/SPIRV/link-attribute.ll
R llvm/test/CodeGen/SPIRV/linkage-types.ll
A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODR.ll
A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODRFun.ll
A llvm/test/CodeGen/SPIRV/linkage/extern-weak-linkage.ll
A llvm/test/CodeGen/SPIRV/linkage/link-attribute.ll
A llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/satur-arith.ll
A llvm/test/CodeGen/SPIRV/spirv-decoration.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/msan_x86_bts_asm.ll
M llvm/test/MC/SystemZ/insn-good-z13.s
M llvm/test/MC/SystemZ/insn-good-z14.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
M llvm/test/TableGen/riscv-target-def.td
M llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll
M llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/LICM/hoist-mustexec.ll
M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-matching-LCS.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-LCS.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/ValueTest.cpp
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/git/github-automation.py
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Transforms/SROA.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/lib/Transforms/SROA.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
A mlir/test/Dialect/SparseTensor/sparse_relu.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
A mlir/test/Transforms/sroa.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
M offload/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/kparzysz/spr/d10-noclauses
Compare: https://github.com/llvm/llvm-project/compare/5b404f6618f0...3d38b1703d6b
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