[all-commits] [llvm/llvm-project] 0be1c3: [workflows] Mention the correct user who makes a /...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Mon Mar 11 11:33:31 PDT 2024
Branch: refs/heads/users/vitalybuka/spr/clang-add-optional-pass-to-remove-ubsan-traps-using-pgo
Home: https://github.com/llvm/llvm-project
Commit: 0be1c3b92b64373df4057f52f9676c36567253ef
https://github.com/llvm/llvm-project/commit/0be1c3b92b64373df4057f52f9676c36567253ef
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-09 (Sat, 09 Mar 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
[workflows] Mention the correct user who makes a /cherry-pick comment (#82680)
We were mentioning the creator of the issue with the comment rather than
the creator of the comment.
Fixes #82580
Commit: bf8c7cda492f227d7e9a9fbc8e7a39adc7380a0e
https://github.com/llvm/llvm-project/commit/bf8c7cda492f227d7e9a9fbc8e7a39adc7380a0e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-09 (Sat, 09 Mar 2024)
Changed paths:
M compiler-rt/lib/lsan/lsan_common.cpp
Log Message:
-----------
Revert "[NFC][compiler-rt] Try to collect more info about crashes on bot"
Catches nothing, reported #84654.
This reverts commit 6f7ebcb71f4e89309c613da9600991850f15f74f.
Commit: 15e9478187d594016c2c355d8688be2e0a9b554e
https://github.com/llvm/llvm-project/commit/15e9478187d594016c2c355d8688be2e0a9b554e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-09 (Sat, 09 Mar 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
[sanitizer] Disable COMPILER_RT_HAS_TRIVIAL_AUTO_INIT on PowerPC to fix the bot
See issue #84654.
Commit: c1029b6a9b423320ec8f0d1cde24d8f4d8139f63
https://github.com/llvm/llvm-project/commit/c1029b6a9b423320ec8f0d1cde24d8f4d8139f63
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/test-pattern-application.mlir
Log Message:
-----------
[mlir][Transform] `apply_conversion_patterns`: Update handles (#83950)
Until now, `transform.apply_conversion_patterns` consumed the target
handle and potentially invalidated handles. This commit adds tracking
functionality similar to `transform.apply_patterns`, such that handles
are no longer invalidated, but updated based on op replacements
performed by the dialect conversion.
This new functionality is hidden behind a `preserve_handles` attribute
for now.
Commit: 9b6bd7093ccb07ba8d6987220b2703549af02933
https://github.com/llvm/llvm-project/commit/9b6bd7093ccb07ba8d6987220b2703549af02933
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir][IR] Add listener notifications for pattern begin/end (#84131)
This commit adds two new notifications to `RewriterBase::Listener`:
* `notifyPatternBegin`: Called when a pattern application begins during
a greedy pattern rewrite or dialect conversion.
* `notifyPatternEnd`: Called when a pattern application finishes during
a greedy pattern rewrite or dialect conversion.
The listener infrastructure already provides a `notifyMatchFailure`
callback that notifies about the reason for a pattern match failure. The
two new notifications provide additional information about pattern
applications.
This change is in preparation of improving the handle update mechanism
in the `apply_conversion_patterns` transform op.
Commit: e95040f0f05b74406e9d7ee02b110470588cc5f0
https://github.com/llvm/llvm-project/commit/e95040f0f05b74406e9d7ee02b110470588cc5f0
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_popcountg (#84500)
The previous code would truncate IntegerAPs wider than 64 bits.
Commit: d2353ae00c3b0b0e9a9b93578e9bb067f699f193
https://github.com/llvm/llvm-project/commit/d2353ae00c3b0b0e9a9b93578e9bb067f699f193
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2024-03-09 (Sat, 09 Mar 2024)
Changed paths:
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
Log Message:
-----------
[utils/TableGen/X86CompressEVEXTablesEmitter.cpp] Make sure the tablegen output for the `checkPredicate` function is deterministic (#84533)
The output for the `checkPredicate` function was depending on a
`std::map` iteration that was non-deterministic from run to run, because
the keys were pointer values.
Make a change so that the keys are `StringRef`s so the ordering is
stable.
Commit: 35b784379e707423f3b4f5a2cfedabcfa6f5b47d
https://github.com/llvm/llvm-project/commit/35b784379e707423f3b4f5a2cfedabcfa6f5b47d
Author: Michael Flanders <mkf727 at cs.washington.edu>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M libc/include/llvm-libc-macros/stdbit-macros.h
Log Message:
-----------
[libc][stdbit][c23] fixes typos in bit_width, bit_floor C type-generic macros (#84659)
Fixes #84658.
Assuming these were typos in the first place.
I am unsure of the best way to ensure that both sides of the
preprocessor condition in
`libc/include/llvm-libc-macros/stdbit-macros.h` are tested. Could
someone point me in the right direction for adding test coverage to the
non `__cplusplus` branch? Or maybe it is being tested and I've missed
it.
Commit: fa4cc39255767bbaf63a6a3b445dc94b43ebd447
https://github.com/llvm/llvm-project/commit/fa4cc39255767bbaf63a6a3b445dc94b43ebd447
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[openmp] adding affinity support to DragonFlyBSD. (#84672)
Commit: 54bb4be0185b402565cc76a0c835c56f6441e188
https://github.com/llvm/llvm-project/commit/54bb4be0185b402565cc76a0c835c56f6441e188
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/icmp-range.ll
Log Message:
-----------
[InstSimplify] Handle vec values when simplifying comparisons using range metadata (#84673)
Found that this failed with an assertion when vec was used in this
optimization while working on https://github.com/llvm/llvm-project/pull/84627.
Commit: 3ec1f25f3cf9346590892397ec9ddd859397d363
https://github.com/llvm/llvm-project/commit/3ec1f25f3cf9346590892397ec9ddd859397d363
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
Log Message:
-----------
[MLIR/OpenACC] Remove unneeded LLVMIR include (#84543)
MLIROpenACCTransforms does not use the LLVMIR dialect yet includes
LLVMIR headers. This causes building MLIROpenACCTransforms only from a
clean build to fail with:
In file included from
mlir/lib/Dialect/OpenACC/Transforms/LegalizeData.cpp:9:
In file included from
mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h:12:
mlir/include/mlir/Dialect/LLVMIR/Transforms/AddComdats.h:21:10: fatal
error: 'mlir/Dialect/LLVMIR/Transforms/Passes.h.inc' file not found
This patch removes the problematic includes.
Commit: 033dbbe4f183cc0c401af72a2d57ab659e9693d4
https://github.com/llvm/llvm-project/commit/033dbbe4f183cc0c401af72a2d57ab659e9693d4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/utils/gpu/loader/Loader.h
Log Message:
-----------
[libc][NFC] Clean up stray ';' and default enum warning
Summary:
Cleans up two warnings I get locally while building.
Commit: 862c7e0218f27b55a5b75ae59a4f73cd4610448d
https://github.com/llvm/llvm-project/commit/862c7e0218f27b55a5b75ae59a4f73cd4610448d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-and.ll
Log Message:
-----------
[X86] combineAndShuffleNot - ensure the type is legal before create X86ISD::ANDNP target nodes
Fixes #84660
Commit: 75b0d384fbac42be7ce2da91cf62ed1027b8424b
https://github.com/llvm/llvm-project/commit/75b0d384fbac42be7ce2da91cf62ed1027b8424b
Author: Michael Flanders <mkf727 at cs.washington.edu>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/stdbit.rst
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/spec/stdc.td
M libc/src/__support/CPP/bit.h
M libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_bit_ceil_uc.cpp
A libc/src/stdbit/stdc_bit_ceil_uc.h
A libc/src/stdbit/stdc_bit_ceil_ui.cpp
A libc/src/stdbit/stdc_bit_ceil_ui.h
A libc/src/stdbit/stdc_bit_ceil_ul.cpp
A libc/src/stdbit/stdc_bit_ceil_ul.h
A libc/src/stdbit/stdc_bit_ceil_ull.cpp
A libc/src/stdbit/stdc_bit_ceil_ull.h
A libc/src/stdbit/stdc_bit_ceil_us.cpp
A libc/src/stdbit/stdc_bit_ceil_us.h
M libc/test/include/stdbit_test.cpp
M libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
A libc/test/src/stdbit/stdc_bit_ceil_ui_test.cpp
A libc/test/src/stdbit/stdc_bit_ceil_ul_test.cpp
A libc/test/src/stdbit/stdc_bit_ceil_ull_test.cpp
A libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
Log Message:
-----------
[libc][stdbit][c23] adds implementation of `stdc_bit_ceil` functions (#84657)
Closes #84652.
Based on #84233.
Commit: a066f71e70b9cbfdc2f2eb41e7c4d8372d216a6e
https://github.com/llvm/llvm-project/commit/a066f71e70b9cbfdc2f2eb41e7c4d8372d216a6e
Author: Michael Flanders <mkf727 at cs.washington.edu>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M libc/src/__support/CPP/bit.h
Log Message:
-----------
[libc][stdbit] Fix truncation err in CPP bit_ceil (#84683)
After #84657 was merged,
[buildbot](https://lab.llvm.org/buildbot/#/builders/250/builds/19808) is
reporting two errors for libc-x86_64-debian-gcc-fullbuild-dbg. This PR
addresses the truncation error for `CPP::bit_ceil<unsigned char>` and
`CPP::bit_ceil<unsigned short>`.
The errors are:
```
FAILED: projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_uc.dir/stdc_bit_ceil_uc.cpp.o
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/src/stdbit -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-vir!
tual-dtor
-Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -ffreestanding -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_uc.dir/stdc_bit_ceil_uc.cpp.o -MF projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_uc.dir/stdc_bit_ceil_uc.cpp.o.d -o projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_uc.dir/stdc_bit_ceil_uc.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_uc.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_uc.cpp:11:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/CPP/bit.h: In instantiation of ‘constexpr __llvm_libc_19_0_0_git::cpp::enable_if_t<is_unsigned_v<T>, T> __llvm_libc_19_0_0_git::cpp::bit_ceil(T) [with T = unsigned char; enable_if_t<is_unsigned_v<T>, T> = unsigned char]’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_uc.cpp:17:23: required from here
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/CPP/bit.h:196:57: error: conversion from ‘unsigned int’ to ‘unsigned char’ may change value [-Werror=conversion]
196 | return static_cast<T>(T(1) << cpp::bit_width<T>(value - 1u));
| ~~~~~~^~~~
cc1plus: all warnings being treated as errors
[138/466] Building CXX object projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o
FAILED: projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o
/usr/bin/g++ -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -D_DEBUG -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/src/stdbit -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit -I/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc -isystem /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/projects/libc/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-vir!
tual-dtor
-Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fpie -ffreestanding -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -DLIBC_COPT_PUBLIC_PACKAGING -std=c++17 -MD -MT projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o -MF projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o.d -o projects/libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_bit_ceil_us.dir/stdc_bit_ceil_us.cpp.o -c /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_us.cpp
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_us.cpp:11:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/CPP/bit.h: In instantiation of ‘constexpr __llvm_libc_19_0_0_git::cpp::enable_if_t<is_unsigned_v<T>, T> __llvm_libc_19_0_0_git::cpp::bit_ceil(T) [with T = short unsigned int; enable_if_t<is_unsigned_v<T>, T> = short unsigned int]’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdbit/stdc_bit_ceil_us.cpp:17:23: required from here
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/__support/CPP/bit.h:196:57: error: conversion from ‘unsigned int’ to ‘short unsigned int’ may change value [-Werror=conversion]
196 | return static_cast<T>(T(1) << cpp::bit_width<T>(value - 1u));
| ~~~~~~^~~~
cc1plus: all warnings being treated as errors
```
Commit: 8a790033073e005b41140b5c38a4eaada321c2f1
https://github.com/llvm/llvm-project/commit/8a790033073e005b41140b5c38a4eaada321c2f1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/llvmlibc_rpc_server.h
M libc/utils/gpu/server/rpc_server.cpp
M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
[libc] Move RPC opcodes include out of the header
Summary:
This header isn't strictly necessary, and is currently broken because we
install these to separate locations.
Commit: e3444ad0bd758ea1c8f67425063f8b53afe3d7de
https://github.com/llvm/llvm-project/commit/e3444ad0bd758ea1c8f67425063f8b53afe3d7de
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
Log Message:
-----------
[InstCombine] Add tests for expanding `foldICmpWithLowBitMaskedVal`; NFC
Differential Revision: https://reviews.llvm.org/D159057
Commit: f89e4e339f31ad331aeab9a35183bc75bc42f2b6
https://github.com/llvm/llvm-project/commit/f89e4e339f31ad331aeab9a35183bc75bc42f2b6
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Move `foldICmpWithLowBitMaskedVal` to `foldICmpCommutative`; NFC
Commit: d77eb9ea598f6e56a583eac40f95ca59b3130523
https://github.com/llvm/llvm-project/commit/d77eb9ea598f6e56a583eac40f95ca59b3130523
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[InstCombine] Improve mask detection in `foldICmpWithLowBitMaskedVal`
Make recursive matcher that is able to detect a lot more patterns.
Proofs for all supported patterns: https://alive2.llvm.org/ce/z/fSQ3nZ
Differential Revision: https://reviews.llvm.org/D159058
Commit: 193b3d6733b7bf606c70749b1b65b6a0daae97d5
https://github.com/llvm/llvm-project/commit/193b3d6733b7bf606c70749b1b65b6a0daae97d5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
Log Message:
-----------
[InstCombine] Recognize `(icmp eq/ne (and X, ~Mask), 0)` pattern in `foldICmpWithLowBitMaskedVal`
`(icmp eq/ne (and X, ~Mask), 0)` is equivilent to `(icmp eq/ne (and X,
Mask), X` and we sometimes generate the former pattern intentionally
to reduce number of uses of `X`.
Proof: https://alive2.llvm.org/ce/z/3u-usC
Differential Revision: https://reviews.llvm.org/D159329
Closes #81562
Commit: a53401e9dff6168b872eeb61f62b0f60b185328a
https://github.com/llvm/llvm-project/commit/a53401e9dff6168b872eeb61f62b0f60b185328a
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
Log Message:
-----------
[lld-macho][NFC] Refactor ObjCSelRefsSection out of ObjCStubsSection (#83878)
Currently ObjCStubsSection is handling both the logic for the
"__objc_stubs" section, as well as the logic for the "__objc_selrefs"
section.
While this is OK for now, it will be an issue for other features that
want to interact with the "__objc_selrefs" section, such as upcoming
relative method lists feature - which will also want to create /
reference entries in the "__objc_selrefs" section.
In this PR we split the logic relating to handling the "__objc_selrefs"
section into a new SyntheticSection (ObjCSelRefsSection). Non-functional
change - neither the behavior nor implementation changes, the interface
is just made more friendly to not have "__objc_selrefs" so bound to
"__objc_stubs".
---------
Co-authored-by: Alex B <alexborcan at meta.com>
Commit: ea697dcc2ad9e6a1cc313d792b485d9218a943a1
https://github.com/llvm/llvm-project/commit/ea697dcc2ad9e6a1cc313d792b485d9218a943a1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M libc/src/__support/GPU/CMakeLists.txt
A libc/src/__support/GPU/allocator.cpp
A libc/src/__support/GPU/allocator.h
M libc/src/stdlib/gpu/CMakeLists.txt
M libc/src/stdlib/gpu/free.cpp
M libc/src/stdlib/gpu/malloc.cpp
Log Message:
-----------
[libc][NFC] Move GPU allocator implementation to common header (#84690)
Summary:
This is a NFC move preceding more radical functional changes to the
allocator implementation. We just move it to a common utility so it will
be easier to write these in tandem.
Commit: fe1645e25c5ab5e3ba8aa16d4f637633ded328ab
https://github.com/llvm/llvm-project/commit/fe1645e25c5ab5e3ba8aa16d4f637633ded328ab
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/posix.td
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/msync.cpp
A libc/src/sys/mman/msync.h
M libc/test/src/sys/mman/linux/CMakeLists.txt
A libc/test/src/sys/mman/linux/msync_test.cpp
Log Message:
-----------
[libc][mman] Implement msync (#84700)
Implement `msync` as specified in:
1. https://www.man7.org/linux/man-pages/man2/msync.2.html
2. https://pubs.opengroup.org/onlinepubs/9699919799/
Commit: 7b275aa2438c22604505d618dd37ee60052f2800
https://github.com/llvm/llvm-project/commit/7b275aa2438c22604505d618dd37ee60052f2800
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
A lld/test/COFF/exportas.test
Log Message:
-----------
[LLD][COFF] Add support for IMPORT_NAME_EXPORTAS import library names. (#83211)
This allows handling importlibs produced by llvm-dlltool in #78772.
ARM64EC import libraries use it by default, but it's supported by MSVC
link.exe on other platforms too.
This also avoids assuming null-terminated input, like in #78769.
Commit: cef862e03c5dd0bfda43a57ca609d5239da3567a
https://github.com/llvm/llvm-project/commit/cef862e03c5dd0bfda43a57ca609d5239da3567a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-and-shift.ll
Log Message:
-----------
[InstCombine] Tests for `(icmp eq/ne (and (shl -1, X), Y), 0)` -> `(icmp eq/ne (lshr Y, X), 0)`; NFC
Commit: 60dda1fc6ef82c5d7fe54000e6c0a21e7bafdeb5
https://github.com/llvm/llvm-project/commit/60dda1fc6ef82c5d7fe54000e6c0a21e7bafdeb5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-and-shift.ll
Log Message:
-----------
[InstCombine] fold `(icmp eq/ne (and (shl -1, X), Y), 0)` -> `(icmp eq/ne (lshr Y, X), 0)`
Proofs: https://alive2.llvm.org/ce/z/oSRGBt
Closes #84691
Commit: edd4c6c6dca4c556de22b2ab73d5bfc02d28e59b
https://github.com/llvm/llvm-project/commit/edd4c6c6dca4c556de22b2ab73d5bfc02d28e59b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/bstrins_w.ll
Log Message:
-----------
[LoongArch] Make sure that the LoongArchISD::BSTRINS node uses the correct `MSB` value (#84454)
The `MSB` must not be greater than `GRLen`. Without this patch, newly
added test cases will crash with LoongArch32, resulting in a 'cannot
select' error.
Commit: f78688134026686288a8d310b493d9327753a022
https://github.com/llvm/llvm-project/commit/f78688134026686288a8d310b493d9327753a022
Author: fpasserby <125797601+fpasserby at users.noreply.github.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaCoroutine.cpp
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/CodeGenCoroutines/coro-always-inline.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
R clang/test/CodeGenCoroutines/coro-awaiter-noinline-suspend.cpp
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
M clang/test/CodeGenCoroutines/coro-function-try-block.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
M clang/test/CodeGenCoroutines/pr56329.cpp
M clang/test/CodeGenCoroutines/pr59181.cpp
M clang/test/CodeGenCoroutines/pr65054.cpp
M llvm/docs/Coroutines.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Coroutines/CoroInstr.h
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
A llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
A llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
Log Message:
-----------
[coroutine] Implement llvm.coro.await.suspend intrinsic (#79712)
Implement `llvm.coro.await.suspend` intrinsics, to deal with performance
regression after prohibiting `.await_suspend` inlining, as suggested in
#64945.
Actually, there are three new intrinsics, which directly correspond to
each of three forms of `await_suspend`:
```
void llvm.coro.await.suspend.void(ptr %awaiter, ptr %frame, ptr @wrapperFunction)
i1 llvm.coro.await.suspend.bool(ptr %awaiter, ptr %frame, ptr @wrapperFunction)
ptr llvm.coro.await.suspend.handle(ptr %awaiter, ptr %frame, ptr @wrapperFunction)
```
There are three different versions instead of one, because in `bool`
case it's result is used for resuming via a branch, and in
`coroutine_handle` case exceptions from `await_suspend` are handled in
the coroutine, and exceptions from the subsequent `.resume()` are
propagated to the caller.
Await-suspend block is simplified down to intrinsic calls only, for
example for symmetric transfer:
```
%id = call token @llvm.coro.save(ptr null)
%handle = call ptr @llvm.coro.await.suspend.handle(ptr %awaiter, ptr %frame, ptr @wrapperFunction)
call void @llvm.coro.resume(%handle)
%result = call i8 @llvm.coro.suspend(token %id, i1 false)
switch i8 %result, ...
```
All await-suspend logic is moved out into a wrapper function, generated
for each suspension point.
The signature of the function is `<type> wrapperFunction(ptr %awaiter,
ptr %frame)` where `<type>` is one of `void` `i1` or `ptr`, depending on
the return type of `await_suspend`.
Intrinsic calls are lowered during `CoroSplit` pass, right after the
split.
Because I'm new to LLVM, I'm not sure if the helper function generation,
calls to them and lowering are implemented in the right way, especially
with regard to various metadata and attributes, i. e. for TBAA. All
things that seemed questionable are marked with `FIXME` comments.
There is another detail: in case of symmetric transfer raw pointer to
the frame of coroutine, that should be resumed, is returned from the
helper function and a direct call to `@llvm.coro.resume` is generated.
C++ standard demands, that `.resume()` method is evaluated. Not sure how
important is this, because code has been generated in the same way
before, sans helper function.
Commit: 6bec4fc76de50a090d1d0b36498da66c4a324851
https://github.com/llvm/llvm-project/commit/6bec4fc76de50a090d1d0b36498da66c4a324851
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
Log Message:
-----------
[libc] Fix flag parsing bugs. (#84706)
Commit: fab2bb8bfda865bd438dee981d7be7df8017b76d
https://github.com/llvm/llvm-project/commit/fab2bb8bfda865bd438dee981d7be7df8017b76d
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/CodeGen/RegAllocPBQP.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp
M llvm/tools/llvm-mca/Views/SchedulerStatistics.cpp
M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
M llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
M llvm/utils/FileCheck/FileCheck.cpp
M llvm/utils/TableGen/CodeGenSchedule.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/Reducer/ReductionNode.cpp
Log Message:
-----------
Add llvm::min/max_element and use it in llvm/ and mlir/ directories. (#84678)
For some reason this was missing from STLExtras.
Commit: 7dfa8398354e435cdee5a8ea6d6b17d1e4557733
https://github.com/llvm/llvm-project/commit/7dfa8398354e435cdee5a8ea6d6b17d1e4557733
Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Type.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Fix behavior of `__is_trivially_relocatable(volatile int)` (#77092)
Consistent with `__is_trivially_copyable(volatile int) == true` and
`__is_trivially_relocatable(volatile Trivial) == true`,
`__is_trivially_relocatable(volatile int)` should also be `true`.
Fixes https://github.com/llvm/llvm-project/issues/77091
[clang] [test] New tests for __is_trivially_relocatable(cv-qualified
type)
Commit: 099be86433a69f264aeb70e512ba1bbd0c7aefd7
https://github.com/llvm/llvm-project/commit/099be86433a69f264aeb70e512ba1bbd0c7aefd7
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
Log Message:
-----------
Fix broken build after https://github.com/llvm/llvm-project/pull/84678 (sorry).
Commit: 3f6bc1adf805681293c2ef0b93b708ff52244c00
https://github.com/llvm/llvm-project/commit/3f6bc1adf805681293c2ef0b93b708ff52244c00
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/hashing-decls-in-exprs-from-gmf.cppm
Log Message:
-----------
[C++20] [Moduls] Avoid computing odr hash for functions from comparing constraint expression
Previously we disabled to compute ODR hash for declarations from the
global module fragment. However, we missed the case that the functions
lives in the concept requiments (see the attached the test files for
example). And the mismatch causes the potential crashment.
Due to we will set the function body as lazy after we deserialize it and
we will only take its body when needed. However, we don't allow to take
the body during deserializing. So it is actually potentially problematic
if we set the body as lazy first and computing the hash value of the
function, which requires to deserialize its body. So we will meet a
crash here.
This patch tries to solve the issue by not taking the body of the
function from GMF. Note that we can't skip comparing the constraint
expression from the GMF directly since it is an key part of the
function selecting and it may be the reason why we can't return 0
directly for `FunctionDecl::getODRHash()` from the GMF.
Commit: d8d2dea7fc6f452ac6a24948fe3ff99920f81c99
https://github.com/llvm/llvm-project/commit/d8d2dea7fc6f452ac6a24948fe3ff99920f81c99
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
Log Message:
-----------
[RISCV] Handle FP riscv_masked_strided_load with 0 stride. (#84576)
Previously, we tried to create an integer extending load. We need to a
non-extending FP load instead.
Fixes #84541.
Commit: d9e6aa70484955c9f581577c3b93efc1d277fa46
https://github.com/llvm/llvm-project/commit/d9e6aa70484955c9f581577c3b93efc1d277fa46
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/acc-ldst.ll
M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
Log Message:
-----------
[AMDGPU] Update LiveInterval def index for early-clobber (#79285)
On converting an instruction to an early-clobber definition in
convertToThreeAddress, we must also update live intervals for the
register to start at the early-clobber index.
Commit: b7f97d3661814c4ae11b8772f8a27c029d01648b
https://github.com/llvm/llvm-project/commit/b7f97d3661814c4ae11b8772f8a27c029d01648b
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
A llvm/test/CodeGen/RISCV/srodata.ll
Log Message:
-----------
[RISCV] Place mergeable small read only data into srodata section (#82214)
Small mergeable read only data was place on the sdata before, but it
also means it lose the mergeable property, which means lose some code
size optimization opportunity during link time.
Commit: f6455606bbbb02bbc155a713ae07eab1c7419041
https://github.com/llvm/llvm-project/commit/f6455606bbbb02bbc155a713ae07eab1c7419041
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/SyntheticSections.cpp
Log Message:
-----------
[ELF] Move getSymbol/getRelocTargetSym from ObjFile<ELFT> to InputFile. NFC
This removes lots of unneeded `template getFile<ELFT>()`.
Commit: 4a21e3afa29521192ce686605eb945495455ca5e
https://github.com/llvm/llvm-project/commit/4a21e3afa29521192ce686605eb945495455ca5e
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/test/CodeGen/AMDGPU/lds-misaligned-bug.ll
Log Message:
-----------
[LiveIntervals] repairIntervalsInRange: recompute width changes (#78564)
Extend repairIntervalsInRange to completely recompute the interva for a
register if subregister defs exist without precise subrange matches
(LaneMask exactly matching subregister).
This occurs when register sequences are lowered to copies such that the
size of the copies do not match any uses of the subregisters formed
(i.e. during twoaddressinstruction).
The subranges without this change are probably legal, but do not match
those generated by live interval computation. This creates problems with
other code that assumes subranges precisely cover all subregisters
defined, e.g. shrinkToUses().
Commit: cf1319f9c6561afea381bbfc1a18f5c1fb7b46b0
https://github.com/llvm/llvm-project/commit/cf1319f9c6561afea381bbfc1a18f5c1fb7b46b0
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/test/tsan/pthread_atfork_deadlock3.c
A compiler-rt/test/tsan/signal_in_read.c
Log Message:
-----------
[compiler-rt] Mark more calls as blocking (#77789)
If we're in a blocking call, we need to run the signal immediately, as
the call may not return for a very long time (if ever). Not running the
handler can cause deadlocks if the rest of the program waits (in one way
or another) for the signal handler to execute.
I've gone through the list of functions in
sanitizer_common_interceptors and marked as blocking those that I know
can block, but I don't claim the list to be exhaustive. In particular, I
did not mark libc FILE* functions as blocking, because these can end up
calling user functions. To do that correctly, /I think/ it would be
necessary to clear the "is in blocking call" flag inside the fopencookie
wrappers.
The test for the bug (deadlock) uses the read call (which is the one
that I ran into originally), but the same kind of test could be written
for any other blocking syscall.
Commit: 4e0e9b17c6cacdc3b1ea3a43f85ae443cb146af8
https://github.com/llvm/llvm-project/commit/4e0e9b17c6cacdc3b1ea3a43f85ae443cb146af8
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/test/CodeGen/AMDGPU/add.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
Log Message:
-----------
[SelectionDAG] Switch to LiveRegUnits (#84197)
Commit: 561ddb1687c21b82feb92890762a85c2ae1f6e0c
https://github.com/llvm/llvm-project/commit/561ddb1687c21b82feb92890762a85c2ae1f6e0c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/test/CodeGen/AArch64/and-mask-removal.ll
M llvm/test/CodeGen/AArch64/signed-truncation-check.ll
M llvm/test/CodeGen/AArch64/typepromotion-overflow.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/Transforms/TypePromotion/ARM/icmps.ll
M llvm/test/Transforms/TypePromotion/ARM/wrapping.ll
Log Message:
-----------
Revert "[TypePromotion] Support positive addition amounts in isSafeWrap. (#81690)"
This reverts commit 0813b90ff5d195d8a40c280f6b745f1cc43e087a.
Fixes miscompile reported in #84718.
Commit: 3093d731dff93df02899dcc62f5e7ba02461ff2a
https://github.com/llvm/llvm-project/commit/3093d731dff93df02899dcc62f5e7ba02461ff2a
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/SourceCode.cpp
M clang-tools-extra/clangd/SourceCode.h
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
Log Message:
-----------
[clangd] Avoid libFormat's objective-c guessing heuristic where possible (#84133)
This avoids a known libFormat bug where the heuristic can OOM on certain
large files (particularly single-header libraries such as miniaudio.h).
The OOM will still happen on affected files if you actually try to
format them (this is harder to avoid since the underlyting issue affects
the actual formatting logic, not just the language-guessing heuristic),
but at least it's avoided during non-modifying operations like hover,
and modifying operations that do local formatting like code completion.
Fixes https://github.com/clangd/clangd/issues/719
Fixes https://github.com/clangd/clangd/issues/1384
Fixes https://github.com/llvm/llvm-project/issues/70945
Commit: d4569d42b5cb8ba076f0115d3d21d89f68e6ce9d
https://github.com/llvm/llvm-project/commit/d4569d42b5cb8ba076f0115d3d21d89f68e6ce9d
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
R llvm/test/CodeGen/AMDGPU/lds-reject-absolute-addresses.ll
A llvm/test/CodeGen/AMDGPU/lds-reject-mixed-absolute-addresses.ll
A llvm/test/CodeGen/AMDGPU/lds-run-twice-absolute-md.ll
A llvm/test/CodeGen/AMDGPU/lds-run-twice.ll
Log Message:
-----------
[AMDGPU] Let LowerModuleLDS run twice on the same module (#81729)
If all variables in the module are absolute, this means we're running
the pass again on an already lowered module, and that works.
If none of them are absolute, lowering can proceed as usual.
Only diagnose cases where we have a mix of absolute/non-absolute GVs,
which means we added LDS GVs after lowering, which is broken.
See #81491
Split from #75333
Commit: f1aa7837884c745ede497e365cc75d5581ecc714
https://github.com/llvm/llvm-project/commit/f1aa7837884c745ede497e365cc75d5581ecc714
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
[mlir][IR] Fix overload resolution on MSVC build (#84589)
#82629 added additional overloads to `replaceAllUsesWith` and
`replaceUsesWithIf`. This caused a build breakage with MSVC when called
with ops that can implicitly convert to `Value`.
```
external/llvm-project/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp(881): error C2666: 'mlir::RewriterBase::replaceAllUsesWith': 2 overloads have similar conversions
external/llvm-project/mlir/include\mlir/IR/PatternMatch.h(631): note: could be 'void mlir::RewriterBase::replaceAllUsesWith(mlir::Operation *,mlir::ValueRange)'
external/llvm-project/mlir/include\mlir/IR/PatternMatch.h(626): note: or 'void mlir::RewriterBase::replaceAllUsesWith(mlir::ValueRange,mlir::ValueRange)'
external/llvm-project/mlir/include\mlir/IR/PatternMatch.h(616): note: or 'void mlir::RewriterBase::replaceAllUsesWith(mlir::Value,mlir::Value)'
external/llvm-project/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp(882): note: while trying to match the argument list '(mlir::tensor::ExtractSliceOp, T)'
with
[
T=mlir::Value
]
```
Note: The LLVM build bots (Linux and Windows) did not break, this seems
to be an issue with `Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe`.
This change renames the newly added overloads to `replaceAllOpUsesWith`
and `replaceOpUsesWithIf`.
Commit: c9465e4771c93adfbc99ffca5963a48a5334d98d
https://github.com/llvm/llvm-project/commit/c9465e4771c93adfbc99ffca5963a48a5334d98d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Assert if we mix PHIs and debug-info (#84054)
A potentially erroneous code construction with the work we've done to
remove debug intrinsics, is inserting PHIs into blocks when the position
hasn't been "sourced correctly". Specifically, if you have:
%foo = PHI
#dbg_value
%bar = add i32...
And plan on inserting a new PHI, you have to use the iterator form of
`getFirstNonPHI` or getFirstInsertionPt (or begin()) to acquire an
iterator that tells the debug-info maintenance code "this is supposed to
be at the start of the block, put it in front of #dbg_value". We can
detect call-sites that aren't doing this at runtime, and should do with
this assertion. It might invalidate code that's doing something very
unexpected, like walking backwards to find a PHI, then going forwards,
then inserting: however that's just an inefficient way of calling
`getFirstNonPHI`.
Commit: 0f501c30b9601627c236f9abca8a3befba5dc161
https://github.com/llvm/llvm-project/commit/0f501c30b9601627c236f9abca8a3befba5dc161
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaExprCXX.cpp
R clang/test/SemaCXX/gh84064-1.cpp
R clang/test/SemaCXX/gh84064-2.cpp
Log Message:
-----------
Revert "[C++20][Coroutines] Lambda-coroutine with operator new in promise_type (#84193)"
This reverts commit 35d3b33ba5c9b90443ac985f2521b78f84b611fe.
See the comments in https://github.com/llvm/llvm-project/pull/84193 for
details
Commit: 3b30559c088d679ca8fe491158e6c32db630f223
https://github.com/llvm/llvm-project/commit/3b30559c088d679ca8fe491158e6c32db630f223
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
Log Message:
-----------
[flang][OpenMP] Only use HLFIR base in privatization logic (#84123)
Modifies the privatization logic so that the emitted code only used the
HLFIR base (i.e. SSA value `#0` returned from `hlfir.declare`). Before
that, that emitted privatization logic was a mix of using `#0` and `#1`
which leads to some difficulties trying to move to delayed privatization
(see the discussion on #84033).
Commit: 718962f53bfc610f670f1674457a426e01117097
https://github.com/llvm/llvm-project/commit/718962f53bfc610f670f1674457a426e01117097
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll
Log Message:
-----------
[SystemZ] Provide improved cost estimates (#83873)
This commit provides better cost estimates for
the llvm.vector.reduce.add intrinsic on SystemZ. These apply to all
vector lengths and integer types up to i128. For integer types larger
than i128, we fall back to the default cost estimate.
This has the effect of lowering the estimated costs of most common
instances of the intrinsic. The expected performance impact of this is
minimal with a tendency to slightly improve performance of some
benchmarks.
This commit also provides a test to check the proper computation of the
new estimates, as well as the fallback for types larger than i128.
Commit: 58dd59a28293432171c0439eb1ae082f6ea9962f
https://github.com/llvm/llvm-project/commit/58dd59a28293432171c0439eb1ae082f6ea9962f
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Don't run combineBinOp_VLToVWBinOp_VL until after legalize types. NFCI (#84125)
I noticed this from a discrepancy in fillUpExtensionSupport between how
we apparently need to check for legal types for ISD::{ZERO,SIGN}_EXTEND,
but we don't need to for RISCVISD::V{Z,S}EXT_VL.
Prior to #72340, combineBinOp_VLToVWBinOp_VL only ran after type
legalization because it only operated on _VL nodes. _VL nodes are only
emitted during op legalization, which takes place **after** type
legalization, which is presumably why the existing code didn't need to
check for legal types.
After #72340 we now handle generic ops like ISD::ADD that exist before
op legalization and thus **before** type legalization. This meant that
we needed to add extra checks that the narrow type was legal in #76785.
I think the easiest thing to do here is to just maintain the invariant
that the types are legal and only run the combine after type
legalization.
Commit: d3ec8c2a25f43225efe997569925aa57324db0dd
https://github.com/llvm/llvm-project/commit/d3ec8c2a25f43225efe997569925aa57324db0dd
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
Log Message:
-----------
Typo: ponit
Commit: 0ef61ed54dca2e974928c55b2144b57d4c4ff621
https://github.com/llvm/llvm-project/commit/0ef61ed54dca2e974928c55b2144b57d4c4ff621
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Move NodeExtensionHelper assert to getOrCreateExtendedOp. NFC
Move the narrow types assert from the ZERO_EXTEND/SIGN_EXTEND case in
fillUpExtensionSupport to getOrCreateExtendedOp so we check the other nodes
too.
Commit: 9277a32305c1083653ffaa7955cd26deffc10988
https://github.com/llvm/llvm-project/commit/9277a32305c1083653ffaa7955cd26deffc10988
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Funnel recipe insert* through VPBasicBlock::insert (NFCI).
This allows relying on VPBasicBlock::insert to make sure insertion is
well formed, i.e. by updating the recipe's parent as well as other
potential invariants in the future.
Commit: ec2875ce2690010f7dd894c9b56802297dd6cb84
https://github.com/llvm/llvm-project/commit/ec2875ce2690010f7dd894c9b56802297dd6cb84
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/unittests/Interpreter/CMakeLists.txt
A clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
Log Message:
-----------
[clang-repl] Expose RuntimeInterfaceBuilder to allow customization (#83126)
RuntimeInterfaceBuilder wires up JITed expressions with the hardcoded
Interpreter runtime. It's used only for value printing right now, but it
is not limited to that. The default implementation focuses on an
evaluation process where the Interpreter has direct access to the memory
of JITed expressions (in-process execution or shared memory).
We need a different approach to support out-of-process evaluation or
variations of the runtime. It seems reasonable to expose a minimal
interface for it. The new RuntimeInterfaceBuilder is an abstract base
class in the public header. For that, the TypeVisitor had to become a
component (instead of inheriting from it). FindRuntimeInterface() was
adjusted to return an instance of the RuntimeInterfaceBuilder and it can
be overridden from derived classes.
Commit: 483c3364fe914280536b1ea0591bac4ba5f6c5de
https://github.com/llvm/llvm-project/commit/483c3364fe914280536b1ea0591bac4ba5f6c5de
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn
Log Message:
-----------
[gn build] Port ec2875ce2690
Commit: 7b90a67fe717338f7ae4e53f6b97d0f29bacde8e
https://github.com/llvm/llvm-project/commit/7b90a67fe717338f7ae4e53f6b97d0f29bacde8e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Assert that the supportedVectorShift* helpers are only called with generic shift opcodes. NFC.
Commit: 3149c934cb2602691de40d2aeb238675e8831d57
https://github.com/llvm/llvm-project/commit/3149c934cb2602691de40d2aeb238675e8831d57
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M flang/CMakeLists.txt
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics-library.cpp
Log Message:
-----------
[flang] Fix Darwin build after 4762c6557d15 (#84478)
Select POSIX 2008 standard to avoid including Darwin extensions.
Otherwise, Darwin's math.h header defines HUGE, which conflicts
with Flang's HUGE function.
This started happening after 4762c6557d15 (#82443), that added the
"utility" include, which seems to include "math.h".
Commit: 66f0984385fe3d3c1ece0ac22ff338ee348b2862
https://github.com/llvm/llvm-project/commit/66f0984385fe3d3c1ece0ac22ff338ee348b2862
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
Log Message:
-----------
Reorder fields for better packing (#77998)
The RelocationEntry's fields are poorly ordered when considering
padding. This reordering reduces the size from 56 bytes to 40 bytes (on
LP64).
Commit: e77f5fe889909df3508fd929f2636a0ac211877a
https://github.com/llvm/llvm-project/commit/e77f5fe889909df3508fd929f2636a0ac211877a
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M lldb/docs/resources/build.rst
Log Message:
-----------
[lldb][Docs] Add libxml2 to apt install command
Commit: a84eb244129f288d609307ad42ab5e6c8e1cc795
https://github.com/llvm/llvm-project/commit/a84eb244129f288d609307ad42ab5e6c8e1cc795
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[RemoveDIs] Add additional debug-mode verifier checks (#84308)
Separated from #83251
Commit: 878097dff3ea4bad6b7f50017224a84bbf2af406
https://github.com/llvm/llvm-project/commit/878097dff3ea4bad6b7f50017224a84bbf2af406
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/lib/APINotes/APINotesManager.cpp
Log Message:
-----------
[APINotes] Fix failing tests after a PCM logic change
This fixes tests that are going to be upstreamed in the near future.
Currently they are failing downstream in the Apple open source fork.
Failing tests
Clang :: APINotes/retain-count-convention.m
Clang :: APINotes/types.m
Clang :: APINotes/versioned-multi.c
Clang :: APINotes/versioned.m
Since 2e5af56 got merged, Clang now enables `LangOpts.APINotesModules`
when reading a precompiled module that was built with API Notes enabled.
This is correct. The logic in APINotesManager needs to be adjusted to
handle this.
rdar://123526142
Commit: 5ff672045a97cf7f9d7f3a93d3a02e76994d50fb
https://github.com/llvm/llvm-project/commit/5ff672045a97cf7f9d7f3a93d3a02e76994d50fb
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
R llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
R llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
A llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
A llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Log Message:
-----------
[RemoveDIs][NFC] Rename DPValues->DbgRecords in llvm-reduce's ReduceDPValues (#84506)
llvm-reduce currently has a file `ReduceDPValues`, which really is
concerned with DbgRecords. Therefore, we rename the file and its
function accordingly.
Commit: 9b2386e82dedafade233c8871637ee76da9ebe0e
https://github.com/llvm/llvm-project/commit/9b2386e82dedafade233c8871637ee76da9ebe0e
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang-tools-extra/clangd/Protocol.cpp
Log Message:
-----------
[clangd] Fix JSON conversion for symbol tags (#84747)
The wrong constructor of json::Value got called, making every tag an
array instead of a number.
Commit: 702e2da15a1c5e728c042afd094eccf1cb3741f0
https://github.com/llvm/llvm-project/commit/702e2da15a1c5e728c042afd094eccf1cb3741f0
Author: Kevin P. Neal <52762977+kpneal at users.noreply.github.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/HardwareLoops.cpp
A llvm/test/Transforms/HardwareLoops/scalar-while-strictfp.ll
Log Message:
-----------
[HardwareLoops] Add support for strictfp functions. (#84531)
This pass was adding new function calls without adding the strictfp
attribute as required by the rules laid out in the langref. With this
change a make check has 4-5 fewer failing tests with the Verifier
changes in D146845.
LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
Test failures found with "https://reviews.llvm.org/D146845".
Commit: aec92830b79a8c49cdce0d592627d5f18bb6370b
https://github.com/llvm/llvm-project/commit/aec92830b79a8c49cdce0d592627d5f18bb6370b
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/Interpreter.cpp
Log Message:
-----------
[clang-repl] Refactor locking of runtime PTU stack (NFC) (#84176)
The Interpreter locks PTUs that originate from implicit runtime code and
initialization to prevent users from undoing them accidentally.
The previous implementation seemed hacky, because it required the reader
to be familiar with the internal workings of the PTU stack. The concept
itself is a pragmatic solution and not very surprising. This patch
introduces a function for it and adds a comment.
Commit: 546f32df26f58fdfe02d99e6d91d681dd9ed6839
https://github.com/llvm/llvm-project/commit/546f32df26f58fdfe02d99e6d91d681dd9ed6839
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
Log Message:
-----------
[flang][CodeGen] Fix use-after-free in BoxedProcedurePass (#84376)
Avoid inspecting an operation that has been replaced.
This was detected by address sanitizer.
Commit: 2b8f1daf7878c03d5fac58385fdc3e498a810d8d
https://github.com/llvm/llvm-project/commit/2b8f1daf7878c03d5fac58385fdc3e498a810d8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Add missing immediate qualifier to the SSE42 (V)PCMPEST/PCMPIST string instruction names
Commit: 2a38551457cb2b38dcca35e30e9f2d7fce9ae3e7
https://github.com/llvm/llvm-project/commit/2a38551457cb2b38dcca35e30e9f2d7fce9ae3e7
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
A libcxx/include/__tuple/find_index.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/include/tuple
M libcxx/include/variant
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/variant/variant.variant/variant_size.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.verify.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp
Log Message:
-----------
[libc++] Remove <tuple> from <variant> (#83183)
This moves a utility from `<tuple>` into an implementation detail header
and refactors the selection of the variant index type to use.
Commit: 2f1873d11e8853d1ddb801b4c512be3967ffcfc9
https://github.com/llvm/llvm-project/commit/2f1873d11e8853d1ddb801b4c512be3967ffcfc9
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
Revert "[RemoveDIs] Add additional debug-mode verifier checks" (#84757)
Reverts llvm/llvm-project#84308
Failing bots, e.g.
https://lab.llvm.org/buildbot/#/builders/16/builds/62432
Commit: 6f7e940c2d6711c7be8bc5365a1f4da3a328b2eb
https://github.com/llvm/llvm-project/commit/6f7e940c2d6711c7be8bc5365a1f4da3a328b2eb
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenInstruction.h
M llvm/utils/TableGen/CodeGenTarget.cpp
M llvm/utils/TableGen/CodeGenTarget.h
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] More efficiency improvements for encode/decode emission. (#84647)
DecoderEmitter and CodeEmitterGen perform repeated linear walks over the
entire instruction list. This patch eliminates two more such walks.
The eliminated traversals visit every instruction merely to determine
whether the target has variable length encodings. For a target with
variable length encodings, the original any_of will terminate quickly.
But all targets other than M68k use fixed length encodings and thus
any_of must visit the entire instruction list.
Commit: facb89ae1228c067b2b14f32e7e70608fe50704b
https://github.com/llvm/llvm-project/commit/facb89ae1228c067b2b14f32e7e70608fe50704b
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp.h
Log Message:
-----------
[openmp] __kmp_x86_cpuid fix for i386/PIC builds. (#84626)
Commit: 9d30f11b8881d9f9c997bb7e3bf399c70da20b06
https://github.com/llvm/llvm-project/commit/9d30f11b8881d9f9c997bb7e3bf399c70da20b06
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M libc/src/math/amdgpu/CMakeLists.txt
R libc/src/math/amdgpu/modf.cpp
R libc/src/math/amdgpu/modff.cpp
M libc/src/math/nvptx/CMakeLists.txt
R libc/src/math/nvptx/modf.cpp
R libc/src/math/nvptx/modff.cpp
Log Message:
-----------
[libc] Remove use of `__builtin_modf` in GPU math
Summary:
This function was not actually supported, see
https://godbolt.org/z/MP1j5EeWc. Unsure why we only now begun seeing
failures related to it.
Commit: fcd0dd37936957be27a3583c7daaafa2bf282a90
https://github.com/llvm/llvm-project/commit/fcd0dd37936957be27a3583c7daaafa2bf282a90
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 2a38551457cb
Commit: 0fae9a24b9acf03ab072bb8aca92a467b697a08a
https://github.com/llvm/llvm-project/commit/0fae9a24b9acf03ab072bb8aca92a467b697a08a
Author: Zain Jaffal <zain at jjaffal.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-remarkutil.rst
Log Message:
-----------
[Docs] Fix `llvm-remarkutil` docs (#84661)
Code blocks and option points weren't rendered correctly
Commit: 1ec5b1f483aa154255d919af9abf5eca2fe8635c
https://github.com/llvm/llvm-project/commit/1ec5b1f483aa154255d919af9abf5eca2fe8635c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86SchedAlderlakeP.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86ScheduleBdVer2.td
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Add missing immediate qualifier to the (V)PCLMULQDQ instruction names
Commit: 02e0b7d405c3ace86e731450c0dd73556f1452d9
https://github.com/llvm/llvm-project/commit/02e0b7d405c3ace86e731450c0dd73556f1452d9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
Log Message:
-----------
[libc++] Add missing include in test (#84579)
That test is using std::toupper.
Commit: d27c1bed1169a4fc324c70fa60dcd979b86a06d2
https://github.com/llvm/llvm-project/commit/d27c1bed1169a4fc324c70fa60dcd979b86a06d2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[libc] Only enable `LLVM_FULL_BUILD_MODE` by default for GPU targets (#84664)
Summary:
Currently we have a conditional that turns the full build on by default
if it is a default target. This used to work fine when the GPU was the
only target that was ever present. However, we've recently changed to
allow building multiple of these at the same time. That means we should
have the ability to build overlay mode in the CPU mode and full build in
the GPU mode. This patch makes some simple adjustments to pass the
arguments per-triple. This slightly extends the existing `-DRUNTIMES_`
argument support to also transform any extra CMake inputs rather than
just the passed CMake variables.
Commit: b1be69f4dbc7e3557e381d413e1b8c31ce974cc8
https://github.com/llvm/llvm-project/commit/b1be69f4dbc7e3557e381d413e1b8c31ce974cc8
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[NFC] Remove duplicate 'see' in CMake.rst (#84680)
Commit: 3f302eaca46ec068879831cae76d4aeda2bf82f8
https://github.com/llvm/llvm-project/commit/3f302eaca46ec068879831cae76d4aeda2bf82f8
Author: elhewaty <mohamedatef1698 at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll
Log Message:
-----------
[InstCombine] Fold usub_sat((sub nuw C1, A), C2) to usub_sat(C1 - C2, A) or 0 (#82280)
- Fixes: https://github.com/llvm/llvm-project/issues/82177
- Alive2: https://alive2.llvm.org/ce/z/Q7mMC3
Commit: 9bc294f9be257eca655807a2d598225dcf4290ee
https://github.com/llvm/llvm-project/commit/9bc294f9be257eca655807a2d598225dcf4290ee
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/utils/CMakeLists.txt
M libc/utils/gpu/CMakeLists.txt
M libc/utils/gpu/loader/CMakeLists.txt
M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
M libc/utils/gpu/loader/nvptx/CMakeLists.txt
M libc/utils/gpu/server/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[libc] Build the GPU during the projects setup like libc-hdrgen (#84667)
Summary:
The libc build has a few utilties that need to be built before we can do
everything in the full build. The one requirement currently is the
`libc-hdrgen` binary. If we are doing a full build runtimes mode we
first add `libc` to the projects list and then only use the `projects`
portion to buld the `libc` portion. We also use utilities for the GPU
build, namely the loader utilities. Previously we would build these
tools on-demand inside of the cross-build, which tool some hacky
workarounds for the dependency finding and target triple. This patch
instead just builds them similarly to libc-hdrgen and then passses them
in. We now either pass it manually it it was built, or just look it up
like we do with the other `clang` tools.
Depends on https://github.com/llvm/llvm-project/pull/84664
Commit: 5e688f0dbdaaf8ef06c1affa90db985acf401237
https://github.com/llvm/llvm-project/commit/5e688f0dbdaaf8ef06c1affa90db985acf401237
Author: Sivan Shani <sivan.shani at arm.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir
M llvm/test/CodeGen/ARM/vlldm-vlstm-uops.mir
M llvm/test/MC/ARM/thumbv8m.s
A llvm/test/MC/ARM/vlstm-vlldm-8.1m.s
A llvm/test/MC/ARM/vlstm-vlldm-8m.s
A llvm/test/MC/ARM/vlstm-vlldm-diag.s
A llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.1.main.txt
A llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.main.txt
M llvm/unittests/Target/ARM/MachineInstrTest.cpp
Log Message:
-----------
[llvm][arm] add T1 and T2 assembly options for vlldm and vlstm
Re-land 634b0243b8f7acc85af4f16b70e91d86ded4dc83.
T1 allow for an optional registers list,
the register list must be {d0-d15}.
T2 define a mandatory register list,
the register list must be {d0-d31}.
The requirements for T1/T2 are as follows:
T1 T2
Require: v8-M.Main, v8.1-M.Main,
secure state secure state
16 D Regs valid valid
32 D Regs UNDEFINED valid
No D Regs NOP NOP
Commit: 769eab47194c2a67a5939bb6a077bf48b0ba9ddb
https://github.com/llvm/llvm-project/commit/769eab47194c2a67a5939bb6a077bf48b0ba9ddb
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
[NFC][AMDGPU] Fix redundant assignment from #77952 (#84586)
Someone pointed out a typo (Value* RsrcRes = RsrcRes = ...) in PR the
address space 7 lowering, this commit fixes it.
Commit: d0117b71193787ebfd92d96a4ecc261f0aaeac86
https://github.com/llvm/llvm-project/commit/d0117b71193787ebfd92d96a4ecc261f0aaeac86
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
[RemoveDIs] Copy debug mode to new functions in amdgpu-lower-buffer-fat-pointers
Fixes failing tests after https://github.com/llvm/llvm-project/pull/84308
LLVM :: CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
LLVM :: CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces.ll
LLVM :: CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
LLVM :: CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
LLVM :: CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
LLVM :: CodeGen/AMDGPU/pal-metadata-3.0.ll
Buildbots: https://lab.llvm.org/buildbot/#/builders/121/builds/39855
Commit: 538aeb180bcdf82cd86a46b44d6622a1c13d2877
https://github.com/llvm/llvm-project/commit/538aeb180bcdf82cd86a46b44d6622a1c13d2877
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
[AMDGPU] Use a consistent DwarfEH register flavour (#84513)
Previously, we always used the wave64 encodings for EH registers
regardless of whether we were compiling for wave32, which seems wrong.
We don't seem to use the EH registers, so this commit is mostly just
about papering over code that converts from non-EH dwarf registers to
LLVM registers while claiming they are EH dwarf registers. That kind of
code should be okay on any non-darwin target (since darwin is the only
target that uses a different encoding for EH registers).
Commit: 2953d9c8b07e07d1344b979ebd831a68b07d0e8f
https://github.com/llvm/llvm-project/commit/2953d9c8b07e07d1344b979ebd831a68b07d0e8f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-10 (Sun, 10 Mar 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
Reapply "[RemoveDIs] Add additional debug-mode verifier checks" (#84757)
Test failures fixed in d0117b71193787ebfd92d96a4ecc261f0aaeac86
Commit: f14224d92b0e43aa508c8d800db57f8f674e1c7b
https://github.com/llvm/llvm-project/commit/f14224d92b0e43aa508c8d800db57f8f674e1c7b
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Rename schedule classes for vmv.s.x, vmv.x.s, vfmv.s.f, and vfmv.f.s [nfc] (#84563)
The prior naming scheme is incredibly hard to make sense out of. I
suspect the usage was actually backwards from intent - though that
didn't matter for any in tree schedule model.
Commit: 63ae5099b7339e87e6ce67fc7da63d26b8e7cb27
https://github.com/llvm/llvm-project/commit/63ae5099b7339e87e6ce67fc7da63d26b8e7cb27
Author: A. Jiang <de34 at live.cn>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/parse.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.bool.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.unsigned_integral.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtset/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/parse.pass.cpp
M libcxx/test/std/utilities/format/format.tuple/parse.pass.cpp
Log Message:
-----------
[libc++][test] Don't include `test_format_context.h` in `parse.pass.cpp` (#83734)
The `parse.pass.cpp` tests doen't need to call
`test_format_context_create` to create a `basic_format_context`, so they
shouldn't include `test_format_context.h`.
The `to_address` mechanism works around the iterator debugging
mechanisms of MSVC STL. Related to
[LWG3989](https://cplusplus.github.io/LWG/issue3989).
Discovered when implementing `formatter<tuple>` in MSVC STL. With the
inclusion removed, `std/utilities/format/format.tuple/parse.pass.cpp`
when using enhanced MSVC STL (and `/utf-8` option for MSVC).
Commit: 63c77d84756793ad38e3a5b830a27b400308fe7a
https://github.com/llvm/llvm-project/commit/63c77d84756793ad38e3a5b830a27b400308fe7a
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Make generic versioning docs easier to find (#84761)
Commit: 63af8584fc7ea81ef6f2176e0ada0533a3495745
https://github.com/llvm/llvm-project/commit/63af8584fc7ea81ef6f2176e0ada0533a3495745
Author: itrofimow <i.trofimow at yandex.ru>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M libcxx/include/__exception/exception_ptr.h
Log Message:
-----------
[libc++] Only forward-declare ABI-functions in exception_ptr.h if they are meant to be used (#84707)
This patch fixes the unconditional forward-declarations of ABI-functions
in exception_ptr.h, and makes it dependent on the availability macro, as
it should've been from the beginning.
The declarations being unconditional break the build with libcxxrt
before 045c52ce8 [1], now they are opt-out.
[1]: https://github.com/libcxxrt/libcxxrt/commit/045c52ce821388f4ae4d119fe4fb75f1eb547b85
Commit: b05c15259bcbe3eba353b77ca4fc9ec2a81dd3fb
https://github.com/llvm/llvm-project/commit/b05c15259bcbe3eba353b77ca4fc9ec2a81dd3fb
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][AMDGPU] Improve amdgpu.lds_barrier, add warnings (#77942)
On some architectures (currently gfx90a, gfx94*, and gfx10**), we can
implement an LDS barrier using compiler intrinsics instead of inline
assembly, improving optimization possibilities and decreasing the
fragility of the underlying code.
Other AMDGPU chipsets continue to require inline assembly to implement
this barrier, as, by the default, the LLVM backend will insert waits on
global memory (s_waintcnt vmcnt(0)) before barriers in order to ensure
memory watchpoints set by debuggers work correctly.
Use of amdgpu.lds_barrier, on these architectures, imposes a tradeoff
between debugability and performance. The documentation, as well as the
generated inline assembly, have been updated to explicitly call
attention to this fact.
For chipsets that did not require the inline assembly hack, we move to
the s.waitcnt and s.barrier intrinsics, which have been added to the
ROCDL dialect. The magic constants used as an argument to the waitcnt
intrinsic can be derived from
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Commit: b4e39ad1176aa7fc1528aa3f7b447bf27350549f
https://github.com/llvm/llvm-project/commit/b4e39ad1176aa7fc1528aa3f7b447bf27350549f
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp_settings.cpp
Log Message:
-----------
[OpenMP] Remove dead code of checking int > INT_MAX (#83305)
Commit: 1ed463d9617324c37d7efe117233f68f794ac619
https://github.com/llvm/llvm-project/commit/1ed463d9617324c37d7efe117233f68f794ac619
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_threadprivate.cpp
Log Message:
-----------
[OpenMP] Make sure ptr is used after NULL check (#83304)
Commit: de4d7015d05ee3d140298207bb09c239884a71f7
https://github.com/llvm/llvm-project/commit/de4d7015d05ee3d140298207bb09c239884a71f7
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp_runtime.cpp
Log Message:
-----------
[OpenMP] Remove unnecessary check of ap (#83303)
Commit: 9b1c496898cbefdce74eb1cf1a0911eb3230d65b
https://github.com/llvm/llvm-project/commit/9b1c496898cbefdce74eb1cf1a0911eb3230d65b
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_tasking.cpp
Log Message:
-----------
[OpenMP] Fixup while loops to avoid bad NULL check (#83302)
Commit: cd5504637beb1aafeeec08fd339e0e920386eea1
https://github.com/llvm/llvm-project/commit/cd5504637beb1aafeeec08fd339e0e920386eea1
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M flang/unittests/Runtime/Ragged.cpp
Log Message:
-----------
[flang][unittests] Use malloc when memory will be deallcated with free (#84380)
Runtime unit tests used `new[]` to allocate memory, which then was
released using `free`.
This was detected by address sanitizer.
Commit: 63a5dc4aedaf8a4b26e536afb22612b4d69100bf
https://github.com/llvm/llvm-project/commit/63a5dc4aedaf8a4b26e536afb22612b4d69100bf
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
[CodeGen] Do not pass MF into MachineRegisterInfo methods. NFC. (#84770)
MachineRegisterInfo already knows the MF so there is no need to pass it
in as an argument.
Commit: d99bb01422a984e50043588a6bfafd2c6ce0b7e7
https://github.com/llvm/llvm-project/commit/d99bb01422a984e50043588a6bfafd2c6ce0b7e7
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M libc/docs/math/index.rst
M libc/src/math/docs/add_math_function.md
M libc/test/src/math/CMakeLists.txt
R libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
R libc/test/src/math/differential_testing/CMakeLists.txt
R libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
R libc/test/src/math/differential_testing/Timer.cpp
R libc/test/src/math/differential_testing/Timer.h
R libc/test/src/math/differential_testing/ceilf_diff.cpp
R libc/test/src/math/differential_testing/ceilf_perf.cpp
R libc/test/src/math/differential_testing/cosf_diff.cpp
R libc/test/src/math/differential_testing/cosf_perf.cpp
R libc/test/src/math/differential_testing/exp2f_diff.cpp
R libc/test/src/math/differential_testing/exp2f_perf.cpp
R libc/test/src/math/differential_testing/expf_diff.cpp
R libc/test/src/math/differential_testing/expf_perf.cpp
R libc/test/src/math/differential_testing/expm1f_diff.cpp
R libc/test/src/math/differential_testing/expm1f_perf.cpp
R libc/test/src/math/differential_testing/fabsf_diff.cpp
R libc/test/src/math/differential_testing/fabsf_perf.cpp
R libc/test/src/math/differential_testing/floorf_diff.cpp
R libc/test/src/math/differential_testing/floorf_perf.cpp
R libc/test/src/math/differential_testing/fmod_diff.cpp
R libc/test/src/math/differential_testing/fmod_perf.cpp
R libc/test/src/math/differential_testing/fmodf_diff.cpp
R libc/test/src/math/differential_testing/fmodf_perf.cpp
R libc/test/src/math/differential_testing/hypot_diff.cpp
R libc/test/src/math/differential_testing/hypot_perf.cpp
R libc/test/src/math/differential_testing/hypotf_diff.cpp
R libc/test/src/math/differential_testing/hypotf_perf.cpp
R libc/test/src/math/differential_testing/log10f_perf.cpp
R libc/test/src/math/differential_testing/log1pf_perf.cpp
R libc/test/src/math/differential_testing/log2f_diff.cpp
R libc/test/src/math/differential_testing/log2f_perf.cpp
R libc/test/src/math/differential_testing/logbf_diff.cpp
R libc/test/src/math/differential_testing/logbf_perf.cpp
R libc/test/src/math/differential_testing/logf_diff.cpp
R libc/test/src/math/differential_testing/logf_perf.cpp
R libc/test/src/math/differential_testing/nearbyintf_diff.cpp
R libc/test/src/math/differential_testing/nearbyintf_perf.cpp
R libc/test/src/math/differential_testing/rintf_diff.cpp
R libc/test/src/math/differential_testing/rintf_perf.cpp
R libc/test/src/math/differential_testing/roundf_diff.cpp
R libc/test/src/math/differential_testing/roundf_perf.cpp
R libc/test/src/math/differential_testing/sinf_diff.cpp
R libc/test/src/math/differential_testing/sinf_perf.cpp
R libc/test/src/math/differential_testing/sqrtf_diff.cpp
R libc/test/src/math/differential_testing/sqrtf_perf.cpp
R libc/test/src/math/differential_testing/truncf_diff.cpp
R libc/test/src/math/differential_testing/truncf_perf.cpp
A libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
A libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
A libc/test/src/math/performance_testing/Timer.cpp
A libc/test/src/math/performance_testing/Timer.h
A libc/test/src/math/performance_testing/ceilf_perf.cpp
A libc/test/src/math/performance_testing/cosf_perf.cpp
A libc/test/src/math/performance_testing/exp2f_perf.cpp
A libc/test/src/math/performance_testing/expf_perf.cpp
A libc/test/src/math/performance_testing/expm1f_perf.cpp
A libc/test/src/math/performance_testing/fabsf_perf.cpp
A libc/test/src/math/performance_testing/floorf_perf.cpp
A libc/test/src/math/performance_testing/fmod_perf.cpp
A libc/test/src/math/performance_testing/fmodf_perf.cpp
A libc/test/src/math/performance_testing/hypot_perf.cpp
A libc/test/src/math/performance_testing/hypotf_perf.cpp
A libc/test/src/math/performance_testing/log10f_perf.cpp
A libc/test/src/math/performance_testing/log1pf_perf.cpp
A libc/test/src/math/performance_testing/log2f_perf.cpp
A libc/test/src/math/performance_testing/logbf_perf.cpp
A libc/test/src/math/performance_testing/logf_perf.cpp
A libc/test/src/math/performance_testing/nearbyintf_perf.cpp
A libc/test/src/math/performance_testing/rintf_perf.cpp
A libc/test/src/math/performance_testing/roundf_perf.cpp
A libc/test/src/math/performance_testing/sinf_perf.cpp
A libc/test/src/math/performance_testing/sqrtf_perf.cpp
A libc/test/src/math/performance_testing/truncf_perf.cpp
Log Message:
-----------
[libc][NFC] Clean up test/src/math/differential_testing folder, renaming it to performance_testing. (#84646)
Removing all the diff tests.
Commit: 818af71b72219d149174faf9420dfc00f2c03470
https://github.com/llvm/llvm-project/commit/818af71b72219d149174faf9420dfc00f2c03470
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/invalid_types.mlir
M mlir/test/Dialect/EmitC/types.mlir
M mlir/test/Target/Cpp/common-cpp.mlir
M mlir/test/Target/Cpp/declare_func.mlir
M mlir/test/Target/Cpp/func.mlir
M mlir/test/Target/Cpp/invalid.mlir
A mlir/test/Target/Cpp/invalid_declare_variables_at_top.mlir
M mlir/test/Target/Cpp/variable.mlir
Log Message:
-----------
[mlir][emitc] Add ArrayType (#83386)
This models a one or multi-dimensional C/C++ array.
The type implements the `ShapedTypeInterface` and prints similar to
memref/tensor:
```
%arg0: !emitc.array<1xf32>,
%arg1: !emitc.array<10x20x30xi32>,
%arg2: !emitc.array<30x!emitc.ptr<i32>>,
%arg3: !emitc.array<30x!emitc.opaque<"int">>
```
It can be translated to a C array type when used as function parameter
or as `emitc.variable` type.
Commit: 575ca6744b755f75799c1d092f56953e776a80a6
https://github.com/llvm/llvm-project/commit/575ca6744b755f75799c1d092f56953e776a80a6
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
Log Message:
-----------
[CodeGen] Remove unused MachineRegisterInfo methods
Commit: a924da6d4b8733e5bf08098b18dd7ad1a5ba5f46
https://github.com/llvm/llvm-project/commit/a924da6d4b8733e5bf08098b18dd7ad1a5ba5f46
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M mlir/include/mlir/IR/Types.h
M mlir/lib/IR/Types.cpp
Log Message:
-----------
[mlir][IR] Add `isInteger()` (without width) (#84467)
For the singless and signed integers overloads exist, so that the width
does not need to be specified as an argument. This adds the same for
integers without checking for signedness.
Commit: 0858c906db008e02163e159158c082d9fc82dcca
https://github.com/llvm/llvm-project/commit/0858c906db008e02163e159158c082d9fc82dcca
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86SchedAlderlakeP.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Add missing register qualifier to the VBLENDVPD/VBLENDVPS/VPBLENDVB instruction names
Matches the SSE variants (which has a 0 qualifier to indicate the xmm0 explicit dependency)
Commit: ad8c8281363261929b53b0a519cd20e9e2445343
https://github.com/llvm/llvm-project/commit/ad8c8281363261929b53b0a519cd20e9e2445343
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse41.s
Log Message:
-----------
[X86] (V)MPSADBW instructions can run on Port1 or Port5 for one uop stage
When we copied the IceLake model from the SkylakeServer model we missed this diff
Confirmed with uops.info and Agner
Commit: 2c93beccdf8e026534a737eddaf8f5f26f3a23c3
https://github.com/llvm/llvm-project/commit/2c93beccdf8e026534a737eddaf8f5f26f3a23c3
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/include/clang/InstallAPI/Visitor.h
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/Visitor.cpp
A clang/test/InstallAPI/cpp.test
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] Collect C++ Decls (#84403)
This includes capturing symbols for global variables, functions,
classes, and templated defintions. As pre-determing what symbols are
generated from C++ declarations can be non-trivial, InstallAPI only
parses select declarations for symbol generation when parsing c++.
For example, installapi only looks at explicit template instantiations
or full template specializations, instead of general function or class
templates, for symbol emittion.
Commit: 34acdb3ec2113265ea221fb20747ecbffb4f6a2d
https://github.com/llvm/llvm-project/commit/34acdb3ec2113265ea221fb20747ecbffb4f6a2d
Author: annamthomas <anna at azul.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
Log Message:
-----------
Precommit testcase for pr81872 (#84782)
Testcase shows miscompile when dropping disjoint flag from disjoint or
during vectorization.
Commit: 7dc4d5f6a0012d6a2485640f6c3c9ca388a02433
https://github.com/llvm/llvm-project/commit/7dc4d5f6a0012d6a2485640f6c3c9ca388a02433
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/combine-sra.ll
M llvm/test/CodeGen/X86/combine-srl.ll
Log Message:
-----------
[X86] Add AVX512 (x86-64-v4) coverage to generic shift combines tests
Commit: 6cd68c2f87832ef39eb502a20d358b4c7fa37b9e
https://github.com/llvm/llvm-project/commit/6cd68c2f87832ef39eb502a20d358b4c7fa37b9e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-sra.ll
M llvm/test/CodeGen/X86/combine-srl.ll
Log Message:
-----------
[X86] Add base SSE2 coverage to SRL/SRA combines tests
Commit: 81e20472a0c5a4a8edc5ec38dc345d580681af81
https://github.com/llvm/llvm-project/commit/81e20472a0c5a4a8edc5ec38dc345d580681af81
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
A cmake/Modules/LLVMVersion.cmake
M llvm/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[cmake] Exposes LLVM version number in the runtimes. (#84641)
This allows sharing the LLVM version number in libc++.
Commit: 9a9aa41dea83039154601082b1aa2c56e35a5a17
https://github.com/llvm/llvm-project/commit/9a9aa41dea83039154601082b1aa2c56e35a5a17
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M lldb/docs/resources/build.rst
Log Message:
-----------
[LLDB][doc] Updates build instructions. (#84630)
Recently building libc++ requires building libunwind too. This updates
the LLDB instructions.
I noticed this recently and it was separately filed as
https://github.com/llvm/llvm-project/issues/84053
Commit: 501bc101c04675969ab673b247f2a58fa72bd09e
https://github.com/llvm/llvm-project/commit/501bc101c04675969ab673b247f2a58fa72bd09e
Author: karzan <61278770+karzanWang at users.noreply.github.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M lldb/source/Host/common/Editline.cpp
Log Message:
-----------
[lldb] Save the edited line before clearing it in Editline::PrintAsync (#84154)
If the `m_editor_status` is `EditorStatus::Editing`, PrintAsync clears
the currently edited line. In some situations, the edited line is not
saved. After the stream flushes, PrintAsync tries to display the unsaved
line, causing the loss of the edited line.
The issue arose while I was debugging REPRLRun in
[Fuzzilli](https://github.com/googleprojectzero/fuzzilli). I started
LLDB and attempted to set a breakpoint in libreprl-posix.c. I entered
`breakpoint set -f lib` and used the "tab" key for command completion.
After completion, the edited line was flushed, leaving a blank line.
Commit: 07d7b9c255078edc6f04bd4e68416bdf3e8735ab
https://github.com/llvm/llvm-project/commit/07d7b9c255078edc6f04bd4e68416bdf3e8735ab
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M libc/test/src/string/memory_utils/CMakeLists.txt
M libc/test/src/string/memory_utils/op_tests.cpp
Log Message:
-----------
[libc] Fix forward arm32 builtbot (#84794)
Introduced by https://github.com/llvm/llvm-project/pull/83441.
Commit: bdbad0d07bb600301cb324e87a6be37ca4af591a
https://github.com/llvm/llvm-project/commit/bdbad0d07bb600301cb324e87a6be37ca4af591a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
Log Message:
-----------
Turn off instruction flow control annotations by default (#84607)
Walter Erquinigo added optional instruction annotations for x86
instructions in 2022 for the `thread trace dump instruction` command,
and code to DisassemblerLLVMC to add annotations for instructions that
change flow control, v. https://reviews.llvm.org/D128477
This was added as an option to `disassemble`, and the trace dump command
enables it by default, but several other instruction dumpers were
changed to display them by default as well. These are only implemented
for Intel instructions, so our disassembly on other targets ends up
looking like
```
(lldb) x/5i 0x1000086e4
0x1000086e4: 0xa9be6ffc unknown stp x28, x27, [sp, #-0x20]!
0x1000086e8: 0xa9017bfd unknown stp x29, x30, [sp, #0x10]
0x1000086ec: 0x910043fd unknown add x29, sp, #0x10
0x1000086f0: 0xd11843ff unknown sub sp, sp, #0x610
0x1000086f4: 0x910c63e8 unknown add x8, sp, #0x318
```
instead of `disassemble`'s output style of
```
lldb`main:
lldb[0x1000086e4] <+0>: stp x28, x27, [sp, #-0x20]!
lldb[0x1000086e8] <+4>: stp x29, x30, [sp, #0x10]
lldb[0x1000086ec] <+8>: add x29, sp, #0x10
lldb[0x1000086f0] <+12>: sub sp, sp, #0x610
lldb[0x1000086f4] <+16>: add x8, sp, #0x318
```
Adding symbolic annotations for assembly instructions is something I'm
interested in too, because we may have users investigating a crash or
apparent-incorrect behavior who must debug optimized assembly and they
may not be familiar with the ISA they're using, so short of flipping
through a many-thousand-page PDF to understand each instruction, they're
lost. They don't write assembly or work at that level, but to understand
a bug, they have to understand what the instructions are actually doing.
But the annotations that exist today don't move us forward much on that
front - I'd argue that the flow control instructions on Intel are not
hard to understand from their names, but that might just be my personal
bias. Much trickier instructions exist in any event.
Displaying this information by default for all targets when we only have
one class of instructions on one target is not a good default.
Also, in 2011 when Greg implemented the `memory read -f i` (aka `x/i`)
command
```
commit 5009f9d5010a7e34ae15f962dac8505ea11a8716
Author: Greg Clayton <gclayton at apple.com>
Date: Thu Oct 27 17:55:14 2011 +0000
[...]
eFormatInstruction will print out disassembly with bytes and it will use the
current target's architecture. The format character for this is "i" (which
used to be being used for the integer format, but the integer format also has
"d", so we gave the "i" format to disassembly), the long format is
"instruction".
```
he had DumpDataExtractor's DumpInstructions print the bytes of the
instruction -- that's the first field we see above for the `x/5i` after
the address -- and this is only useful for people who are debugging the
disassembler itself, I would argue. I don't want this displayed by
default either.
tl;dr this patch removes both fields from `memory read -f -i` and I
think this is the right call today. While I'm really interested in
instruction annotation, I don't think `x/i` is the right place to have
it enabled by default unless it's really compelling on at least some of
our major targets.
Commit: 36a2752923a76f0b747bc35b7cd1bd1d1bf5bf05
https://github.com/llvm/llvm-project/commit/36a2752923a76f0b747bc35b7cd1bd1d1bf5bf05
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M utils/bazel/configure.bzl
Log Message:
-----------
[bazel] Grab correct version info after 81e20472a0c5a4a8edc5ec38dc345d580681af81
This is a bit awkward.
Commit: 866ac9a165d65606910987c119ebee6a85480192
https://github.com/llvm/llvm-project/commit/866ac9a165d65606910987c119ebee6a85480192
Author: annamthomas <anna at azul.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
Log Message:
-----------
[LV] Address postcommit review for PR84782 (#84797)
This testcase was added to show miscompile in
https://github.com/llvm/llvm-project/issues/81872
Commit: 8467457afc61d70e881c9817ace26356ef757733
https://github.com/llvm/llvm-project/commit/8467457afc61d70e881c9817ace26356ef757733
Author: Bhuminjay Soni <Soni5Happy at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Misc/warning-wall.c
A clang/test/Sema/return-type-mismatch.c
Log Message:
-----------
Add new flag -Wreturn-mismatch (#82872)
This pull request fixes #72116 where a new flag is introduced for
compatibility with GCC 14, the functionality of -Wreturn-type is
modified to split some of its behaviors into -Wreturn-mismatch
Fixes #72116
Commit: 034cc2f5d0abcf7a465665246f16a1b75fbde93a
https://github.com/llvm/llvm-project/commit/034cc2f5d0abcf7a465665246f16a1b75fbde93a
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/MachineVerifier/test_g_extract_subvector.mir
A llvm/test/MachineVerifier/test_g_insert_subvector.mir
Log Message:
-----------
[GISEL] Add G_INSERT_SUBVECTOR and G_EXTRACT_SUBVECTOR (#84538)
G_INSERT and G_EXTRACT are not sufficient to use to represent both
INSERT/EXTRACT on a subregister and INSERT/EXTRACT on a vector.
We would like to be able to INSERT/EXTRACT on vectors in cases that
INSERT/EXTRACT on vector subregisters are not sufficient, so we add
these opcodes.
I tried to do a patch where we treated G_EXTRACT as both
G_EXTRACT_SUBVECTOR and G_EXTRACT_SUBREG, but ran into an infinite loop
at this
[point](https://github.com/llvm/llvm-project/blob/8b5b294ec2cf876bc5eb5bd5fcb56ef487e36d60/llvm/lib/Target/RISCV/RISCVISelLowering.cpp#L9932)
in the SDAG equivalent code.
Commit: 2a3f27cce8983e5d6871b9ebb8f5e9dd91884f0c
https://github.com/llvm/llvm-project/commit/2a3f27cce8983e5d6871b9ebb8f5e9dd91884f0c
Author: Joe Nash <Sisyph at users.noreply.github.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
Log Message:
-----------
[AMDGPU][True16] Make NotHasTrue16BitInsts a True16Predicate (#84771)
NFC.
Test coverage on VOPC shows NotHasTrue16BitInsts on the pre-gfx11
instructions is necessary (we cannot use the default NoTrue16Predicate).
Update the VOP2 instructions in the same manner.
Commit: 725a0523a18ef1a75a6d4a010dc3debe1b08c9d1
https://github.com/llvm/llvm-project/commit/725a0523a18ef1a75a6d4a010dc3debe1b08c9d1
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/xmmintrin.h
Log Message:
-----------
[Headers][X86] Add specific results to comparisons (#83316)
Some comparison intrinsics were described as returning the "result" without
specifying how. The "cmp" intrinsics return zero or all 1's in the
corresponding elements of a returned vector; the "com" intrinsics return
an integer 0 or 1.
Also removed some redundant information.
Commit: 212604698c0f265702ec9c9486fe5b74a6fc2ff7
https://github.com/llvm/llvm-project/commit/212604698c0f265702ec9c9486fe5b74a6fc2ff7
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
M llvm/test/MC/AMDGPU/mtbuf-gfx10.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_mtbuf.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_mubuf.txt
Log Message:
-----------
[AMDGPU] Add missing tests for GFX10 (t)buffer format d16 instructions (#84789)
Commit: 0a4abe5cc90e2d11d9b20c890a87022222a3e10e
https://github.com/llvm/llvm-project/commit/0a4abe5cc90e2d11d9b20c890a87022222a3e10e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/SourceCode.cpp
M clang-tools-extra/clangd/SourceCode.h
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/SourceCodeTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/InstallAPI/Visitor.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/coroutine-locals-cleanup.cpp
M clang/test/CodeGenCoroutines/coro-always-inline.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
R clang/test/CodeGenCoroutines/coro-awaiter-noinline-suspend.cpp
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
M clang/test/CodeGenCoroutines/coro-function-try-block.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
M clang/test/CodeGenCoroutines/pr56329.cpp
M clang/test/CodeGenCoroutines/pr59181.cpp
M clang/test/CodeGenCoroutines/pr65054.cpp
A clang/test/InstallAPI/cpp.test
M clang/test/Misc/warning-wall.c
A clang/test/Modules/hashing-decls-in-exprs-from-gmf.cppm
A clang/test/Sema/return-type-mismatch.c
R clang/test/SemaCXX/gh84064-1.cpp
R clang/test/SemaCXX/gh84064-2.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/unittests/Interpreter/CMakeLists.txt
A clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
A cmake/Modules/LLVMVersion.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/test/tsan/pthread_atfork_deadlock3.c
A compiler-rt/test/tsan/signal_in_read.c
M flang/CMakeLists.txt
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/unittests/Runtime/Ragged.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/docs/stdbit.rst
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/CPP/bit.h
M libc/src/__support/GPU/CMakeLists.txt
A libc/src/__support/GPU/allocator.cpp
A libc/src/__support/GPU/allocator.h
M libc/src/math/amdgpu/CMakeLists.txt
R libc/src/math/amdgpu/modf.cpp
R libc/src/math/amdgpu/modff.cpp
M libc/src/math/docs/add_math_function.md
M libc/src/math/nvptx/CMakeLists.txt
R libc/src/math/nvptx/modf.cpp
R libc/src/math/nvptx/modff.cpp
M libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_bit_ceil_uc.cpp
A libc/src/stdbit/stdc_bit_ceil_uc.h
A libc/src/stdbit/stdc_bit_ceil_ui.cpp
A libc/src/stdbit/stdc_bit_ceil_ui.h
A libc/src/stdbit/stdc_bit_ceil_ul.cpp
A libc/src/stdbit/stdc_bit_ceil_ul.h
A libc/src/stdbit/stdc_bit_ceil_ull.cpp
A libc/src/stdbit/stdc_bit_ceil_ull.h
A libc/src/stdbit/stdc_bit_ceil_us.cpp
A libc/src/stdbit/stdc_bit_ceil_us.h
M libc/src/stdlib/gpu/CMakeLists.txt
M libc/src/stdlib/gpu/free.cpp
M libc/src/stdlib/gpu/malloc.cpp
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/msync.cpp
A libc/src/sys/mman/msync.h
M libc/test/include/stdbit_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/CMakeLists.txt
R libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
R libc/test/src/math/differential_testing/CMakeLists.txt
R libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
R libc/test/src/math/differential_testing/Timer.cpp
R libc/test/src/math/differential_testing/Timer.h
R libc/test/src/math/differential_testing/ceilf_diff.cpp
R libc/test/src/math/differential_testing/ceilf_perf.cpp
R libc/test/src/math/differential_testing/cosf_diff.cpp
R libc/test/src/math/differential_testing/cosf_perf.cpp
R libc/test/src/math/differential_testing/exp2f_diff.cpp
R libc/test/src/math/differential_testing/exp2f_perf.cpp
R libc/test/src/math/differential_testing/expf_diff.cpp
R libc/test/src/math/differential_testing/expf_perf.cpp
R libc/test/src/math/differential_testing/expm1f_diff.cpp
R libc/test/src/math/differential_testing/expm1f_perf.cpp
R libc/test/src/math/differential_testing/fabsf_diff.cpp
R libc/test/src/math/differential_testing/fabsf_perf.cpp
R libc/test/src/math/differential_testing/floorf_diff.cpp
R libc/test/src/math/differential_testing/floorf_perf.cpp
R libc/test/src/math/differential_testing/fmod_diff.cpp
R libc/test/src/math/differential_testing/fmod_perf.cpp
R libc/test/src/math/differential_testing/fmodf_diff.cpp
R libc/test/src/math/differential_testing/fmodf_perf.cpp
R libc/test/src/math/differential_testing/hypot_diff.cpp
R libc/test/src/math/differential_testing/hypot_perf.cpp
R libc/test/src/math/differential_testing/hypotf_diff.cpp
R libc/test/src/math/differential_testing/hypotf_perf.cpp
R libc/test/src/math/differential_testing/log10f_perf.cpp
R libc/test/src/math/differential_testing/log1pf_perf.cpp
R libc/test/src/math/differential_testing/log2f_diff.cpp
R libc/test/src/math/differential_testing/log2f_perf.cpp
R libc/test/src/math/differential_testing/logbf_diff.cpp
R libc/test/src/math/differential_testing/logbf_perf.cpp
R libc/test/src/math/differential_testing/logf_diff.cpp
R libc/test/src/math/differential_testing/logf_perf.cpp
R libc/test/src/math/differential_testing/nearbyintf_diff.cpp
R libc/test/src/math/differential_testing/nearbyintf_perf.cpp
R libc/test/src/math/differential_testing/rintf_diff.cpp
R libc/test/src/math/differential_testing/rintf_perf.cpp
R libc/test/src/math/differential_testing/roundf_diff.cpp
R libc/test/src/math/differential_testing/roundf_perf.cpp
R libc/test/src/math/differential_testing/sinf_diff.cpp
R libc/test/src/math/differential_testing/sinf_perf.cpp
R libc/test/src/math/differential_testing/sqrtf_diff.cpp
R libc/test/src/math/differential_testing/sqrtf_perf.cpp
R libc/test/src/math/differential_testing/truncf_diff.cpp
R libc/test/src/math/differential_testing/truncf_perf.cpp
A libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
A libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
A libc/test/src/math/performance_testing/Timer.cpp
A libc/test/src/math/performance_testing/Timer.h
A libc/test/src/math/performance_testing/ceilf_perf.cpp
A libc/test/src/math/performance_testing/cosf_perf.cpp
A libc/test/src/math/performance_testing/exp2f_perf.cpp
A libc/test/src/math/performance_testing/expf_perf.cpp
A libc/test/src/math/performance_testing/expm1f_perf.cpp
A libc/test/src/math/performance_testing/fabsf_perf.cpp
A libc/test/src/math/performance_testing/floorf_perf.cpp
A libc/test/src/math/performance_testing/fmod_perf.cpp
A libc/test/src/math/performance_testing/fmodf_perf.cpp
A libc/test/src/math/performance_testing/hypot_perf.cpp
A libc/test/src/math/performance_testing/hypotf_perf.cpp
A libc/test/src/math/performance_testing/log10f_perf.cpp
A libc/test/src/math/performance_testing/log1pf_perf.cpp
A libc/test/src/math/performance_testing/log2f_perf.cpp
A libc/test/src/math/performance_testing/logbf_perf.cpp
A libc/test/src/math/performance_testing/logf_perf.cpp
A libc/test/src/math/performance_testing/nearbyintf_perf.cpp
A libc/test/src/math/performance_testing/rintf_perf.cpp
A libc/test/src/math/performance_testing/roundf_perf.cpp
A libc/test/src/math/performance_testing/sinf_perf.cpp
A libc/test/src/math/performance_testing/sqrtf_perf.cpp
A libc/test/src/math/performance_testing/truncf_perf.cpp
M libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
A libc/test/src/stdbit/stdc_bit_ceil_ui_test.cpp
A libc/test/src/stdbit/stdc_bit_ceil_ul_test.cpp
A libc/test/src/stdbit/stdc_bit_ceil_ull_test.cpp
A libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
M libc/test/src/string/memory_utils/CMakeLists.txt
M libc/test/src/string/memory_utils/op_tests.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
A libc/test/src/sys/mman/linux/msync_test.cpp
M libc/utils/CMakeLists.txt
M libc/utils/gpu/CMakeLists.txt
M libc/utils/gpu/loader/CMakeLists.txt
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
M libc/utils/gpu/loader/nvptx/CMakeLists.txt
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/llvmlibc_rpc_server.h
M libc/utils/gpu/server/rpc_server.cpp
M libcxx/include/CMakeLists.txt
M libcxx/include/__exception/exception_ptr.h
A libcxx/include/__tuple/find_index.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/include/tuple
M libcxx/include/variant
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/variant/variant.variant/variant_size.pass.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/parse.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp
M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.bool.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.unsigned_integral.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtdef/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtset/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/parse.pass.cpp
M libcxx/test/std/utilities/format/format.tuple/parse.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.verify.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp
M lld/COFF/InputFiles.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/SyntheticSections.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
A lld/test/COFF/exportas.test
M lldb/docs/resources/build.rst
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M llvm/CMakeLists.txt
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CMake.rst
M llvm/docs/CommandGuide/llvm-remarkutil.rst
M llvm/docs/Coroutines.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/RegAllocPBQP.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/HardwareLoops.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86SchedAlderlakeP.td
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86ScheduleBdVer2.td
M llvm/lib/Transforms/Coroutines/CoroInstr.h
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/runtimes/CMakeLists.txt
A llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/and-mask-removal.ll
M llvm/test/CodeGen/AArch64/signed-truncation-check.ll
M llvm/test/CodeGen/AArch64/typepromotion-overflow.ll
M llvm/test/CodeGen/AMDGPU/acc-ldst.ll
M llvm/test/CodeGen/AMDGPU/add.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/lds-misaligned-bug.ll
R llvm/test/CodeGen/AMDGPU/lds-reject-absolute-addresses.ll
A llvm/test/CodeGen/AMDGPU/lds-reject-mixed-absolute-addresses.ll
A llvm/test/CodeGen/AMDGPU/lds-run-twice-absolute-md.ll
A llvm/test/CodeGen/AMDGPU/lds-run-twice.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir
M llvm/test/CodeGen/ARM/vlldm-vlstm-uops.mir
M llvm/test/CodeGen/LoongArch/bstrins_w.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
A llvm/test/CodeGen/RISCV/srodata.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/CodeGen/X86/combine-and.ll
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/combine-sra.ll
M llvm/test/CodeGen/X86/combine-srl.ll
M llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
M llvm/test/MC/AMDGPU/mtbuf-gfx10.s
M llvm/test/MC/ARM/thumbv8m.s
A llvm/test/MC/ARM/vlstm-vlldm-8.1m.s
A llvm/test/MC/ARM/vlstm-vlldm-8m.s
A llvm/test/MC/ARM/vlstm-vlldm-diag.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_mtbuf.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_mubuf.txt
A llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.1.main.txt
A llvm/test/MC/Disassembler/ARM/armv8.1m-vlldm_vlstm-8.main.txt
A llvm/test/MachineVerifier/test_g_extract_subvector.mir
A llvm/test/MachineVerifier/test_g_insert_subvector.mir
M llvm/test/TableGen/x86-fold-tables.inc
A llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
A llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
A llvm/test/Transforms/HardwareLoops/scalar-while-strictfp.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
A llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
M llvm/test/Transforms/InstCombine/icmp-and-shift.ll
M llvm/test/Transforms/InstCombine/icmp-range.ll
M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll
A llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/TypePromotion/ARM/icmps.ll
M llvm/test/Transforms/TypePromotion/ARM/wrapping.ll
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse41.s
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp
M llvm/tools/llvm-mca/Views/SchedulerStatistics.cpp
M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
M llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
R llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
R llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
A llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
A llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
M llvm/unittests/Target/ARM/MachineInstrTest.cpp
M llvm/utils/FileCheck/FileCheck.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/CodeGenInstruction.h
M llvm/utils/TableGen/CodeGenSchedule.cpp
M llvm/utils/TableGen/CodeGenTarget.cpp
M llvm/utils/TableGen/CodeGenTarget.h
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/IR/Types.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/IR/Types.cpp
M mlir/lib/Reducer/ReductionNode.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/invalid_types.mlir
M mlir/test/Dialect/EmitC/types.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/Transform/test-pattern-application.mlir
M mlir/test/Target/Cpp/common-cpp.mlir
M mlir/test/Target/Cpp/declare_func.mlir
M mlir/test/Target/Cpp/func.mlir
M mlir/test/Target/Cpp/invalid.mlir
A mlir/test/Target/Cpp/invalid_declare_variables_at_top.mlir
M mlir/test/Target/Cpp/variable.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_affinity.h
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_tasking.cpp
M openmp/runtime/src/kmp_threadprivate.cpp
M openmp/runtime/src/z_Linux_util.cpp
M runtimes/CMakeLists.txt
M utils/bazel/configure.bzl
Log Message:
-----------
comment
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/9596e7b1614e...0a4abe5cc90e
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