[all-commits] [llvm/llvm-project] a853d7: [RISCV][GISel] Don't check for FP uses of of IMPLI...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Thu Apr 4 12:27:18 PDT 2024
Branch: refs/heads/users/vitalybuka/spr/main.nfchwasan-cleanup-opt-opt-test
Home: https://github.com/llvm/llvm-project
Commit: a853d79963c6ac09154817690a8c317157345876
https://github.com/llvm/llvm-project/commit/a853d79963c6ac09154817690a8c317157345876
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
Log Message:
-----------
[RISCV][GISel] Don't check for FP uses of of IMPLICIT_DEF if the type is vector. NFC
If the type is vector, we can immediately know to use vector mapping.
Previously we searched for FP uses, but then replaced it if the type
was vector.
Commit: a4c470555b5c311770e6cb58494c573c4efe53d6
https://github.com/llvm/llvm-project/commit/a4c470555b5c311770e6cb58494c573c4efe53d6
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[mlir][linalg] Fix builder API usage in `RegionBuilderHelper` (#87451)
Operations must be created with the supplied builder. Otherwise, the
dialect conversion / greedy pattern rewrite driver can break.
This commit fixes a crash in the dialect conversion:
```
within split at llvm-project/mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir:1 offset :8:8: error: failed to legalize operation 'tosa.add'
%0 = tosa.add %1, %arg2 : (tensor<10x10xf32>, tensor<*xf32>) -> tensor<*xf32>
^
within split at llvm-project/mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir:1 offset :8:8: note: see current operation: %9 = "tosa.add"(%8, %arg2) : (tensor<10x10xf32>, tensor<*xf32>) -> tensor<*xf32>
mlir-opt: llvm-project/mlir/include/mlir/IR/UseDefLists.h:198: mlir::IRObjectWithUseList<mlir::OpOperand>::~IRObjectWithUseList() [OperandType = mlir::OpOperand]: Assertion `use_empty() && "Cannot destroy a value that still has uses!"' failed.
```
This commit is the proper fix for #87297 (which was reverted).
Commit: fb635be0b8a3e14ca38f3f74e8224f9e0f716a10
https://github.com/llvm/llvm-project/commit/fb635be0b8a3e14ca38f3f74e8224f9e0f716a10
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/strstream
M libcxx/modules/std/strstream.inc
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.dest/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cp_size_cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cscp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cucp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/custom_alloc.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/scp_size_scp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ucp_size_ucp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/pbackfail.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekoff.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekpos.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/underflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/types.pass.cpp
Log Message:
-----------
[libc++] P2867R1: Remove Deprecated `strstream`s From C++26 (#87107)
Implements: https://wg21.link/P2867R2
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 07d5f491867d390b9aee33035c187e27cf0746a0
https://github.com/llvm/llvm-project/commit/07d5f491867d390b9aee33035c187e27cf0746a0
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
Log Message:
-----------
[RISCV] Add patterns for fixed vector vwsll (#87316)
Fixed vectors have their sext/zext operands legalized to _VL nodes, so
we need to handle them in the patterns.
This adds a riscv_ext_vl_oneuse pattern since we don't care about the
type of extension used for the shift amount, and extends
Low8BitsSplatPat to handle other _VL nodes. We don't actually need to
check the mask or VL there since none of the _VL nodes have passthru
operands.
The remaining test cases that are widening from i8->i64 need to be
handled by extending combineBinOp_VLToVWBinOp_VL.
This also fixes Low8BitsSplatPat incorrectly checking the vector size
instead of the element size to determine if the splat value might have
been truncated below 8 bits.
Commit: 698bf3dafcc0dfa15540ae7f1f9b72208a578bd2
https://github.com/llvm/llvm-project/commit/698bf3dafcc0dfa15540ae7f1f9b72208a578bd2
Author: Sourabh Singh Tomar <sourabhsingh.tomar at amd.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
A flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
Log Message:
-----------
[flang][OpenMP] Fix for #86393 (#87452)
Commit: e8aaa3eaedc3b5519747a68e772f0bc664b89154
https://github.com/llvm/llvm-project/commit/e8aaa3eaedc3b5519747a68e772f0bc664b89154
Author: Gulfem Savrun Yeniceri <gulfem at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libc/config/baremetal/api.td
M libc/config/gpu/api.td
M libc/config/linux/api.td
M libc/include/CMakeLists.txt
M libc/spec/posix.td
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftello.h
Log Message:
-----------
Revert "[libc] Added transitive bindings for OffsetType (#87397)"
This reverts commit 3ee93f486293420852fb9ec95af9c5f54cecdb08
because it broke Fuchsia Clang toolchain builders:
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8751633430491432833/+/u/clang/build/stdout
Commit: 3a7b5223a6639e497c856368da11b5d74ec9d6e8
https://github.com/llvm/llvm-project/commit/3a7b5223a6639e497c856368da11b5d74ec9d6e8
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
A llvm/test/CodeGen/RISCV/rvv/fold-binop-into-select.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
Log Message:
-----------
[DAGCombiner][RISCV] Handle truncating splats in isNeutralConstant (#87338)
On RV64, we legalize zexts of i1s to (vselect m, (splat_vector i64 1),
(splat_vector i64 0)), where the splat_vectors are implicitly
truncating.
When the vselect is used by a binop we want to pull the vselect out via
foldSelectWithIdentityConstant. But because vectors with an element size
< i64 will truncate, isNeutralConstant will return false.
This patch handles truncating splats by getting the APInt value and
truncating it. We almost don't need to do this since most of the neutral
elements are either one/zero/all ones, but it will make a difference for
smax and smin.
I wasn't able to figure out a way to write the tests in terms of select,
since we need the i1 zext legalization to create a truncating
splat_vector.
This supercedes #87236. Fixed vectors are unfortunately not handled by
this patch (since they get legalized to _VL nodes), but they don't seem
to appear in the wild.
Commit: d89914f30bc7c180fe349a5aa0f03438ae6c20a4
https://github.com/llvm/llvm-project/commit/d89914f30bc7c180fe349a5aa0f03438ae6c20a4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-03 (Wed, 03 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add Version2 of IndexedMemProfRecord serialization (#87455)
I'm currently developing a new version of the indexed memprof format
where we deduplicate call stacks in IndexedAllocationInfo::CallStack
and IndexedMemProfRecord::CallSites. We refer to call stacks with
integer IDs, namely CallStackId, just as we refer to Frame with
FrameId. The deduplication will cut down the profile file size by 80%
in a large memprof file of mine.
As a step toward the goal, this patch teaches
IndexedMemProfRecord::{serialize,deserialize} to speak Version2. A
subsequent patch will add Version2 support to llvm-profdata.
The essense of the patch is to replace the serialization of a call
stack, a vector of FrameIDs, with that of a CallStackId. That is:
const IndexedAllocationInfo &N = ...;
...
LE.write<uint64_t>(N.CallStack.size());
for (const FrameId &Id : N.CallStack)
LE.write<FrameId>(Id);
becomes:
LE.write<CallStackId>(N.CSId);
Commit: 4f19f15a601a5761b12c9c66d99d97dbc89ef90d
https://github.com/llvm/llvm-project/commit/4f19f15a601a5761b12c9c66d99d97dbc89ef90d
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-note-gnu-property.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[PAC][llvm-readobj][AArch64][ELF] Support `GNU_PROPERTY_AARCH64_FEATURE_PAUTH` (#87545)
Reland #85231 after fixing build failure
https://lab.llvm.org/buildbot/#/builders/186/builds/15631.
Use `PRIx64` for format output of `uint64_t` as hex.
Original PR description below.
This adds support for `GNU_PROPERTY_AARCH64_FEATURE_PAUTH` feature (as
defined in https://github.com/ARM-software/abi-aa/pull/240) handling in
llvm-readobj and llvm-readelf. The following constants for supported
platforms are also introduced:
- `AARCH64_PAUTH_PLATFORM_INVALID = 0x0`
- `AARCH64_PAUTH_PLATFORM_BAREMETAL = 0x1`
- `AARCH64_PAUTH_PLATFORM_LLVM_LINUX = 0x10000002`
For the llvm_linux platform, output of the tools contains descriptions
of PAuth features which are enabled/disabled depending on the version
value. Version value bits correspond to the following `LangOptions`
defined in #85232:
- bit 0: `PointerAuthIntrinsics`;
- bit 1: `PointerAuthCalls`;
- bit 2: `PointerAuthReturns`;
- bit 3: `PointerAuthAuthTraps`;
- bit 4: `PointerAuthVTPtrAddressDiscrimination`;
- bit 5: `PointerAuthVTPtrTypeDiscrimination`;
- bit 6: `PointerAuthInitFini`.
Support for `.note.AARCH64-PAUTH-ABI-tag` is dropped since it's deleted
from the spec in ARM-software/abi-aa#250.
Commit: d4cd65ecf2546e509f43363f96364c976f49b9da
https://github.com/llvm/llvm-project/commit/d4cd65ecf2546e509f43363f96364c976f49b9da
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/range.ll
Log Message:
-----------
[LVI] Handle range attributes (#86413)
This adds handling of range attribute for return values of Call and
Invoke in getFromRangeMetadata and handling of argument with range
attribute in solveBlockValueNonLocal.
There is one additional check of the range metadata at line 1120 in
getValueFromSimpleICmpCondition that is not covered in this PR as after
https://github.com/llvm/llvm-project/pull/75311 there is no test that
cover that check any more and I have not been able to create a test that
trigger that code.
Commit: d6e458219897fad0e460e663833b2190af48c06d
https://github.com/llvm/llvm-project/commit/d6e458219897fad0e460e663833b2190af48c06d
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
Log Message:
-----------
[MLIR][LLVM][Mem2Reg] Relax type equality requirement for load and store (#87504)
This commit relaxes Mem2Reg's type equality requirement for the LLVM
dialect's load and store operations. For now, we only allow loads to be
promoted if the reaching definition can be casted into a value of the
target type.
For stores, all type checks are removed, as a non-volatile store that
does not write out the alloca's pointer can always be deleted.
Commit: e69cab7f37cf6f35306356cddb26049fd6138df7
https://github.com/llvm/llvm-project/commit/e69cab7f37cf6f35306356cddb26049fd6138df7
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M flang/unittests/Runtime/Time.cpp
Log Message:
-----------
[Flang] Make SLES 15 build tests (#87498)
SLES 15 comes with a GCC 7.5 as default, which does not support the
C++17 `<charconv>` header. This results in build errors when trying to
run `check-flang`.
This patch addresses that and uses the older `std::stol` for the string
-> number conversion to allow the SLES 15 buildbot
(https://lab.llvm.org/staging/#/builders/193) to turn green.
Commit: d542cb3175f0c5691808b9c50234788c7be1154f
https://github.com/llvm/llvm-project/commit/d542cb3175f0c5691808b9c50234788c7be1154f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
[mlir][Interfaces][NFC] `ValueBoundsConstraintSet`: Delete dead code (#86098)
There is an assertion that the stop condition is not satisfied for the
the starting point at the beginning of `computeBound`. Therefore, that
case does not have to be handled later on in that function.
Commit: 35886dc63a2d024e20c10d2e1cb3f5fa5d9f72cc
https://github.com/llvm/llvm-project/commit/35886dc63a2d024e20c10d2e1cb3f5fa5d9f72cc
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[clang] Remove an unintended statement, NFC
Commit: 550e09db1ad6e8f28546fa0c24b5582e57e210c4
https://github.com/llvm/llvm-project/commit/550e09db1ad6e8f28546fa0c24b5582e57e210c4
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/IncludeCleaner.h
Log Message:
-----------
[clangd][NFC] Delete dead code
Commit: 5e4a44380eed172e9f2954f462e94dac97b8e728
https://github.com/llvm/llvm-project/commit/5e4a44380eed172e9f2954f462e94dac97b8e728
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Arith/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
Log Message:
-----------
[mlir][Interfaces][NFC] `ValueBoundsConstraintSet`: Pass stop condition in the constructor (#86099)
This commit changes the API of `ValueBoundsConstraintSet`: the stop
condition is now passed to the constructor instead of `processWorklist`.
That makes it easier to add items to the worklist multiple times and
process them in a consistent manner. The current
`ValueBoundsConstraintSet` is passed as a reference to the stop
function, so that the stop function can be defined before the the
`ValueBoundsConstraintSet` is constructed.
This change is in preparation of adding support for branches.
Commit: a2306b65d223212dcfafe12c7299262d8d4fdcb4
https://github.com/llvm/llvm-project/commit/a2306b65d223212dcfafe12c7299262d8d4fdcb4
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libc/fuzzing/CMakeLists.txt
A libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/uint_fuzz.cpp
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/src/__support/integer_literals.h
M libc/src/__support/math_extras.h
M libc/src/__support/number_pair.h
M libc/test/src/__support/integer_literals_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/uint_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
[libc] Refactor `BigInt` (#86137)
This patch moves most of the multiprecision logic to the `multiword`
namespace and simplifies some logic in `BigInt`. It also fully
implements the mask and count functions and increases test coverage.
`math_extras.h` is also reworked to make it more concise.
Commit: 47e996d89d4d1e229451594d4b0752b71e8e231c
https://github.com/llvm/llvm-project/commit/47e996d89d4d1e229451594d4b0752b71e8e231c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/OpVariable_order.ll
M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-call-no-bitcast.ll
Log Message:
-----------
[SPIR-V] Fix OpVariable instructions place in a function (#87554)
This PR:
* fixes OpVariable instructions place in a function (see
https://github.com/llvm/llvm-project/issues/66261),
* improves type inference,
* helps avoiding unneeded bitcasts when validating function call's
This allows to improve existing and add new test cases with more strict
checks. OpVariable fix refers to "All OpVariable instructions in a
function must be the first instructions in the first block" requirement
from SPIR-V spec.
Commit: 12735916bd3a63aa9f316af8eebfe9420cfec489
https://github.com/llvm/llvm-project/commit/12735916bd3a63aa9f316af8eebfe9420cfec489
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libc/fuzzing/CMakeLists.txt
R libc/fuzzing/__support/CMakeLists.txt
R libc/fuzzing/__support/uint_fuzz.cpp
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/src/__support/integer_literals.h
M libc/src/__support/math_extras.h
M libc/src/__support/number_pair.h
M libc/test/src/__support/integer_literals_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/uint_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
Revert "[libc] Refactor `BigInt`" (#87612)
Reverts llvm/llvm-project#86137
Some aarch64 compilers seem to consider that `uint128_t` is not
`is_trivially_constructible` which prevents `bit_cast`-ing.
Commit: 61efea7142e904e6492e1ce0566ec23d9d221c1e
https://github.com/llvm/llvm-project/commit/61efea7142e904e6492e1ce0566ec23d9d221c1e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix a couple of issues preventing in-tree builds (#87505)
libclc is mentioned in the list of LLVM_ENABLE_PROJECTS but it isn't
actually possible to build it in-tree for various reasons. Users
currently have to build it via LLVM_ENABLE_EXTERNAL_PROJECTS, which
isn't very well documented.
We can't properly build in-tree because the current system needs to
"see" clang and other tools at CMake configuration time. The general
idea is that we could fix this in the future by moving the compilation
and linking of bitcode libraries to custom commands, which would remove
the dependency on CMake configuration and would allow us to build libclc
after clang and other tools are built in-tree. Since that's a bigger
change, it is being left for later.
Note that with this commit it's *still* not possible to properly build
in-tree - this commit just fixes a few little things that are in the
way. We are now able to build in-tree in the sense that it can be built
as a regular LLVM sub-project, but the tools it uses to compile the
libraries are still picked up from a pre-existing installation of LLVM,
and not from tools built during the same build as libclc.
The things fixed by this commit include:
* Its use of CMAKE_SOURCE_DIR (i.e., assuming it was the top-level
project)
* These have been converted to PROJECT_SOURCE_DIR - should have no
consequences for out-of-tree builds.
* Its prepare_builtins tool insisting on linking against the dynamic
LLVM.so.
* This has been turned from an "llvm executable" into an "llvm utility"
which links against the static libraries.
* It was also missing a link component for the IRReader library.
* Assuming an output path for its builtin libraries (dependent on the
working directory)
* This has been changed to query CMake for the library target's output
file.
* The spirv-mesa3d and spirv64-mesa3d targets were enabled by default
(or when asking to build 'all' libclc targets), when they require
llvm-spirv as an external dependency.
* They are now only built when the user explicitly asks for them, or
when llvm-spirv is available and the user asks for 'all'.
Commit: 3cf539fb046457a444e93cefc87cca10cbd3b807
https://github.com/llvm/llvm-project/commit/3cf539fb046457a444e93cefc87cca10cbd3b807
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
Log Message:
-----------
[AMDGPU] Combine or remove redundant waitcnts at the end of each MBB (#87539)
Call generateWaitcnt unconditionally at the end of
SIInsertWaitcnts::insertWaitcntInBlock. Even if we don't need to
generate a new waitcnt instruction it has the effect of combining or
removing redundant waitcnts that were already present. Tests show
various small improvements in waitcnt placement.
Commit: 708ce8569067c2aabd3cc669b0db90f23e53b3b0
https://github.com/llvm/llvm-project/commit/708ce8569067c2aabd3cc669b0db90f23e53b3b0
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/PrintPasses.h
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
Log Message:
-----------
[RemoveDIs][NFC] Use ScopedDbgInfoFormatSetter in more places (#87380)
The class `ScopedDbgInfoFormatSetter` was added as a convenient way to
temporarily change the debug info format of a function or module, as
part of IR printing; since this process is repeated in a number of other
places, this patch uses the format-setter class in those places as well.
Commit: 7a8cf951b3bdc60feac412200ab9661e009d44ae
https://github.com/llvm/llvm-project/commit/7a8cf951b3bdc60feac412200ab9661e009d44ae
Author: Tim Northover <tnorthover at apple.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/mcmodel.c
Log Message:
-----------
AArch64-Darwin: allow -mcmodel=large with (default) PIC
Darwin targets implement -mcmodel=large by forcing all global accesses to use
the GOT, instead of the ELF movz/movk sequence. That means it's compatible with
PIC so the Clang driver shouldn't reject the option.
Commit: cca9115b1c640a307b510821cb84a1f3bb76b969
https://github.com/llvm/llvm-project/commit/cca9115b1c640a307b510821cb84a1f3bb76b969
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/ELF/aarch64-bti-pac-cli-error.s
A lld/test/ELF/aarch64-feature-pauth.s
A lld/test/ELF/aarch64-reloc-pauth-ro.s
A lld/test/ELF/aarch64-reloc-pauth.s
Log Message:
-----------
[lld][AArch64][ELF][PAC] Support AUTH relocations and AUTH ELF marking (#72714)
This patch adds lld support for:
- Dynamic R_AARCH64_AUTH_* relocations (without including RELR compressed AUTH
relocations) as described here:
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#auth-variant-dynamic-relocations
- .note.AARCH64-PAUTH-ABI-tag section as defined here
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#elf-marking
Depends on #72713 and #85231
---------
Co-authored-by: Peter Collingbourne <peter at pcc.me.uk>
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: 71c3f5d617aa132418e87403c8be3cdcd102ab18
https://github.com/llvm/llvm-project/commit/71c3f5d617aa132418e87403c8be3cdcd102ab18
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libc/fuzzing/CMakeLists.txt
A libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/uint_fuzz.cpp
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/src/__support/integer_literals.h
M libc/src/__support/math_extras.h
M libc/src/__support/number_pair.h
M libc/test/src/__support/integer_literals_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/uint_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
Log Message:
-----------
[reland][libc] Refactor `BigInt` (#87613)
This is a reland of #86137 with a fix for platforms / compiler that do
not support trivially constructible int128 types.
Commit: 5334b31e7c41174a418afbfe132bd0a86a47a22e
https://github.com/llvm/llvm-project/commit/5334b31e7c41174a418afbfe132bd0a86a47a22e
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][OpenMP][NFC] Use SmallVectorImpl for function arguments (#86978)
Commit: ed5fe66370cb0ea88913458d71959407dc7b1394
https://github.com/llvm/llvm-project/commit/ed5fe66370cb0ea88913458d71959407dc7b1394
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[RemoveDIs][BC] Reject intrinsic->record upgrades for old-format modules (#87494)
Fixes issue noted at: https://github.com/llvm/llvm-project/pull/86274
When loading bitcode lazily, we may request debug intrinsics be upgraded
to debug records during the module parsing phase; later on we perform
this upgrade when materializing the module functions. If we change the
module's debug info format between parsing and materializing however,
then the requested upgrade is no longer correct and leads to an
assertion. This patch fixes the issue by adding an extra check in the
autoupgrader to see if the upgrade is no longer suitable, and either
exit-out or fall back to the correct intrinsic->intrinsic upgrade if one
is required.
Commit: 918542d2ce550c0ac3c7e4d753318265f277631b
https://github.com/llvm/llvm-project/commit/918542d2ce550c0ac3c7e4d753318265f277631b
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
Log Message:
-----------
ELFRelocs/AArch64: update canonical reference URL (NFC) (#86955)
Update the URL of the reference to be used for AArch64.def, and add some
comments. The canonical aaelf64 document can be found at:
https://github.com/ARM-software/abi-aa/blob/main/aaelf64/aaelf64.rst
Commit: 099ecdf1ec2f87b5bae74518166daf1d2b09da45
https://github.com/llvm/llvm-project/commit/099ecdf1ec2f87b5bae74518166daf1d2b09da45
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
Log Message:
-----------
[mlir][OpenMP] map argument to reduction initialization region (#86979)
The argument to the initialization region of reduction declarations was
never mapped. This meant that if this argument was accessed inside the
initialization region, that mlir operation would be translated to an
llvm operation with a null argument (failing verification).
Adding the mapping ensures that the right LLVM value can be found when
inlining and converting the initialization region.
We have to separately establish and clean up these mappings for each use
of the reduction declaration because repeated usage of the same
declaration will inline it using a different concrete value for the
block argument.
This argument was never used previously because for most cases the
initialized value depends only upon the type of the reduction, not on
the original variable. It is needed now so that we can read the array
extents for the local copy from the mold.
Flang support for reductions on assumed shape arrays patch 2/3
Commit: a9d963fdf81dc5c6221a0e915821877c35096aff
https://github.com/llvm/llvm-project/commit/a9d963fdf81dc5c6221a0e915821877c35096aff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
Log Message:
-----------
[DAG] SoftenFloatResult - add clang-format off/on tags around switch statement. NFC.
Stop clang-format from trying to put all the case on separate lines.
Commit: d799be8154d6cb9f5a5b0f6a5c41923313731a85
https://github.com/llvm/llvm-project/commit/d799be8154d6cb9f5a5b0f6a5c41923313731a85
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
Log Message:
-----------
[flang] implement passing assumed-size array to assumed-rank arguments (#87511)
Remove the TODO, the patch that ensured that the descriptor upper bound
is set to -1 was https://github.com/llvm/llvm-project/pull/79156.
Commit: cbdc86e46c3824dda152db2bd0b9fdb3872ddf87
https://github.com/llvm/llvm-project/commit/cbdc86e46c3824dda152db2bd0b9fdb3872ddf87
Author: Andrew V. Teylu <andrewvaughanj at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
A clang/test/Interpreter/inline-asm.cpp
M clang/tools/clang-repl/ClangRepl.cpp
Log Message:
-----------
[clang-repl] Add call to 'InitializeAllAsmParsers' (#86727)
This PR fixes the following issue when working with `clang-repl`:
```
fatal error: error in backend: Inline asm not supported by this streamer because we don't have an asm parser for this target
```
When working with the following input (named "unit.cpp"):
```cpp
__asm(".globl _ZSt21ios_base_library_initv");
int x;
```
and then in `clang-repl`:
```
#include "unit.cpp"
x = 10;
```
Signed-off-by: Andrew V. Teylu <andrew.teylu at vector.com>
Commit: 2d0087424f120c97c8fdecf50e6e5f6a1f3969f2
https://github.com/llvm/llvm-project/commit/2d0087424f120c97c8fdecf50e6e5f6a1f3969f2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/widen-load-of-small-alloca-with-zero-upper-half.ll
Log Message:
-----------
[DAG] Remove extract_vector_elt(freeze(x)), idx -> freeze(extract_vector_elt(x), idx) fold (#87480)
Reverse the fold with handling inside canCreateUndefOrPoison for cases where we know that the extract index is in bounds.
This exposed a number or regressions, and required some initial freeze handling of SCALAR_TO_VECTOR, which will require us to properly improve demandedelts support to handle its undef upper elements.
There is still one outstanding regression to be addressed in the future - how do we want to handle folds involving frozen loads?
Fixes #86968
Commit: dbd6eb6779bc7073c5466e9689eb5a69736d1120
https://github.com/llvm/llvm-project/commit/dbd6eb6779bc7073c5466e9689eb5a69736d1120
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
Log Message:
-----------
[flang][OpenMP] lower reductions of assumed shape arrays (#86982)
Patch 1: https://github.com/llvm/llvm-project/pull/86978
Patch 2: https://github.com/llvm/llvm-project/pull/86979
Commit: cc34ad91f0d0cfb4e568e67eedc8a6a3684b89ea
https://github.com/llvm/llvm-project/commit/cc34ad91f0d0cfb4e568e67eedc8a6a3684b89ea
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
A mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
Log Message:
-----------
[MLIR][OpenMP] Add cleanup region to omp.declare_reduction (#87377)
Currently, by-ref reductions will allocate the per-thread reduction
variable in the initialization region. Adding a cleanup region allows
that allocation to be undone. This will allow flang to support reduction
of arrays stored on the heap.
This conflation of allocation and initialization in the initialization
should be fixed in the future to better match the OpenMP standard, but
that is beyond the scope of this patch.
Commit: 212b2bbcd1583353bccef3418e94912a30775715
https://github.com/llvm/llvm-project/commit/212b2bbcd1583353bccef3418e94912a30775715
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] foldShuffleOfCastops - fold shuffle(cast(x),cast(y)) -> cast(shuffle(x,y)) iff cost efficient (#87510)
Based off the existing foldShuffleOfBinops fold
Fixes #67803
Commit: bf2d7858e5998bed28d437973588e0294bd54bcf
https://github.com/llvm/llvm-project/commit/bf2d7858e5998bed28d437973588e0294bd54bcf
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/test/CodeGen/cx-complex-range.c
Log Message:
-----------
Fix bug in the type promotion for complex division in strict FP mode. (#87500)
Complex division on Windows with `-fcomplex-arithmetic=promoted` and
`-ffp-model=strict` is crashing. This patch fixes the issue.
See https://godbolt.org/z/15Gh7nvdM
Commit: 608a663c8ee485c42637d021d554c8d264d556b1
https://github.com/llvm/llvm-project/commit/608a663c8ee485c42637d021d554c8d264d556b1
Author: Philip Lassen <plassen at groq.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/test/Dialect/Affine/SuperVectorize/compose_maps.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
M mlir/test/Dialect/Affine/loop-fusion-dependence-check.mlir
M mlir/test/Dialect/Affine/loop-fusion-slice-computation.mlir
M mlir/test/Dialect/Affine/loop-fusion-transformation.mlir
M mlir/test/Dialect/Affine/slicing-utils.mlir
M mlir/test/lib/Dialect/Affine/TestLoopFusion.cpp
M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
Log Message:
-----------
[MLIR] Clean up pass options for test-loop-fusion and affine-super-vectorizer-test (#87606)
Before the change `test-loop-fusion` and `affine-super-vectorizer-test`
options were in their own category. This was because they used the
standard llvm command line parsing with `llvm::cl::opt`. This PR moves
them over to the mlir `Pass::Option` class.
Before the change
```
$ mlir-opt --help
...
General options:
...
Compiler passes to run
Passes:
...
Pass Pipelines:
...
Generic Options:
....
affine-super-vectorizer-test options:
--backward-slicing
...
--vectorize-affine-loop-nest
test-loop-fusion options:
--test-loop-fusion-dependence-check
...
--test-loop-fusion-transformation
```
After the change
```
$ mlir-opt --help
...
General options:
...
Compiler passes to run
Passes:
...
--affine-super-vectorizer-test
--backward-slicing
...
--vectorize-affine-loop-nest
...
--test-loop-fusion options:
--test-loop-fusion-dependence-check
...
--test-loop-fusion-transformation
...
Pass Pipelines:
...
Generic Options:
...
```
---------
Signed-off-by: philass <plassen at groq.com>
Commit: 4e0b8eae4cb4328f98e6b748c31050a704d378f6
https://github.com/llvm/llvm-project/commit/4e0b8eae4cb4328f98e6b748c31050a704d378f6
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
Log Message:
-----------
[RISCV] Add tests for vwsll for extends > .vf2. NFC
These cannot be picked up by TableGen patterns alone and need to be handled
by combineBinOp_VLToVWBinOp_VL
Commit: 7bd163d0a4b3c9c9375dc32c9c10162433c42180
https://github.com/llvm/llvm-project/commit/7bd163d0a4b3c9c9375dc32c9c10162433c42180
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
Log Message:
-----------
[VPlan] Clean up dead recipes after UF & VF specific simplification.
Recursively remove dead recipes after simplifying vector loop exit
branch.
Commit: 8ae9c6259f833dce87f8d29402b1ddced90887b9
https://github.com/llvm/llvm-project/commit/8ae9c6259f833dce87f8d29402b1ddced90887b9
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libc/src/__support/math_extras.h
Log Message:
-----------
[libc] Fix forward `constexpr` `add_with_carry` / `sub_with_borrow`
Introduced in #87613.
Commit: 1c7fda9f4cde336c4ac30c7478b223536c6eb6d6
https://github.com/llvm/llvm-project/commit/1c7fda9f4cde336c4ac30c7478b223536c6eb6d6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.
Commit: d54d476300d7aaeb6616a11b43e1b8006cad17c9
https://github.com/llvm/llvm-project/commit/d54d476300d7aaeb6616a11b43e1b8006cad17c9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Fix Wunused-variable warning. NFC.
Commit: 3871eaba6bd016b229f2d0e4b75e2be3b65e39a7
https://github.com/llvm/llvm-project/commit/3871eaba6bd016b229f2d0e4b75e2be3b65e39a7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/cast.ll
M llvm/test/Analysis/CostModel/X86/extend.ll
Log Message:
-----------
[CostModel][X86] Update AVX1 sext v8i1 -> v8i32 cost based off worst case llvm-mca numbers
We were using raw instruction count which overestimated the costs for #67803
Commit: 5ad320abe36357e3290007d3ab353e8637f33720
https://github.com/llvm/llvm-project/commit/5ad320abe36357e3290007d3ab353e8637f33720
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
A llvm/test/CodeGen/ARM/misched-branch-targets.mir
Log Message:
-----------
[ARM][Thumb2] Mark BTI-clearing instructions as scheduling region boundaries (#79173)
Following https://github.com/llvm/llvm-project/pull/68313 this patch
extends the idea to M-profile PACBTI.
The Machine Scheduler can reorder instructions within a scheduling
region depending on the scheduling policy set. If a BTI-clearing
instruction happens to partake in one such region, it might be moved
around, therefore ending up where it shouldn't.
The solution is to mark all BTI-clearing instructions as scheduling
region boundaries. This essentially means that they must not be part of
any scheduling region, and as consequence never get moved:
- PAC
- PACBTI
- BTI
- SG
Note that PAC isn't BTI-clearing, but it's replaced by PACBTI late in
the compilation pipeline.
As far as I know, currently it isn't possible to organically obtain code
that's susceptible to the bug:
- Instructions that write to SP are region boundaries. PAC seems to
always be followed by the pushing of r12 to the stack, so essentially
PAC is always by itself in a scheduling region.
- CALL_BTI is expanded into a machine instruction bundle. Bundles are
unpacked only after the last machine scheduler run. Thus setjmp and BTI
can be separated only if someone deliberately run the scheduler once
more.
- The BTI insertion pass is run late in the pipeline, only after the
last machine scheduling has run. So once again it can be reordered only
if someone deliberately runs the scheduler again.
Nevertheless, one can reasonably argue that we should prevent the bug in
spite of the compiler not being able to produce the required conditions
for it. If things change, the compiler will be robust against this
issue.
The tests written for this are contrived: bogus MIR instructions have
been added adjacent to the BTI-clearing instructions in order to have
them inside non-trivial scheduling regions.
Commit: a8c59750d911eb30d5664696db19af445dd770f8
https://github.com/llvm/llvm-project/commit/a8c59750d911eb30d5664696db19af445dd770f8
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/exp2m1f.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/exp2m1f.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/exp2m1f_test.cpp
A libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
[libc][math][c23] Add exp2m1f C23 math function (#86996)
Fixes #86502.
cc @lntue
Commit: ff56584ee9c8a6d5430c0ba461540ccb6696ebc6
https://github.com/llvm/llvm-project/commit/ff56584ee9c8a6d5430c0ba461540ccb6696ebc6
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M lld/COFF/Driver.cpp
A lld/test/COFF/print-search-paths-arm64.s
M llvm/lib/WindowsDriver/MSVCPaths.cpp
Log Message:
-----------
[LLD][COFF] Use getMachineArchType in LinkerDriver::getArch. (#87499)
Adds support for ARM64EC, which should use the same search paths as
ARM64.
It's similar to #87370 and #87495. The test is based on the existing x86
test. Generally ARM64EC libraries are shipped together with native ARM64
libraries (using ECSYMBOLS section mechanism).
getMachineArchType uses Triple::thumb, while the existing
implementation uses Triple::arm. It's ultimately passed to
MSVCPaths.cpp functions, so modify them to accept both forms.
Commit: 22089ae6c591d11143724b4bde418aa067958a8f
https://github.com/llvm/llvm-project/commit/22089ae6c591d11143724b4bde418aa067958a8f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M flang/include/flang/Runtime/io-api.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/freestanding-tools.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/namelist.cpp
Log Message:
-----------
Revert "[flang][runtime] Enable I/O APIs in F18 runtime offload builds." (#87629)
Reverts llvm/llvm-project#87543
The pre-merge Windows build is broken.
Commit: bbd259af0a4cc438dd02d5ee632cb2dc1def1f6a
https://github.com/llvm/llvm-project/commit/bbd259af0a4cc438dd02d5ee632cb2dc1def1f6a
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/DataflowLattice.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow] Refactor `widen` API to be explicit about change effect. (#87233)
The previous API relied on pointer equality of inputs and outputs to
signal whether a change occured. This was too subtle and led to bugs in
practice. It was also very limiting: the override could not return an equivalent (but
not identical) value.
Commit: 7b5255297dca377a37c8df066e9d9749ab96cfad
https://github.com/llvm/llvm-project/commit/7b5255297dca377a37c8df066e9d9749ab96cfad
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
A mlir/cmake/modules/MLIRCheckHardwareFeatures.cmake
M mlir/docs/Dialects/ArmSME.md
M mlir/test/CMakeLists.txt
Log Message:
-----------
[mlir][test] Make SME e2e tests require an emulator (#86489)
Integration tests for ArmSME require an emulator (there's no hardware
available). Make sure that CMake complains if `MLIR_RUN_ARM_SME_TESTS`
is set while `ARM_EMULATOR_EXECUTABLE` is empty.
I'm also adding a note in the docs for future reference.
Commit: 8f9903db8aed496a2cdc75a614e6d2c65c1acc07
https://github.com/llvm/llvm-project/commit/8f9903db8aed496a2cdc75a614e6d2c65c1acc07
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
Log Message:
-----------
[LLD][COFF][NFC] Use getMachineArchType helper. (#87495)
It's similar to #87370, but for lld-link.
Commit: e0e615efac522365591119165a7691ce869de512
https://github.com/llvm/llvm-project/commit/e0e615efac522365591119165a7691ce869de512
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
Log Message:
-----------
Revert "[MLIR][LLVM][Mem2Reg] Relax type equality requirement for load and store (#87504)" (#87631)
This reverts commit d6e458219897fad0e460e663833b2190af48c06d as it
violates an assumption of Mem2Reg's block argument creation. Mem2Reg
strongly assumes that all involved values have the same type as the
alloca, which was relaxed by this PR. Therefore, branches got created
that jumped to basic blocks with differently typed block arguments.
Commit: 417a068b63c01d79511fe3732dd52377b05d06fc
https://github.com/llvm/llvm-project/commit/417a068b63c01d79511fe3732dd52377b05d06fc
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
Log Message:
-----------
[clang][CGBlocks] Remove unused variable "refType" [NFC]
Without the change gcc warned like
../../clang/lib/CodeGen/CGBlocks.cpp:965:21: warning: unused variable 'refType' [-Wunused-variable]
965 | } else if (auto refType = type->getAs<ReferenceType>()) {
| ^~~~~~~
Commit: a1f4ac7704255627ac33ad67a22be5ac030f6179
https://github.com/llvm/llvm-project/commit/a1f4ac7704255627ac33ad67a22be5ac030f6179
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/pr69428.ll
Log Message:
-----------
[SEH] Ignore EH pad check for internal intrinsics (#79694)
Intrinsics like @llvm.seh.scope.begin and @llvm.seh.scope.end which do
not throw do not need funclets in catchpads or cleanuppads.
Fixes #69428
Co-authored-by: Robert Cox <robert.cox at intel.com>
---------
Co-authored-by: Robert Cox <robert.cox at intel.com>
Commit: ea88bb16485a34db58333637d8558ff57e6a1329
https://github.com/llvm/llvm-project/commit/ea88bb16485a34db58333637d8558ff57e6a1329
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M flang/lib/Lower/Runtime.cpp
M flang/test/Lower/stop-statement.f90
Log Message:
-----------
[flang] Return 1 in ERROR STOP without user provided stop-code (#87501)
See F'2023 section 11.4: "If the stop-code in an ERROR STOP statement is
of type character or does not appear, it is recommended that a
processor-dependent nonzero value be supplied as the process exit
status"
Fixes https://github.com/llvm/llvm-project/issues/66581.
Commit: 1bce411073a1deafef998d0fe9e3ae74c4cef1e5
https://github.com/llvm/llvm-project/commit/1bce411073a1deafef998d0fe9e3ae74c4cef1e5
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/Mips.h
Log Message:
-----------
MIPS/Clang: Set HasUnalignedAccess false if +strict-align (#87257)
TargetInfo has HasUnalignedAccess support now. For MIPSr6, we should set
it according strict-align.
For pre-R6, we always set strict-align and HasUnalignedAccess to false.
Commit: 110e933b7ae9150710a48b586fd3da39439079c2
https://github.com/llvm/llvm-project/commit/110e933b7ae9150710a48b586fd3da39439079c2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
CGOpenMPRuntime.cpp - fix Wparentheses warning. NFC.
Commit: 24c256a6b7892bcf98eac531c99d9038cd826ce0
https://github.com/llvm/llvm-project/commit/24c256a6b7892bcf98eac531c99d9038cd826ce0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
AMDGPULowerBufferFatPointers.cpp - fix Wparentheses warning. NFC.
Commit: 6fa2d03bbf86bc01140e3b007554617b029fd3f1
https://github.com/llvm/llvm-project/commit/6fa2d03bbf86bc01140e3b007554617b029fd3f1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
AMDGPULowerBufferFatPointers.cpp - fix Wunused-variable warning. NFC.
Commit: a69673615bb9f14794056470a32f70f60a52213d
https://github.com/llvm/llvm-project/commit/a69673615bb9f14794056470a32f70f60a52213d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
Log Message:
-----------
[X86] Haswell/Broadwell - fix (V)ROUND*ri sched behaviours to use 2*Port1
We were only using the Port23 memory ports and were missing the 2*Port1 uops entirely.
Confirmed by Agner + uops.info/uica
Commit: ecb34599bdadfb74ee22529ad150e7500dd22641
https://github.com/llvm/llvm-project/commit/ecb34599bdadfb74ee22529ad150e7500dd22641
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86ManualCompressEVEXTables.def
Log Message:
-----------
[X86] Add missing immediate qualifier to the (V)ROUND instructions (#87636)
Makes it easier to algorithmically recreate the instruction name in various analysis scripts I'm working on
Commit: c1742525d0126a6124d15512b7283c4e37c7c186
https://github.com/llvm/llvm-project/commit/c1742525d0126a6124d15512b7283c4e37c7c186
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
Log Message:
-----------
[X86] evex-to-vex-compress.mir - update test checks missed in #87636
Commit: 8ebf7b7d7aed45889415669e0c7353f9b528161a
https://github.com/llvm/llvm-project/commit/8ebf7b7d7aed45889415669e0c7353f9b528161a
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M clang/test/InstallAPI/driver-invalid-options.test
Log Message:
-----------
[InstallAPI][Test] Add test for invalid verification mode (#87602)
Commit: 5b59ae423a9e86beddafb868b9d549b2f18825ab
https://github.com/llvm/llvm-project/commit/5b59ae423a9e86beddafb868b9d549b2f18825ab
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/function-returns.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/WebAssembly/multi-return.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/WebAssembly/simd.ll
Log Message:
-----------
[DAG] Preserve NUW when reassociating (#87621)
Similarly to the generic case below, preserve the NUW flag when
reassociating adds with constants.
Commit: 51f1cb5355d296ccb7756944d0545d9c96066b78
https://github.com/llvm/llvm-project/commit/51f1cb5355d296ccb7756944d0545d9c96066b78
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/test/CodeGen/X86/2009-05-23-dagcombine-shifts.ll
M llvm/test/CodeGen/X86/load-local-v3i129.ll
M llvm/test/CodeGen/X86/pr23664.ll
Log Message:
-----------
[X86] Add or_is_add patterns for INC. (#87584)
Should fix the cases noted in #86857
Commit: 1b761205f2686516cebadbcbc37f798197d9c482
https://github.com/llvm/llvm-project/commit/1b761205f2686516cebadbcbc37f798197d9c482
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Support/APInt.cpp
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[APInt] Add a simpler overload of multiplicativeInverse (#87610)
The current APInt::multiplicativeInverse takes a modulus which can be
any value, but all in-tree callers use a power of two. Moreover, most
callers want to use two to the power of the width of an existing APInt,
which is awkward because 2^N is not representable as an N-bit APInt.
Add a new overload of multiplicativeInverse which implicitly uses
2^BitWidth as the modulus.
Commit: eb3819073ea7aa6ee06b698da5e8f8a9d08dff75
https://github.com/llvm/llvm-project/commit/eb3819073ea7aa6ee06b698da5e8f8a9d08dff75
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libcxx/utils/ci/oss-fuzz.sh
Log Message:
-----------
[libc++][oss-fuzz] Updates C++ version used. (#87531)
This version update allows testing of `std::format` and the chrono
timezone parsing in oss-fuzz.
Commit: 5fd9babbfcd02bae431d5b280da59adddc2824d3
https://github.com/llvm/llvm-project/commit/5fd9babbfcd02bae431d5b280da59adddc2824d3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ScheduleZnver3.td
M llvm/test/tools/llvm-mca/X86/Znver3/dependency-breaking-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-hi-read-advance.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-lo-reg-use.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-read-advance.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-same-regs.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-mmx.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-sse-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-3.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-4.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-5.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-6.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-mmx.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-sse-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-x87.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-adx.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-aes.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-avx2.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-bmi1.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-bmi2.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-clflushopt.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-clzero.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-cmov.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-cmpxchg.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-f16c.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-fma.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-fsgsbase.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-lea.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-lzcnt.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-mmx.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-movbe.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-mwaitx.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-pclmul.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-popcnt.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-prefetchw.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-rdrand.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-rdseed.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sha.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse1.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse2.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse3.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse42.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse4a.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-ssse3.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-vaes.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-vpclmulqdq.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-x86_32.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-x86_64.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-x87.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-xsave.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-sse-xmm.s
Log Message:
-----------
[X86] Rename Zn3FPP# ports -> Zn3FP#. NFC
Matches Zn4FP# (which is mostly a copy) and avoids an issue in llvm-exegesis which is terrible at choosing the right portname when they have aliases.
Commit: d3fe2b538d53373f03ae096ccc05d07cb4d3ff3a
https://github.com/llvm/llvm-project/commit/d3fe2b538d53373f03ae096ccc05d07cb4d3ff3a
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
R mlir/cmake/modules/MLIRCheckHardwareFeatures.cmake
M mlir/docs/Dialects/ArmSME.md
M mlir/test/CMakeLists.txt
Log Message:
-----------
Revert "[mlir][test] Make SME e2e tests require an emulator (#86489)"
This reverts commit 7b5255297dca377a37c8df066e9d9749ab96cfad.
Broken bot:
* https://lab.llvm.org/buildbot/#/builders/179/builds/9794
Commit: 62740d87bcb4a43569bc88fa76c24d27a064dcf9
https://github.com/llvm/llvm-project/commit/62740d87bcb4a43569bc88fa76c24d27a064dcf9
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][bazel][math] Add float128 math functions and their smoke tests to bazel layout. (#87645)
Commit: ed412494988411fc1aae2f1014c4ecad56d8085f
https://github.com/llvm/llvm-project/commit/ed412494988411fc1aae2f1014c4ecad56d8085f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/cast.ll
M llvm/test/Analysis/CostModel/X86/extend.ll
Log Message:
-----------
[CostModel][X86] Update AVX1 sext v4i1 -> v4i64 cost based off worst case llvm-mca numbers
We were using raw instruction count which overestimated the costs for #67803
Commit: 0b293e8c36d97bbd7f85ed5b67ce510ff7fd86ee
https://github.com/llvm/llvm-project/commit/0b293e8c36d97bbd7f85ed5b67ce510ff7fd86ee
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/Support/APInt.cpp
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[APInt] Remove multiplicativeInverse with explicit modulus (#87644)
All callers have been changed to use the new simpler overload with an
implicit modulus of 2^BitWidth. The old form was never used or tested
with non-power-of-two modulus anyway.
Commit: 9e3b64b9f95aadf57568576712902a272fe66503
https://github.com/llvm/llvm-project/commit/9e3b64b9f95aadf57568576712902a272fe66503
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
A llvm/test/tools/llvm-objcopy/ELF/compress-sections-within-segment.s
A llvm/test/tools/llvm-objcopy/ELF/compress-sections.s
M llvm/test/tools/llvm-objcopy/ELF/decompress-sections.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add --compress-sections
--compress-sections is similar to --compress-debug-sections but applies
to arbitrary sections.
* `--compress-sections <section>=none`: decompress sections
* `--compress-sections <section>=[zlib|zstd]`: compress sections with zlib/zstd
Like `--remove-section`, the pattern is by default a glob, but a regex
when --regex is specified.
For `--remove-section` like options, `!` prevents matches and is not
dependent on ordering (see `ELF/wildcard-syntax.test`). Since
`--compress-sections a=zlib --compress-sections a=none` naturally allows
overriding, having an order-independent `!` would be confusing.
Therefore, `!` is disallowed.
Sections within a segment are effectively immutable. Report an error for
an attempt to (de)compress them. `SHF_ALLOC` sections in a relocatable
file can be compressed, but linkers usually reject them.
Link: https://discourse.llvm.org/t/rfc-compress-arbitrary-sections-with-ld-lld-compress-sections/71674
Pull Request: https://github.com/llvm/llvm-project/pull/85036
Commit: dcc45faa30041a3378bcde4857df205382f1996a
https://github.com/llvm/llvm-project/commit/dcc45faa30041a3378bcde4857df205382f1996a
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/linkerscript/symbolreferenced.s
Log Message:
-----------
[ELF] PROVIDE: fix spurious "symbol not found"
When archive member extraction involving ENTRY happens after
`addScriptReferencedSymbolsToSymTable`,
`addScriptReferencedSymbolsToSymTable` may fail to define some PROVIDE
symbols used by ENTRY. This is an edge case that regressed after #84512.
(The interaction with PROVIDE and ENTRY-in-archive was not considered
before).
While here, also ensure that --undefined-glob extracted object files
are parsed before `addScriptReferencedSymbolsToSymTable`.
Fixes: ebb326a51fec37b5a47e5702e8ea157cd4f835cd
Pull Request: https://github.com/llvm/llvm-project/pull/87530
Commit: be8fd86f6a57da79a4dbc8d1f4dca2e7adb1192a
https://github.com/llvm/llvm-project/commit/be8fd86f6a57da79a4dbc8d1f4dca2e7adb1192a
Author: Gulfem Savrun Yeniceri <gulfem at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
Log Message:
-----------
Revert "[GlobalISel] Fix the infinite loop issue in `commute_int_constant_to_rhs`"
This reverts commit 1f01c580444ea2daef67f95ffc5fde2de5a37cec
because combine-commute-int-const-lhs.mir test failed in
multiple builders.
https://lab.llvm.org/buildbot/#/builders/124/builds/10375
https://luci-milo.appspot.com/ui/p/fuchsia/builders/prod/clang-linux-x64/b8751607530180046481/overview
Commit: dcab42a0f9aab1d06aadc821e64af381da744819
https://github.com/llvm/llvm-project/commit/dcab42a0f9aab1d06aadc821e64af381da744819
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
A clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
Log Message:
-----------
[TBAA] Test for tbaa.struct metadata with bitfields in big endian layout (#87617)
This test exposes what I think is invalid tbaa.struct metadata currently
generated for bitfields when using big endian layout. The regions given
by `!{i64 2, i64 4, [[META3:![0-9]+]], i64 4, i64 4 ...` are
overlapping. This issue was originally observed in
https://github.com/llvm/llvm-project/pull/86709.
Commit: fb2a380b5d4e483602f8cf8f36ca1df322a14a77
https://github.com/llvm/llvm-project/commit/fb2a380b5d4e483602f8cf8f36ca1df322a14a77
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Manually port 1679b27
Commit: 338ecfbac351e4b211836ad73d75bbdf729e9134
https://github.com/llvm/llvm-project/commit/338ecfbac351e4b211836ad73d75bbdf729e9134
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Use VERSION_GREATER_EQUAL where appropriate. NFC
This was added in CMake 3.7, which might explain why it wasn't used
before.
Also reformat a couple of comments.
Commit: 4167fec40768fb05b411bcefa186fe2b106ca7e4
https://github.com/llvm/llvm-project/commit/4167fec40768fb05b411bcefa186fe2b106ca7e4
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/chrono
M libcxx/modules/std/chrono.inc
M libcxx/src/tzdb.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/locate_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
Log Message:
-----------
[libc++][chrono] Completes the tzdb class. (#82157)
It adds the missing member functions of the tzdb class and adds the free
functions that use these member functions.
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
Commit: 0f7266a97c0443234bf18508a408e6917f6a2d46
https://github.com/llvm/llvm-project/commit/0f7266a97c0443234bf18508a408e6917f6a2d46
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn build] Manually port 6f2d8cc0
Commit: 6cf532891f9b49ccae3c7e3dfedb2a3662cdd569
https://github.com/llvm/llvm-project/commit/6cf532891f9b49ccae3c7e3dfedb2a3662cdd569
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port 3365d6217901
Commit: 13e75721117070d52cf3be7d88becccd5a6838b5
https://github.com/llvm/llvm-project/commit/13e75721117070d52cf3be7d88becccd5a6838b5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[gn build] Port 8bb9443333e0
Commit: 258dd64978c055110373447325b9b1dd4e5268d7
https://github.com/llvm/llvm-project/commit/258dd64978c055110373447325b9b1dd4e5268d7
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/bolt/lib/Profile/BUILD.gn
Log Message:
-----------
[gn build] Port fd38366e4525
Commit: f2d22b5944b3c3f77dd236d89dd419d231243a56
https://github.com/llvm/llvm-project/commit/f2d22b5944b3c3f77dd236d89dd419d231243a56
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Make RecordWriterTrait a non-template class (#87604)
commit d89914f30bc7c180fe349a5aa0f03438ae6c20a4
Author: Kazu Hirata <kazu at google.com>
Date: Wed Apr 3 21:48:38 2024 -0700
changed RecordWriterTrait to a template class with IndexedVersion as a
template parameter. This patch changes the class back to a
non-template one while retaining the ability to serialize multiple
versions.
The reason I changed RecordWriterTrait to a template class was
because, even if RecordWriterTrait had IndexedVersion as a member
variable, RecordWriterTrait::EmitKeyDataLength, being a static
function, would not have access to the variable.
Since OnDiskChainedHashTableGenerator calls EmitKeyDataLength as:
const std::pair<offset_type, offset_type> &Len =
InfoObj.EmitKeyDataLength(Out, I->Key, I->Data);
we can make EmitKeyDataLength a member function, but we have one
problem. InstrProfWriter::writeImpl calls:
void insert(typename Info::key_type_ref Key,
typename Info::data_type_ref Data) {
Info InfoObj;
insert(Key, Data, InfoObj);
}
which default-constructs RecordWriterTrait without a specific version
number. This patch fixes the problem by adjusting
InstrProfWriter::writeImpl to call the other form of insert instead:
void insert(typename Info::key_type_ref Key,
typename Info::data_type_ref Data, Info &InfoObj)
To prevent an accidental invocation of the default constructor of
RecordWriterTrait, this patch deletes the default constructor.
Commit: b9ec4ab6ac4f3ae8603da8bfbf10bc0ec104e0b7
https://github.com/llvm/llvm-project/commit/b9ec4ab6ac4f3ae8603da8bfbf10bc0ec104e0b7
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/tools/gold/CMakeLists.txt
Log Message:
-----------
[CMake] Install LLVMgold.so for LLVM_INSTALL_TOOLCHAIN_ONLY=on (#87567)
LLVMgold.so can be used with GNU ar, gold, ld, and nm to process LLVM
bitcode files. Install it in LLVM_INSTALL_TOOLCHAIN_ONLY=on builds like
we install libLTO.so.
Suggested by @emelife
Fix #84271
Commit: 220cdf940e953002df1521bbd061d8e0b4ffed5c
https://github.com/llvm/llvm-project/commit/220cdf940e953002df1521bbd061d8e0b4ffed5c
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/test/Dialect/LLVMIR/mem2reg-dbginfo.mlir
Log Message:
-----------
[mlir] Add `requiresReplacedValues` and `visitReplacedValues` to `PromotableOpInterface` (#86792)
Add `requiresReplacedValues` and `visitReplacedValues` methods to
`PromotableOpInterface`. These methods allow `PromotableOpInterface` ops
to transforms definitions mutated by a `store`.
This change is necessary to correctly handle the promotion of
`LLVM_DbgDeclareOp`.
---------
Co-authored-by: Théo Degioanni <30992420+Moxinilian at users.noreply.github.com>
Commit: 02b49d14a50cbfad0196cdddba6771f0593fdc3b
https://github.com/llvm/llvm-project/commit/02b49d14a50cbfad0196cdddba6771f0593fdc3b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for computing known bits from `(icmp eq (and/or x,y), C)`; NFC
Commit: 05cff99a29b2df17142907aa81ae488559756f01
https://github.com/llvm/llvm-project/commit/05cff99a29b2df17142907aa81ae488559756f01
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
Log Message:
-----------
[ValueTracking] Infer known bits fromfrom `(icmp eq (and/or x,y), C)`
In `(icmp eq (and x,y), C)` all 1s in `C` must also be set in both
`x`/`y`.
In `(icmp eq (or x,y), C)` all 0s in `C` must also be set in both
`x`/`y`.
Closes #87143
Commit: 74447cf46f97f24f52ac6675d642e6cc771447bb
https://github.com/llvm/llvm-project/commit/74447cf46f97f24f52ac6675d642e6cc771447bb
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/implies.ll
M llvm/test/Transforms/InstSimplify/implies.ll
Log Message:
-----------
[ValueTracking] Add tests for deducing more conditions in `isTruePredicate`; NFC
Commit: 678f32ab66508aea2068a5e4e07d53b71ce5cf31
https://github.com/llvm/llvm-project/commit/678f32ab66508aea2068a5e4e07d53b71ce5cf31
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/implies.ll
M llvm/test/Transforms/InstSimplify/implies.ll
Log Message:
-----------
[ValueTracking] Add more conditions in to `isTruePredicate`
There is one notable "regression". This patch replaces the bespoke `or
disjoint` logic we a direct match. This means we fail some
simplification during `instsimplify`.
All the cases we fail in `instsimplify` we do handle in `instcombine`
as we add `disjoint` flags.
Other than that, just some basic cases.
See proofs: https://alive2.llvm.org/ce/z/_-g7C8
Closes #86083
Commit: 515d3f7d62679cba178fb3603db963baa6ec8c93
https://github.com/llvm/llvm-project/commit/515d3f7d62679cba178fb3603db963baa6ec8c93
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/lib/TextAPI/InterfaceFile.cpp
M llvm/lib/TextAPI/TextStubV5.cpp
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
Log Message:
-----------
[TextAPI] Reorder addRPath parameters (#87601)
It matches up with other _attribute_ adding member functions and helps
simplify InterfaceFile assignment for InstallAPI.
Commit: d97d560fbf6ed26a198b3afe1594d7d63b88ab3a
https://github.com/llvm/llvm-project/commit/d97d560fbf6ed26a198b3afe1594d7d63b88ab3a
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
A llvm/test/CodeGen/AArch64/note-gnu-property-elf-pauthabi.ll
A llvm/test/Verifier/module-flags-note-gnu-property-elf-pauthabi.ll
Log Message:
-----------
[AArch64][PAC][MC][ELF] Support PAuth ABI compatibility tag (#85236)
Depends on #87545
Emit `GNU_PROPERTY_AARCH64_FEATURE_PAUTH` property in
`.note.gnu.property` section depending on
`aarch64-elf-pauthabi-platform` and `aarch64-elf-pauthabi-version` llvm
module flags.
Commit: 53fe94a0ce262c6e38117429a30814f54ea55b0f
https://github.com/llvm/llvm-project/commit/53fe94a0ce262c6e38117429a30814f54ea55b0f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
A llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
A llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
A llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
Log Message:
-----------
[CostModel][X86] Add costkinds test coverage for masked load/store/gather/scatter
Noticed while starting triage for #87640
Commit: c83f23d6abb6f8d693c643bc1b43f9b9e06bc537
https://github.com/llvm/llvm-project/commit/c83f23d6abb6f8d693c643bc1b43f9b9e06bc537
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
M llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
M llvm/test/CodeGen/AArch64/arm64-addr-mode-folding.ll
M llvm/test/CodeGen/AArch64/arm64-vector-ldst.ll
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
M llvm/test/CodeGen/AArch64/cheap-as-a-move.ll
M llvm/test/CodeGen/AArch64/extract-bits.ll
M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
M llvm/test/CodeGen/AArch64/sink-and-fold.ll
Log Message:
-----------
[AArch64] Fix heuristics for folding "lsl" into load/store ops. (#86894)
The existing heuristics were assuming that every core behaves like an
Apple A7, where any extend/shift costs an extra micro-op... but in
reality, nothing else behaves like that.
On some older Cortex designs, shifts by 1 or 4 cost extra, but all other
shifts/extensions are free. On all other cores, as far as I can tell,
all shifts/extensions for integer loads are free (i.e. the same cost as
an unshifted load).
To reflect this, this patch:
- Enables aggressive folding of shifts into loads by default.
- Removes the old AddrLSLFast feature, since it applies to everything
except A7 (and even if you are explicitly targeting A7, we want to
assume extensions are free because the code will almost always run on a
newer core).
- Adds a new feature AddrLSLSlow14 that applies specifically to the
Cortex cores where shifts by 1 or 4 cost extra.
I didn't add support for AddrLSLSlow14 on the GlobalISel side because it
would require a bunch of refactoring to work correctly. Someone can pick
this up as a followup.
Commit: 5ae143da459a73d0f6fc796d42c3fabf3ab5f9e8
https://github.com/llvm/llvm-project/commit/5ae143da459a73d0f6fc796d42c3fabf3ab5f9e8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/external-user-instruction-minbitwidth.ll
Log Message:
-----------
[SLP]Add a test with the incorrect casting for external user, NFC.
Commit: 8004ce236795d48063c636d1ce4818ebcb526b21
https://github.com/llvm/llvm-project/commit/8004ce236795d48063c636d1ce4818ebcb526b21
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M libc/src/__support/RPC/rpc.h
Log Message:
-----------
[libc] Move thread sync when closing port earlier
Summary:
This synchronization should be done before we handle the logic relating
to closing the port. This isn't majorly important now but it would break
if we ever decided to run a server on the GPU.
Commit: d6713ad80d6907210c629f22babaf12177fa329c
https://github.com/llvm/llvm-project/commit/d6713ad80d6907210c629f22babaf12177fa329c
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
Debuginfod Testing & fixes: 3rd times the charm? (#87676)
I believe I've got the tests properly configured to only run on Linux
x86(_64), as I don't have a Linux AArch64/Arm device to diagnose what's
going wrong with the tests (I suspect there's some issue with generating
`.note.gnu.build-id` sections...)
The actual code fixes have now been reviewed 3 times:
https://github.com/llvm/llvm-project/pull/79181 (moved shell tests to
API tests), https://github.com/llvm/llvm-project/pull/85693 (Changed
some of the testing infra), and
https://github.com/llvm/llvm-project/pull/86812 (didn't get the tests
configured quite right). The Debuginfod integration for symbol
acquisition in LLDB now works with the `executable` and `debuginfo`
Debuginfod network requests working properly for normal, `objcopy
--only-keep-debug` stripped, split-dwarf, and `objcopy
--only-keep-debug` stripped *plus* split-dwarf symbols/binaries.
The reasons for the multiple attempts have been tests on platforms I
don't have access to (Linux AArch64/Arm + MacOS x86_64). I believe I've
got the tests properly disabled for everything except for Linux x86(_64)
now. I've built & tested on MacOS AArch64 and Linux x86_64.
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: b798c2af8b8888f8db2a9ec293066fb72d893f0c
https://github.com/llvm/llvm-project/commit/b798c2af8b8888f8db2a9ec293066fb72d893f0c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/docs/index.rst
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
Log Message:
-----------
[libc++][CI] Updates to Clang 19. (#85301)
Since we have released Clang 16 is no longer actively supported. However
the FreeBSD runner is still using this, so some tests still guard
against Clang 16.
Commit: eeaaf33fc296d52a28252ba0d6cfe187b7b3412f
https://github.com/llvm/llvm-project/commit/eeaaf33fc296d52a28252ba0d6cfe187b7b3412f
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M openmp/runtime/test/affinity/kmp-abs-hw-subset.c
Log Message:
-----------
[OpenMP] Unsupport absolute KMP_HW_SUBSET test for s390x (#87555)
Commit: 8a0bfe490592de3df28d82c5dd69956e43c20f1d
https://github.com/llvm/llvm-project/commit/8a0bfe490592de3df28d82c5dd69956e43c20f1d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/external-user-instruction-minbitwidth.ll
Log Message:
-----------
[SLP]Fix PR87630: wrong result for externally used vector value.
Need to check that the externally used value can be represented with the
BitWidth before applying it, otherwise need to keep wider type.
Commit: 9a0ae081047d7088cdecfa86a8c90b721485e418
https://github.com/llvm/llvm-project/commit/9a0ae081047d7088cdecfa86a8c90b721485e418
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC][HWASAN] Simplify `selectiveInstrumentationShouldSkip` (#87670)
Commit: f9cedbe1ccc6e45a1440a537be2e9f39d629738e
https://github.com/llvm/llvm-project/commit/f9cedbe1ccc6e45a1440a537be2e9f39d629738e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-04 (Thu, 04 Apr 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M clang-tools-extra/clangd/IncludeCleaner.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/DataflowLattice.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CodeGen/cx-complex-range.c
A clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/Driver/mcmodel.c
M clang/test/InstallAPI/driver-invalid-options.test
A clang/test/Interpreter/inline-asm.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M flang/include/flang/Runtime/io-api.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/Runtime.cpp
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/freestanding-tools.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/namelist.cpp
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
A flang/test/Lower/OpenMP/parallel-reduction3.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/stop-statement.f90
M flang/unittests/Runtime/Time.cpp
M libc/config/baremetal/api.td
M libc/config/gpu/api.td
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/fuzzing/CMakeLists.txt
A libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/uint_fuzz.cpp
M libc/include/CMakeLists.txt
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/RPC/rpc.h
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/src/__support/integer_literals.h
M libc/src/__support/math_extras.h
M libc/src/__support/number_pair.h
M libc/src/math/CMakeLists.txt
A libc/src/math/exp2m1f.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/exp2m1f.cpp
M libc/src/stdio/fseeko.h
M libc/src/stdio/ftello.h
M libc/test/src/__support/integer_literals_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/uint_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/exp2m1f_test.cpp
A libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
M libclc/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/chrono
M libcxx/include/strstream
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/strstream.inc
M libcxx/src/tzdb.cpp
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.dest/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cp_size_cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cscp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cucp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/custom_alloc.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/scp_size_scp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ucp_size_ucp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/pbackfail.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekoff.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekpos.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/underflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/types.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/locate_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
M libcxx/utils/ci/oss-fuzz.sh
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/COFF/print-search-paths-arm64.s
M lld/test/ELF/aarch64-bti-pac-cli-error.s
A lld/test/ELF/aarch64-feature-pauth.s
A lld/test/ELF/aarch64-reloc-pauth-ro.s
A lld/test/ELF/aarch64-reloc-pauth.s
M lld/test/ELF/linkerscript/symbolreferenced.s
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/PrintPasses.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86ScheduleZnver3.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TextAPI/InterfaceFile.cpp
M llvm/lib/TextAPI/TextStubV5.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/lib/WindowsDriver/MSVCPaths.cpp
M llvm/test/Analysis/CostModel/X86/cast.ll
M llvm/test/Analysis/CostModel/X86/extend.ll
A llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
A llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
A llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
R llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
M llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
M llvm/test/CodeGen/AArch64/arm64-addr-mode-folding.ll
M llvm/test/CodeGen/AArch64/arm64-vector-ldst.ll
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
M llvm/test/CodeGen/AArch64/cheap-as-a-move.ll
M llvm/test/CodeGen/AArch64/extract-bits.ll
M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
A llvm/test/CodeGen/AArch64/note-gnu-property-elf-pauthabi.ll
M llvm/test/CodeGen/AArch64/sink-and-fold.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/function-returns.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
A llvm/test/CodeGen/ARM/misched-branch-targets.mir
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
A llvm/test/CodeGen/RISCV/rvv/fold-binop-into-select.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
M llvm/test/CodeGen/SPIRV/OpVariable_order.ll
M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-call-no-bitcast.ll
M llvm/test/CodeGen/WebAssembly/multi-return.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/WebAssembly/simd.ll
M llvm/test/CodeGen/X86/2009-05-23-dagcombine-shifts.ll
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/load-local-v3i129.ll
M llvm/test/CodeGen/X86/pr23664.ll
M llvm/test/CodeGen/X86/widen-load-of-small-alloca-with-zero-upper-half.ll
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/Transforms/CorrelatedValuePropagation/range.ll
A llvm/test/Transforms/InstCombine/implies.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/InstSimplify/implies.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
A llvm/test/Transforms/SLPVectorizer/X86/external-user-instruction-minbitwidth.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
A llvm/test/Verifier/module-flags-note-gnu-property-elf-pauthabi.ll
A llvm/test/Verifier/pr69428.ll
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/Znver3/dependency-breaking-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-hi-read-advance.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-lo-reg-use.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-read-advance.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-same-regs.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-mmx.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-sse-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-3.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-4.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-5.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-6.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-mmx.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-sse-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-x87.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-adx.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-aes.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-avx2.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-bmi1.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-bmi2.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-clflushopt.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-clzero.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-cmov.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-cmpxchg.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-f16c.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-fma.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-fsgsbase.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-lea.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-lzcnt.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-mmx.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-movbe.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-mwaitx.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-pclmul.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-popcnt.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-prefetchw.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-rdrand.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-rdseed.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sha.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse1.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse2.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse3.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse41.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse42.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-sse4a.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-ssse3.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-vaes.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-vpclmulqdq.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-x86_32.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-x86_64.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-x87.s
M llvm/test/tools/llvm-mca/X86/Znver3/resources-xsave.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-sse-xmm.s
A llvm/test/tools/llvm-objcopy/ELF/compress-sections-within-segment.s
A llvm/test/tools/llvm-objcopy/ELF/compress-sections.s
M llvm/test/tools/llvm-objcopy/ELF/decompress-sections.test
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-note-gnu-property.s
M llvm/tools/gold/CMakeLists.txt
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
M llvm/utils/TableGen/X86ManualCompressEVEXTables.def
M llvm/utils/gn/secondary/bolt/lib/Profile/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.h
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Arith/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
M mlir/test/Dialect/Affine/SuperVectorize/compose_maps.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
M mlir/test/Dialect/Affine/loop-fusion-dependence-check.mlir
M mlir/test/Dialect/Affine/loop-fusion-slice-computation.mlir
M mlir/test/Dialect/Affine/loop-fusion-transformation.mlir
M mlir/test/Dialect/Affine/slicing-utils.mlir
M mlir/test/Dialect/LLVMIR/mem2reg-dbginfo.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
A mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
A mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
M mlir/test/lib/Dialect/Affine/TestLoopFusion.cpp
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
M openmp/runtime/test/affinity/kmp-abs-hw-subset.c
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/37fdee1f17f6...f9cedbe1ccc6
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