[all-commits] [llvm/llvm-project] cd8286: [GitHub] Allow shortcut for "introductory issue" a...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Wed Mar 27 06:06:36 PDT 2024
Branch: refs/heads/users/alexey-bataev/spr/slpbuildvector-for-alternate-instructions-with-non-profitable-gather
Home: https://github.com/llvm/llvm-project
Commit: cd8286a667d568c4319b09baa63ba899e3101a19
https://github.com/llvm/llvm-project/commit/cd8286a667d568c4319b09baa63ba899e3101a19
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
[GitHub] Allow shortcut for "introductory issue" and request linking to issue in PR (#84635)
The answer to many requests in issues to be assigned to users is often
"just create a pull request". That's in contradiction to the
"introductory issue" instructions posted by the GitHub bot.
This change updates the instructions, mentioning the shortcut of "just
creating a PR". Moreover, it now explains linking PRs to issues in order
to close them automatically upon merge.
Commit: fb329f18445cb33d242cc500ca618d03674b22ad
https://github.com/llvm/llvm-project/commit/fb329f18445cb33d242cc500ca618d03674b22ad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[Target] Move SubRegIdxRanges from MCSubtargetInfo to TargetInfo. (#86245)
I'm planning to add HwMode support to SubRegIdxRanges for RISC-V GPR
pairs. The MC layer is currently unaware of the HwMode for registers and
I'd like to keep it that way.
This information is not used by the MC layer so I think it is safe to
move it.
Commit: b1575f9082071702bd6aaa2600ce9fe011a091e9
https://github.com/llvm/llvm-project/commit/b1575f9082071702bd6aaa2600ce9fe011a091e9
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
Log Message:
-----------
Missed a null-ptr check in previous PR for Debuginfod testing (#86292)
@GeorgeHuyubo noticed an unchecked shared pointer result in
https://github.com/llvm/llvm-project/pull/85693/. This is the fix for
that issue.
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 721f149596f27f3d4c5c28ec2a2fac33340fb876
https://github.com/llvm/llvm-project/commit/721f149596f27f3d4c5c28ec2a2fac33340fb876
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
Fix typo (#86319)
Im working on the floating point fmaximum and fminimum functions right
now in a different pr and I ran the individual tests by doing
```
ninja libc.test.src.math.smoke.<func>_test.__unit__
```
Commit: 83e96977cdb6041196366fc01e8abdca52cadb2e
https://github.com/llvm/llvm-project/commit/83e96977cdb6041196366fc01e8abdca52cadb2e
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/stdc.td
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/strfromd.cpp
A libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.h
A libc/src/stdlib/strfroml.cpp
A libc/src/stdlib/strfroml.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/StrfromTest.h
A libc/test/src/stdlib/strfromd_test.cpp
M libc/test/src/stdlib/strfromf_test.cpp
A libc/test/src/stdlib/strfroml_test.cpp
Log Message:
-----------
[libc] Implement strfromd() and strfroml() (#86113)
Follow up to #85438.
Implements the functions `strfromd()` and `strfroml()` introduced in
C23, and unifies the testing framework for `strfrom*()` functions.
Commit: e64e15ee597370a9731fcba0b2b8a514f26125e7
https://github.com/llvm/llvm-project/commit/e64e15ee597370a9731fcba0b2b8a514f26125e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
Log Message:
-----------
[RISCV] Move the RISCVSchedule.td include after RISCVRegisterInfo.td. NFC
Registers shouldn't depend on the scheduler, but a scheduler
predicate could depend on a register.
This would make it possible to move VLDSX0Pred out of the SiFive7
scheduler model to RISCVSchedule.td if another model needed it.
Commit: 2120f574103c487787390263b3692c4b167f6bdf
https://github.com/llvm/llvm-project/commit/2120f574103c487787390263b3692c4b167f6bdf
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A .github/workflows/issue-write.yml
M .github/workflows/pr-code-format.yml
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
Reapply [workflows] Split pr-code-format into two parts to make it more secure (#78215) (#80495)
Actions triggered by pull_request_target events have access to all
repository secrets, so it is unsafe to use them when executing untrusted
code. The pr-code-format workflow does not execute any untrusted code,
but it passes untrused input into clang-format. An attacker could use
this to exploit a flaw in clang-format and potentially gain access to
the repository secrets.
By splitting the workflow, we can use the pull_request target which is
more secure and isolate the issue write permissions in a separate job.
The pull_request target also makes it easier to test changes to the
code-format-helepr.py script, because the version of the script from the
pull request will be used rather than the version of the script from
main.
Fixes #77142
Commit: 80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
https://github.com/llvm/llvm-project/commit/80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
Log Message:
-----------
Revert "[bazel] Update to 7.x (#86297)" (#86325)
Reverting for
https://github.com/llvm/llvm-project/pull/86297#issuecomment-2015660662
This reverts commit ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39.
Commit: 50e6218132d6d9cfc2645fa19cf72d0437a62d95
https://github.com/llvm/llvm-project/commit/50e6218132d6d9cfc2645fa19cf72d0437a62d95
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
Log Message:
-----------
Reland "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)"
This reverts commit 1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883.
This relands commit 6bbe8a296ee91754d423c59c35727eaa624f7140.
This was causing build failures on one of the ARMv8 builders. Still not
completely sure why, but relanding it to see if the failure pops up
again. If it does, the plan is to fix forward by disabling tests on ARM
temporarily as llvm-exegesis does not currently use SubprocessMemory
on ARM.
Commit: 4b907414d2c0445ac1ae11811aaa4aaa2e060cf9
https://github.com/llvm/llvm-project/commit/4b907414d2c0445ac1ae11811aaa4aaa2e060cf9
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
A llvm/test/CodeGen/SystemZ/readcyclecounter.ll
Log Message:
-----------
[SystemZ] Add support for llvm.readcyclecounter
The llvm.readcyclecounter intrinsic can be implemented via the
STORE CLOCK FAST (STCKF) instruction.
Commit: ee9fa38554f8427f5361708b28551e70ff0e1256
https://github.com/llvm/llvm-project/commit/ee9fa38554f8427f5361708b28551e70ff0e1256
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[libc] fix missing macro dependency in bazel (#86298)
![image](https://github.com/llvm/llvm-project/assets/20108837/94cb5718-3526-4bae-8a79-f5b1d19b352d)
Commit: d394f3a162b871668d0c8e8bf6a94922fa8698ae
https://github.com/llvm/llvm-project/commit/d394f3a162b871668d0c8e8bf6a94922fa8698ae
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-03-22 (Fri, 22 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/z_Linux_util.cpp
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP][AIX] Affinity implementation for AIX (#84984)
This patch implements `affinity` for AIX, which is quite different from
platforms such as Linux.
- Setting CPU affinity through masks and related functions are not
supported. System call `bindprocessor()` is used to bind a thread to one
CPU per call.
- There are no system routines to get the affinity info of a thread. The
implementation of `get_system_affinity()` for AIX gets the mask of all
available CPUs, to be used as the full mask only.
- Topology is not available from the file system. It is obtained through
system SRAD (Scheduler Resource Allocation Domain).
This patch has run through the libomp LIT tests successfully with
`affinity` enabled.
Commit: dfe4ca9b7f4a422500d78280dc5eefd1979939e6
https://github.com/llvm/llvm-project/commit/dfe4ca9b7f4a422500d78280dc5eefd1979939e6
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-tlsdesc-relax.s
M lld/test/ELF/riscv-tlsdesc.s
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
Log Message:
-----------
[RISCV][lld] Set the type of TLSDESC relocation's referenced local symbol to STT_NOTYPE
When adding fixups for RISCV_TLSDESC_ADD_LO and RISCV_TLSDESC_LOAD_LO,
the local label added for RISCV TLSDESC relocations have STT_TLS set,
which is incorrect. Instead, these labels should have `STT_NOTYPE`.
This patch stops adding such fixups and avoid setting the STT_TLS on
these symbols. Failing to do so can cause LLD to emit an error `has an
STT_TLS symbol but doesn't have an SHF_TLS section`. We additionally,
adjust how LLD services these relocations to avoid errors with
incompatible relocation and symbol types.
Reviewers: topperc, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/85817
Commit: e9639e9c0636d9e2b9591c2cdac5cac75e363e77
https://github.com/llvm/llvm-project/commit/e9639e9c0636d9e2b9591c2cdac5cac75e363e77
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
Log Message:
-----------
[flang][NFC] Extract FIROpConversion to its own files (#86213)
This PR extracts `FIROpConversion` and `FIROpAndTypeConversion`
templated base patterns to a header file. All the functions from
FIROpConversion that do not require the template argument are moved to a
base class named `ConvertFIRToLLVMPattern`.
This move is done so the `FIROpConversion` pattern and all its utility
functions can be reused outside of the codegen pass.
For the most part the code is only moved to the new files and not
modified. The only update is that addition of the PatternBenefit
argument with a default value to the constructor so it can be forwarded
to the `ConversionPattern` ctor.
This split is done in a similar way for the `ConvertOpToLLVMPattern`
base pattern that is based on the `ConvertToLLVMPattern` base class in
`mlir/include/mlir/Conversion/LLVMCommon/Pattern.h`.
Commit: 19268ac55106834701b1c41acded4d413a3502e9
https://github.com/llvm/llvm-project/commit/19268ac55106834701b1c41acded4d413a3502e9
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[Sanitizers][Darwin] Bump up DEFAULT_SANITIZER_MIN_OSX_VERSION (#86035)
The greendragon was recently moved and now it runs on somewhat newer
macOS
version - which breaks some sanitizers tests
rdar://125052915
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 105feb9ac61243a32c84f5c13015602e5de500ff
https://github.com/llvm/llvm-project/commit/105feb9ac61243a32c84f5c13015602e5de500ff
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/dwarf4-label-low-pc.s
M bolt/test/X86/dwarf5-label-low-pc.s
Log Message:
-----------
[BOLT][DWARF] Fix handling of DW_TAG_label (#86182)
For DWARF5 BOLT was not retreiving address and instead was setting an
index.
Changed so that an address is used, and added DWARF4 test because it was
missing.
Commit: f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
https://github.com/llvm/llvm-project/commit/f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/include/bolt/Core/DebugNames.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
A bolt/test/X86/dwarf5-debug-names-cross-cu.s
Log Message:
-----------
[BOLT][DWARF] Add support for cross-cu references for debug-names (#86015)
The DW_AT_abstract_origin can be a cross-cu reference as a by-product of
LTO. On IR level for absolute references an address is stored, vs a DIE
for relative references. Added a map to keep track of cross-cu
referenced DIEs to use when we add an Entry.
Commit: dcbddc25250158469c5635ad2ae4095faef53dfd
https://github.com/llvm/llvm-project/commit/dcbddc25250158469c5635ad2ae4095faef53dfd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Unify and simplify plugin CMake (#86191)
Summary:
This patch reworks the CMake handling for building plugins. All this
does is pull a lot of shared and common logic into a single helper
function.
This also simplifies the OMPT libraries from being built separately
instead of just added.
Commit: 215f105ca5d0b42d00bbbc315605b222d63be63a
https://github.com/llvm/llvm-project/commit/215f105ca5d0b42d00bbbc315605b222d63be63a
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/stack-tagging-stack-coloring.ll
Log Message:
-----------
[MTE] Fix test (#85875)
llc runs the stack tagging instrumentation, so if we run opt before, we
double instrument
Commit: 14be4930c10bcc6f6c0096097350cb3cafff9661
https://github.com/llvm/llvm-project/commit/14be4930c10bcc6f6c0096097350cb3cafff9661
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel] Make compiler-rt analyze on macOS (#86001)
Previously the select above would fail for non-linux platforms if you
did a `bazel build @llvm-project//...`, now this target specifies that
it's only supported on the linux platform through bazel's
`target_compatible_with` feature. This makes all targets in the tree be
ignored when building on incompatible platforms (and fail if built
directly)
Commit: 85af772f3b4067fce703b33cee0e2cdafc74a6d6
https://github.com/llvm/llvm-project/commit/85af772f3b4067fce703b33cee0e2cdafc74a6d6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[Libomptarget][FIX] Fix unintentinally used PUBLIC interface
Summary:
This was supposed to be private and caused some issues with certain
configs.
Commit: 5d0d9eb52dbb3bcf6f500c7b18d58c8bdf6659ce
https://github.com/llvm/llvm-project/commit/5d0d9eb52dbb3bcf6f500c7b18d58c8bdf6659ce
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/BalancedPartitioning.h
M llvm/lib/Support/BalancedPartitioning.cpp
Log Message:
-----------
[NFC][BP] Remove unused parameter from function (#86333)
Remove the unused parameter `RecDepth` from `runIterations()`.
Commit: 4652ec0e291ca4ba4ddef3fd59b202646e9a6694
https://github.com/llvm/llvm-project/commit/4652ec0e291ca4ba4ddef3fd59b202646e9a6694
Author: Patrick O'Neill <102189596+patrick-rivos at users.noreply.github.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
Log Message:
-----------
[SLP] Delete vectorized users when tree contains an invalid cost (#86344)
Commit: 913e29966bac5fec08998a1acc3e793f9b7bcc12
https://github.com/llvm/llvm-project/commit/913e29966bac5fec08998a1acc3e793f9b7bcc12
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
Log Message:
-----------
[NFC][tsan] Use the result of placement new (#86341)
Commit: 0ba678a53d3ef7d125f38720a59875035739dc9b
https://github.com/llvm/llvm-project/commit/0ba678a53d3ef7d125f38720a59875035739dc9b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
Log Message:
-----------
[tsan] Set `thr->is_inited` after SlotAttachAndLock (#86342)
Almost NFC.
This is symmetrical to `ThreadFinish`, which
resets the slot after `is_inited`.
Commit: 362d26366d0175f01ffb6085eb747a6e40f01147
https://github.com/llvm/llvm-project/commit/362d26366d0175f01ffb6085eb747a6e40f01147
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[tsan] Process SIGPROF as sync signal only if thread is alive (#86343)
Otherwise it may crash too early.
This is followup to #85188
Commit: b1e97d60bd5b1d3f994345caa4012ea11c2a0f62
https://github.com/llvm/llvm-project/commit/b1e97d60bd5b1d3f994345caa4012ea11c2a0f62
Author: Yeoul Na <yeoul_na at apple.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGen/attr-counted-by-debug-info.c
Log Message:
-----------
Unwrap CountAttributed for debug info (#86017)
Fix crash caused by 3eb9ff30959a670559bcba03d149d4c51bf7c9c9
Commit: 56197d732e5d5d158fce2f2dfddf3d0bf0d12525
https://github.com/llvm/llvm-project/commit/56197d732e5d5d158fce2f2dfddf3d0bf0d12525
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Skip functions with unsupported Linux kernel features (#86345)
Do not overwrite functions with alternative and paravirtual instructions
until a proper update support is implemented.
Commit: 51268a57fd4d7f67fe9fdb337f63ec390fa2379a
https://github.com/llvm/llvm-project/commit/51268a57fd4d7f67fe9fdb337f63ec390fa2379a
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
Log Message:
-----------
[BOLT] Enable --keep-nops option for Linux kernel by default (#86349)
Preserve nop instructions in the Linux kernel since they could be used
for runtime patching.
Commit: 3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b
https://github.com/llvm/llvm-project/commit/3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/CMakeLists.txt
A cmake/Modules/GetDarwinLinkerVersion.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
Get the linker version and pass the it to compiler-rt tests on Darwin. (#86220)
The HOST_LINK_VERSION is a hardcoded string in Darwin clang that detects
the linker version at configure time. The driver uses this information
to build the correct set of arguments for the linker. This patch detects
the linker version again during compiler-rt configuration and passes it
to the tests. This allows a clang built on a machine with a new linker
to run compiler-rt tests on a machine with an old linker.
rdar://125198603
Commit: 4406e4a8bd5acadd980d84356b36030cadf9a61d
https://github.com/llvm/llvm-project/commit/4406e4a8bd5acadd980d84356b36030cadf9a61d
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
Log Message:
-----------
Revert "Missed a null-ptr check in previous PR for Debuginfod testing (#86292)"
This reverts commit b1575f9082071702bd6aaa2600ce9fe011a091e9.
Commit: 7fc2fbb3f1961e0ad0722c2d749ddd6264195a1c
https://github.com/llvm/llvm-project/commit/7fc2fbb3f1961e0ad0722c2d749ddd6264195a1c
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
R lldb/test/API/debuginfod/Normal/Makefile
R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
R lldb/test/API/debuginfod/Normal/main.c
R lldb/test/API/debuginfod/SplitDWARF/Makefile
R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
R lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
Revert "DebugInfoD tests + fixing issues exposed by tests (#85693)"
This reverts commit 6d939a6ec69adf284cdbef2034b49fd02ba503fc.
This broke following LLDB bots:
https://lab.llvm.org/buildbot/#/builders/96/builds/54867
https://lab.llvm.org/buildbot/#/builders/17/builds/50824
Commit: 00248754176d74aed2e0785d9982a5ea8e91a71a
https://github.com/llvm/llvm-project/commit/00248754176d74aed2e0785d9982a5ea8e91a71a
Author: Daniel M. Katz <katzdm at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/SemaCXX/namespace-alias.cpp
Log Message:
-----------
[Clang] Raise an error on namespace aliases with qualified names. (#86122)
Commit: 5d187898f625cc54310f51b278b36ad6a97104ee
https://github.com/llvm/llvm-project/commit/5d187898f625cc54310f51b278b36ad6a97104ee
Author: Fabian Tschopp <fabian.tschopp at modular.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M mlir/lib/Transforms/InlinerPass.cpp
Log Message:
-----------
[mlir][inliner] Return early if the inliningThreshold is 0U or -1U. (#86287)
Computing the inlinling profitability can be costly due to walking the
graph when counting the number of operations.
This PR addresses that by returning early if the threshold is set to
never or always inline.
Commit: b768a8c1db85b9e84fd8b356570a3a8fbe37acf6
https://github.com/llvm/llvm-project/commit/b768a8c1db85b9e84fd8b356570a3a8fbe37acf6
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/ClangScanDeps/modules-extension.c
Log Message:
-----------
[clang][deps] Lazy dependency directives (#86347)
Since b4c83a13f664582015ea22924b9a0c6290d41f5b, `Preprocessor` and
`Lexer` are aware of the concept of scanning dependency directives. This
makes it possible to scan for them on-demand rather than eagerly on the
first filesystem operation (open, or even just stat).
This might improve performance, but is also necessary for the "PCH as
module" mode. Some precompiled header sources use the ".pch" file
extension, which means they were not getting scanned for dependency
directives. This was okay when the PCH was the main input file in a
separate scan step, because there we just lex the file in a
scanning-specific frontend action. But when such source gets treated as
a module implicitly loaded from a TU, it will get compiled as any other
module - with Sema - which will result in compilation errors. (See
attached test case.)
rdar://107663951
Commit: af63c6e5d08fcaeacaeee68aa0a1cda71d9a7549
https://github.com/llvm/llvm-project/commit/af63c6e5d08fcaeacaeee68aa0a1cda71d9a7549
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedAmpere1.td
Log Message:
-----------
[AArch64] Adjust ROBsize for Ampere1/Ampere1A (NFC) (#86330)
To align more closely with common usage, we now use the size of the
reorder-buffer for MicroOpBufferSize instead of the entries of the
global micro-op scheduler.
Commit: b621269d4a4c08269b1b2d46f277d1918d3dab62
https://github.com/llvm/llvm-project/commit/b621269d4a4c08269b1b2d46f277d1918d3dab62
Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
Log Message:
-----------
[AArch64] Adjust ROBsize for Ampere1B (NFC) (#86331)
To align more closely with common usage, we now use the size of the
reorder-buffer for MicroOpBufferSize instead of the entries of the
global micro-op scheduler.
Commit: c3747883a0bf34d271bc89dbfc60590adf75d999
https://github.com/llvm/llvm-project/commit/c3747883a0bf34d271bc89dbfc60590adf75d999
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__ranges/as_rvalue_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/to.h
M libcxx/include/__ranges/zip_view.h
Log Message:
-----------
[libc++][ranges] use `static operator()` for C++23 ranges (#86052)
## Abstract
This pull request converts the `operator()` of all CPOs and niebloids
related to C++23 ranges to `static`.
## Motivation
In `libc++`, CPOs and niebloids are implemented as function objects.
Currently, the `operator()` for such a function object is a
`const`-qualified member function. This means that even if the function
object is has no data members, an extra register is used to pass in the
`this` pointer when calling `operator()`, unless the compiler can inline
the function call. Declaraing `operator()` as `static` would optimize
away the unnecessary `this` pointer passing for stateless function
objects, since there is no object instance state that needs to be
accessed.
## Reference
- [P1169R4: static `operator()`](https://wg21.link/P1169R4)
Commit: 20e0bacd0560382a31ad0d4ecc7472bd4a99c659
https://github.com/llvm/llvm-project/commit/20e0bacd0560382a31ad0d4ecc7472bd4a99c659
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[Libomptarget][Fix] Remove duplicate version script for host builds
Summary:
This causes an error on some linkers and was mistakenly kept in.
Commit: dc43aa439ecee90a9f51c6c1e46df8be61e0457c
https://github.com/llvm/llvm-project/commit/dc43aa439ecee90a9f51c6c1e46df8be61e0457c
Author: Charlie Barto <chbarto at microsoft.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/ubsan/CMakeLists.txt
Log Message:
-----------
[asan][windows] When compiling with clang-cl or MSVC pass /Zl (that's a little L) (#85874)
/Zl is the equivalent of -nodefaultlibs. The idea here is to make sure
that the asan runtime doesn't have any defaultlibs directives, which
makes it easier to mix an asan runtime built with the dynamic CRT with
an application built with the static CRT (or vise-versa).
This is part of the overall effort to remove the static asan runtime on
windows entirely: https://github.com/llvm/llvm-project/pull/81677
Co-authored-by: Amy Wishnousky <amyw at microsoft.com>
Commit: b723c57f8fdb12ca8eaa6c5ee2afb820aaeb56c5
https://github.com/llvm/llvm-project/commit/b723c57f8fdb12ca8eaa6c5ee2afb820aaeb56c5
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Update the C++ page with papers approved in Tokyo
Commit: 2f6b1b4b30e3a719b1744baa4cd1ece504998c6e
https://github.com/llvm/llvm-project/commit/2f6b1b4b30e3a719b1744baa4cd1ece504998c6e
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
Log Message:
-----------
[ORC] Add default visibility to required JIT functions (#86322)
If you build LLVM with `-DCMAKE_CXX_VISIBILITY_PRESET=hidden` to help
reduce binary size, these symbols end up becoming local, and getting
stripped. This forces default visibility to override the global setting
in that case.
Relevant:
https://github.com/llvm/llvm-project/issues/62815#issuecomment-1560078260
Commit: 84e20cb0cbc64bb2d8299b30da3ce8e6421c203e
https://github.com/llvm/llvm-project/commit/84e20cb0cbc64bb2d8299b30da3ce8e6421c203e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M llvm/utils/TableGen/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Minor cleanup in CodeGenRegBank::getConcatSubRegIndex. NFC
Mark a variable const. Capitalize a variable name.
I'm going to add HwMode support to this code and wanted to clean it
up a bit beforehand.
Commit: 76fdb5902fbadbc08c6742156071431d8ad801ea
https://github.com/llvm/llvm-project/commit/76fdb5902fbadbc08c6742156071431d8ad801ea
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
A llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
Log Message:
-----------
[NewPM][DirectX] Add DirectXPassRegistry.def NFCI (#86242)
Prepare migration for dag-isel
Commit: 7ac7d418ac2b16fd44789dcf48e2b5d73de3e715
https://github.com/llvm/llvm-project/commit/7ac7d418ac2b16fd44789dcf48e2b5d73de3e715
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
A llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
Log Message:
-----------
[NewPM][NVPTX] Add NVPTXPassRegistry.def NFCI (#86246)
Prepare for dag-isel migration.
Commit: 2aa5bae0c03f1f857d0ae2a881b223c4a521853f
https://github.com/llvm/llvm-project/commit/2aa5bae0c03f1f857d0ae2a881b223c4a521853f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
A llvm/lib/Target/BPF/BPFPassRegistry.def
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
Log Message:
-----------
[NewPM][BPF] Add BPFPassRegistry.def NFCI (#86241)
Prepare migration for dag-isel.
Commit: 635ea257eca7c8e95c6ea30ca3816a0b5584ab37
https://github.com/llvm/llvm-project/commit/635ea257eca7c8e95c6ea30ca3816a0b5584ab37
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/Target/BPF/CMakeLists.txt
Log Message:
-----------
[NewPM] Fix BPF build (#86379)
Add Passes in dependency list
Commit: 6c1932ffd82e733325180fe13ef46b24ff606eab
https://github.com/llvm/llvm-project/commit/6c1932ffd82e733325180fe13ef46b24ff606eab
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/MC/MCStreamer.cpp
Log Message:
-----------
[LLVM] Pass APInt by const reference. NFC. (#86278)
This patch adjusts argument passing for `APInt` to improve the
compile-time.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=32d6611af69bf4e76373f9bc7d9649650f760e48&stat=instructions:u
Commit: 2f1f6b704d83f87be7ea885480caf1c86d8cfaee
https://github.com/llvm/llvm-project/commit/2f1f6b704d83f87be7ea885480caf1c86d8cfaee
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
Log Message:
-----------
[LLVM] Use `std::move` for APInt. NFC. (#86257)
This patch adjusts argument passing for `APInt` to improve the
compile-time.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=ba3e326def3a6e5cd6d72ff5a49c74fba18de1df&stat=instructions:u
Commit: ef57977f2aa32661a09fa6538f47ddee0a004d11
https://github.com/llvm/llvm-project/commit/ef57977f2aa32661a09fa6538f47ddee0a004d11
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
A llvm/lib/Target/Hexagon/HexagonPassRegistry.def
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_commutative.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_constant.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_invalid.ll
M llvm/test/CodeGen/Hexagon/hvx-loopidiom-memcpy.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove1.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/lcssa.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/memmove-rt-check.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/nullptr-crash.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-infinite-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-long-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy.ll
Log Message:
-----------
[NewPM][Hexagon] Add HexagonPassRegistry.def (#86244)
Prepare for dag-isel, also migrate some test case
Commit: 691b97c884a15a7eac641ddf67c9f2f30fb4e747
https://github.com/llvm/llvm-project/commit/691b97c884a15a7eac641ddf67c9f2f30fb4e747
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable.s
M lld/test/ELF/gnu-ifunc-dyntags.s
M lld/test/ELF/ppc32-ifunc-nonpreemptible-pic.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
Log Message:
-----------
[ELF] Remove zero-value DT_JMPREL when IPLT is present while PLT isn't
The zero-value DT_JMPREL is benign but not needed.
This is also code simplification available after https://reviews.llvm.org/D65651
Commit: 579dc7f8441a8044b92bdfa6f0db2f91301c0eed
https://github.com/llvm/llvm-project/commit/579dc7f8441a8044b92bdfa6f0db2f91301c0eed
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-forma] Support `PointerAlignment` for pointers to members (#86253)
Fixes #85761.
Commit: 47423e9827abfdcc6b10ce41618965861b0e69a4
https://github.com/llvm/llvm-project/commit/47423e9827abfdcc6b10ce41618965861b0e69a4
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Clean up IsQualifiedPointerOrReference in TokenAnnotator
Commit: f317fd266c184bc8f9f4d7e8e03c043d3406333a
https://github.com/llvm/llvm-project/commit/f317fd266c184bc8f9f4d7e8e03c043d3406333a
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
R mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
Log Message:
-----------
Revert "[mlir][SVE] Add e2e for 1D depthwise WC convolution (#85225)"
This reverts commit 01b1b0c1f728e2c2639edc654424f50830295989.
Breaks following AArch64 SVE buildbots:
https://lab.llvm.org/buildbot/#/builders/184/builds/11363
https://lab.llvm.org/buildbot/#/builders/176/builds/9331
Commit: d7c672834ec863b458af8ca493157e1e31aaf480
https://github.com/llvm/llvm-project/commit/d7c672834ec863b458af8ca493157e1e31aaf480
Author: XChy <xxs_chy at outlook.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/and-sink.ll
Log Message:
-----------
[CodeGen][NFC] Update tests in AArch64/and-sink.ll
Commit: d365a45cb3eaa640b09874fb7984a6a69683c773
https://github.com/llvm/llvm-project/commit/d365a45cb3eaa640b09874fb7984a6a69683c773
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unreachable.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-exceptions.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap.mir
A llvm/test/CodeGen/Mips/GlobalISel/instruction-select/trap.mir
R llvm/test/CodeGen/Mips/GlobalISel/legalizer/trap.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/trap.mir
M llvm/test/CodeGen/X86/GlobalISel/x86-select-trap.mir
A llvm/test/CodeGen/X86/isel-traps.ll
A llvm/test/MachineVerifier/test_g_ubsantrap.mir
Log Message:
-----------
[GlobalISel] Introduce G_TRAP, G_DEBUGTRAP, G_UBSANTRAP (#84941)
Here we introduce three new GMIR instructions to cover a set of trap
intrinsics. The idea behind it is that generic intrinsics shouldn't be
used with G_INTRINSIC opcode.
These new instructions can match perfectly with existing trap ISD nodes.
It allows X86, AArch64, RISCV and Mips to reuse SelectionDAG patterns for
selection and avoid manual selection. However AMDGPU is an exception. It
selects traps during legalization regardless SelectionDAG or GlobalISel.
Since there are not many places where traps are used, this change
attempts to clean up all the usages of G_INTRINSIC with trap intrinsics. So,
there is no stage when both G_TRAP and
G_INTRINSIC_W_SIDE_EFFECTS(@llvm.trap) are allowed.
Commit: f886dfed3ae6cf70827cedc8d8aefde6250a239b
https://github.com/llvm/llvm-project/commit/f886dfed3ae6cf70827cedc8d8aefde6250a239b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Don't push and pop extensions diagnostics when using clang modules (#85917)
Clang modules take a significant compile time hit when pushing and
popping diagnostics. Since all the headers are marked as system headers
in the modulemap, we can simply disable this pushing and popping when
building with clang modules.
Commit: 57146daeaaf366050dc913db910fcc2995a3e06d
https://github.com/llvm/llvm-project/commit/57146daeaaf366050dc913db910fcc2995a3e06d
Author: Harvin Iriawan <25712785+harviniriawan at users.noreply.github.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
Log Message:
-----------
[CodeGen] Update for scalable MemoryType in MMO (#70452)
Remove getSizeOrUnknown call when MachineMemOperand is created. For Scalable
TypeSize, the MemoryType created becomes a scalable_vector.
2 MMOs that have scalable memory access can then use the updated BasicAA that
understands scalable LocationSize.
Original Patch by Harvin Iriawan
Co-authored-by: David Green <david.green at arm.com>
Commit: b68e2eba0bc8dd70b88f4271831139ee9b6ed25c
https://github.com/llvm/llvm-project/commit/b68e2eba0bc8dd70b88f4271831139ee9b6ed25c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/mismatch.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
A libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__bit/bit_cast.h
M libcxx/include/__bit/countr.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
Log Message:
-----------
[libc++] Vectorize mismatch (#73255)
```
---------------------------------------------------
Benchmark old new
---------------------------------------------------
bm_mismatch<char>/1 0.835 ns 2.37 ns
bm_mismatch<char>/2 1.44 ns 2.60 ns
bm_mismatch<char>/3 2.06 ns 2.83 ns
bm_mismatch<char>/4 2.60 ns 3.29 ns
bm_mismatch<char>/5 3.15 ns 3.77 ns
bm_mismatch<char>/6 3.82 ns 4.17 ns
bm_mismatch<char>/7 4.29 ns 4.52 ns
bm_mismatch<char>/8 4.78 ns 4.86 ns
bm_mismatch<char>/16 9.06 ns 7.54 ns
bm_mismatch<char>/64 31.7 ns 19.1 ns
bm_mismatch<char>/512 249 ns 8.16 ns
bm_mismatch<char>/4096 1956 ns 44.2 ns
bm_mismatch<char>/32768 15498 ns 501 ns
bm_mismatch<char>/262144 123965 ns 4479 ns
bm_mismatch<char>/1048576 495668 ns 21306 ns
bm_mismatch<short>/1 0.710 ns 2.12 ns
bm_mismatch<short>/2 1.03 ns 2.66 ns
bm_mismatch<short>/3 1.29 ns 3.56 ns
bm_mismatch<short>/4 1.68 ns 4.29 ns
bm_mismatch<short>/5 1.96 ns 5.18 ns
bm_mismatch<short>/6 2.59 ns 5.91 ns
bm_mismatch<short>/7 2.86 ns 6.63 ns
bm_mismatch<short>/8 3.19 ns 7.33 ns
bm_mismatch<short>/16 5.48 ns 13.0 ns
bm_mismatch<short>/64 16.6 ns 4.06 ns
bm_mismatch<short>/512 130 ns 13.8 ns
bm_mismatch<short>/4096 985 ns 93.8 ns
bm_mismatch<short>/32768 7846 ns 1002 ns
bm_mismatch<short>/262144 63217 ns 10637 ns
bm_mismatch<short>/1048576 251782 ns 42471 ns
bm_mismatch<int>/1 0.716 ns 1.91 ns
bm_mismatch<int>/2 1.21 ns 2.49 ns
bm_mismatch<int>/3 1.38 ns 3.46 ns
bm_mismatch<int>/4 1.71 ns 4.04 ns
bm_mismatch<int>/5 2.00 ns 4.98 ns
bm_mismatch<int>/6 2.43 ns 5.67 ns
bm_mismatch<int>/7 3.05 ns 6.38 ns
bm_mismatch<int>/8 3.22 ns 7.09 ns
bm_mismatch<int>/16 5.18 ns 12.8 ns
bm_mismatch<int>/64 16.6 ns 5.28 ns
bm_mismatch<int>/512 129 ns 25.2 ns
bm_mismatch<int>/4096 1009 ns 201 ns
bm_mismatch<int>/32768 7776 ns 2144 ns
bm_mismatch<int>/262144 62371 ns 20551 ns
bm_mismatch<int>/1048576 254750 ns 90097 ns
```
Commit: 3f5e649ff64a92a732027ef76e33a1c8b1722d84
https://github.com/llvm/llvm-project/commit/3f5e649ff64a92a732027ef76e33a1c8b1722d84
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Fix linking to LLVM dylib (#86397)
Use `LINK_COMPONENTS` parameter of `add_llvm_library` rather than
passing LLVM components directly to `target_link_libraries`, in order to
ensure that LLVM dylib is linked correctly when used. Otherwise, CMake
insists on linking to static libraries that aren't present on
distributions doing pure dylib installs, such as Gentoo.
This fixes a regression introduced
in dcbddc25250158469c5635ad2ae4095faef53dfd.
Commit: d7ce6b4d96c8879f38ba4cb5fdb1cc09d5b129e5
https://github.com/llvm/llvm-project/commit/d7ce6b4d96c8879f38ba4cb5fdb1cc09d5b129e5
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy] Fix result check after overwriteChangedFiles() (#86360)
If any return from overwriteChangedFiles is true some fixes were not
applied.
Commit: 87c7f4a12b2a1b723a78d760761ee473f52c4cee
https://github.com/llvm/llvm-project/commit/87c7f4a12b2a1b723a78d760761ee473f52c4cee
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
Log Message:
-----------
[MC] Remove unnecessary reversal of relocations. NFC
Commit f44db24e1fd948c75c87aea017646f16553d3361 (2015) enabled this
simplication.
Commit: 3a63f737e29a2382c8ec26c0d360bd77c01a27a1
https://github.com/llvm/llvm-project/commit/3a63f737e29a2382c8ec26c0d360bd77c01a27a1
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
[MC] Refactor writeRelocations. NFC
MIPS is different and should better off use separate code.
Commit: 39c8e87717fbc611b9e84f62edf656608ae52e5c
https://github.com/llvm/llvm-project/commit/39c8e87717fbc611b9e84f62edf656608ae52e5c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Move recording of Inst->VPValue to VPRecipeBuilder (NFCI). (#84464)
Instead of keeping a mapping of Inst->VPValues (of their corresponding
recipes) in VPlan's Value2VPValue mapping, keep it in VPRecipeBuilder
instead. After recently replacing the last user of this mapping after
initial construction, this mapping is only needed for recipe
construction (to map IR operands to VPValue operands).
By moving the mapping, VPlan's VPValue tracking can be simplified and
limited only to live-ins. It also allows removing disableValue2VPValue
and associated machinery & asserts.
PR: https://github.com/llvm/llvm-project/pull/84464
Commit: e14c6fa31a303312d7561aa0c7219d687f3f2c75
https://github.com/llvm/llvm-project/commit/e14c6fa31a303312d7561aa0c7219d687f3f2c75
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M clang/CMakeLists.txt
Log Message:
-----------
[clang] [cmake] Add cmake module dir before using GetDarwinLinkerVersion (#86386)
Move the code adding top-level cmake/Modules directory to
CMAKE_MODULE_PATH prior to including `GetDarwinLinkerVersion`, in order
to fix standalone builds.
Fixes a regression introduced by
3bc71c2abfa00413fd15cf0e5c08af6ec0d4768b.
Commit: a91cd53de34fcde469d5d02e84554a06798ad2b1
https://github.com/llvm/llvm-project/commit/a91cd53de34fcde469d5d02e84554a06798ad2b1
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT][NFC] Refactor BAT metadata data structures
Hide the implementations of `FuncHashes` and `BBHashMap` classes,
getting rid of `at` accessors that could throw an exception.
Test Plan: NFC
Reviewers: ayermolo, maksfb, dcci, rafaelauler
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/86353
Commit: 90a7fc366ad05a7dd0465730c055af57c80d62d9
https://github.com/llvm/llvm-project/commit/90a7fc366ad05a7dd0465730c055af57c80d62d9
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
A llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
Log Message:
-----------
[PowerPC][NFC] Add base test case for small-local-dynamic-tls on AIX (#84711)
Commit: a118769ec8dc94b8332fe50c9240fecc8065a417
https://github.com/llvm/llvm-project/commit/a118769ec8dc94b8332fe50c9240fecc8065a417
Author: Nico Weber <thakis at chromium.org>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port 3bc71c2abf
Commit: 8e698a1d8e6984e41d2fdf159393d01951d87c21
https://github.com/llvm/llvm-project/commit/8e698a1d8e6984e41d2fdf159393d01951d87c21
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port b68e2eba0bc8
Commit: d7d2f7ca62400ed4a3f8f89062d2aeec61bd29d4
https://github.com/llvm/llvm-project/commit/d7d2f7ca62400ed4a3f8f89062d2aeec61bd29d4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Emit intra-function control flow in YAMLBAT
Attach branch counters to YAML profile, covering intra-function control
flow.
Depends on: https://github.com/llvm/llvm-project/pull/86353
Test Plan: Updated bolt/test/X86/bolt-address-translation-yaml.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/76911
Commit: 7c9b5228da94a44f5e3948814d896de537d162bb
https://github.com/llvm/llvm-project/commit/7c9b5228da94a44f5e3948814d896de537d162bb
Author: Owen Anderson <resistor at mac.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/AArch64/srem-vec-crash.ll
Log Message:
-----------
Only check assertions that were meant to apply to the normal case of non-splat vector SREM expansion when we aren't hitting the special case. (#86238)
Fixes https://github.com/llvm/llvm-project/issues/84830
Introduced in https://github.com/llvm/llvm-project/pull/82706
Commit: 74799f424063a2d751e0f9ea698db1f4efd0d8b2
https://github.com/llvm/llvm-project/commit/74799f424063a2d751e0f9ea698db1f4efd0d8b2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-23 (Sat, 23 Mar 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add call stack IDs to IndexedAllocationInfo (#85888)
The indexed MemProf file has a huge amount of redundancy. In a large
internal application, 82% of call stacks, stored in
IndexedAllocationInfo::CallStack, are duplicates.
We should work toward deduplicating call stacks by referring to them
with unique IDs with actual call stacks stored in a separate data
structure, much like we refer to memprof::Frame with memprof::FrameId.
At the same time, we need to facilitate a graceful transition from the
current version of the MemProf format to the next. We should be able
to read (but not write) the current version of the MemProf file even
after we move onto the next one.
With those goals in mind, I propose to have an integer ID next to
CallStack in IndexedAllocationInfo to refer to a call stack in a
succinct manner. We'll gradually increase the areas of the compiler
where IDs and call stacks have one-to-one correspondence and
eventually remove the existing CallStack field.
This patch adds call stack ID, named CSId, to IndexedAllocationInfo
and teaches the raw profile reader to compute unique call stack IDs
and store them in the new field. It does not introduce any user of
the call stack IDs yet, except in verifyFunctionProfileData.
Commit: a45e58af1b381cf3c0374332386b8291ec5310f4
https://github.com/llvm/llvm-project/commit/a45e58af1b381cf3c0374332386b8291ec5310f4
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
A mlir/include/mlir/Dialect/Arith/Transforms/BufferViewFlowOpInterfaceImpl.h
A mlir/include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.h
A mlir/include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.td
M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.h
A mlir/include/mlir/Dialect/MemRef/Transforms/BufferViewFlowOpInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
A mlir/lib/Dialect/Arith/Transforms/BufferViewFlowOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Bufferization/IR/BufferViewFlowOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
A mlir/lib/Dialect/MemRef/Transforms/BufferViewFlowOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bufferization] Add `BufferViewFlowOpInterface` (#78718)
This commit adds the `BufferViewFlowOpInterface` to the bufferization
dialect. This interface can be implemented by ops that operate on
buffers to indicate that a buffer op result and/or region entry block
argument may be the same buffer as a buffer operand (or a view thereof).
This interface is queried by the `BufferViewFlowAnalysis`.
The new interface has two interface methods:
* `populateDependencies`: Implementations use the provided callback to
declare dependencies between operands and op results/region entry block
arguments. E.g., for `%r = arith.select %c, %m1, %m2 : memref<5xf32>`,
the interface implementation should declare two dependencies: %m1 -> %r
and %m2 -> %r.
* `mayBeTerminalBuffer`: An SSA value is a terminal buffer if the buffer
view flow analysis stops at the specified value. E.g., because the value
is a newly allocated buffer or because no further information is
available about the origin of the buffer.
Ops that implement the `RegionBranchOpInterface` or `BranchOpInterface`
do not have to implement the `BufferViewFlowOpInterface`. The buffer
dependencies can be inferred from those two interfaces.
This commit makes the `BufferViewFlowAnalysis` more accurate. For
unknown ops, it conservatively used to declare all combinations of
operands and op results/region entry block arguments as dependencies
(false positives). This is no longer the case. While the analysis is
still a "maybe" analysis with false positives (e.g., when analyzing ops
such as `arith.select` or `scf.if` where the taken branch is not known
at compile time), results and region entry block arguments of unknown
ops are now marked as terminal buffers.
This commit addresses a TODO in `BufferViewFlowAnalysis.cpp`:
```
// TODO: We should have an op interface instead of a hard-coded list of
// interfaces/ops.
```
It is no longer needed to hard-code ops.
Commit: 5d7fd6a04a6748936dece9d90481b2ba4ec97e53
https://github.com/llvm/llvm-project/commit/5d7fd6a04a6748936dece9d90481b2ba4ec97e53
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
M llvm/test/CodeGen/Mips/atomic-min-max.ll
Log Message:
-----------
[Mips] Restore wrong deletion of instruction 'and' in unsigned min/max processing. (#85902)
Fix #61881
Commit: 4acd84e7ccce6a2865f60cd2adc37a335d4f35ce
https://github.com/llvm/llvm-project/commit/4acd84e7ccce6a2865f60cd2adc37a335d4f35ce
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/tsan/signal_errno.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_sync.cpp
M compiler-rt/test/tsan/signal_thread.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
Log Message:
-----------
Revert "[compiler-rt] Also consider SIGPROF as a synchronous signal" (#86416)
Reverting #85188 with follow up patches.
This reverts commit 362d26366d0175f01ffb6085eb747a6e40f01147.
This reverts commit c9bdeabdf4b46fbf1f6a9fcbf9cd61d460b18c08.
This reverts commit 6bc6e1ace9fa8453e164fa04b5d9acd5a77e089a.
This reverts commit 01fa550ff654d6724e6da54c877032baeddff14b.
This reverts commit ddcbab37ac0e5743a8d39be3dd48d967f4c85504.
Commit: 4d69855e9d380ecb7c1f7a64c7b37258fe36f525
https://github.com/llvm/llvm-project/commit/4d69855e9d380ecb7c1f7a64c7b37258fe36f525
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang] Silence MSVC warning about shifts (NFC) (#83737)
Yes, 64-bit shifts are intended.
Commit: 6c6fe4b2aea8631001b11abee62146d4aca01cee
https://github.com/llvm/llvm-project/commit/6c6fe4b2aea8631001b11abee62146d4aca01cee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[X86] known-never-zero.ll - add 32-bit test coverage
Enabled vector coverage as well: i686+SSE2 and x64_64+AVX
Should improve test quality for #85722
Commit: e8d5223ce4b2214e052b5b52b2e6453ffea0fe33
https://github.com/llvm/llvm-project/commit/e8d5223ce4b2214e052b5b52b2e6453ffea0fe33
Author: David Green <david.green at arm.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
Log Message:
-----------
[AArch64] Additional GISel test coverage. NFC
Commit: b3fe27f2be0585d5d2ad46f96956ccfd76ca003e
https://github.com/llvm/llvm-project/commit/b3fe27f2be0585d5d2ad46f96956ccfd76ca003e
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/scalarization.ll
Log Message:
-----------
[InstCombine] Copy flags of extractelement for extelt -> icmp combine (#86366)
Fixes #86164
Commit: 9632e1515c93453efc39752b1c9f32aedd358fbc
https://github.com/llvm/llvm-project/commit/9632e1515c93453efc39752b1c9f32aedd358fbc
Author: houndlord <45179481+houndlord at users.noreply.github.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/hadd-combine.ll
Log Message:
-----------
Match fixed width ISD::AVGFLOORS + ISD::AVGCEILS patterns (#86222)
Commit: 48048051323d5dd74057dc5f32df8c3c323afcd5
https://github.com/llvm/llvm-project/commit/48048051323d5dd74057dc5f32df8c3c323afcd5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
M lld/test/ELF/x86-64-gotpc-relax-too-far.s
Log Message:
-----------
[lld/ELF][X86] Respect outSecOff when checking if GOTPCREL can be relaxed (#86334)
The existing implementation didn't handle when the input text section
was some offset from the output section.
This resulted in an assert in relaxGot() with an lld built with asserts
for some large binaries, or even worse, a silently broken binary with an
lld without asserts.
Commit: d4a4585165f5c6ca8c42920b70e1b47696ff1172
https://github.com/llvm/llvm-project/commit/d4a4585165f5c6ca8c42920b70e1b47696ff1172
Author: Piotr Zegar <piotr.zegar at nokia.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
Log Message:
-----------
[clang-tidy] Ignore expresions in unevaluated context in bugprone-inc-dec-in-conditions (#85849)
Skip checking for references to variable in unevaluated context, like
decltype, static_assert and so on.
Closes #85838
Commit: 909ea28ac60760a0e9b39369b2f54a4e8f1daec9
https://github.com/llvm/llvm-project/commit/909ea28ac60760a0e9b39369b2f54a4e8f1daec9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Specificall add LLVM include dirs in plugins
Commit: 488a18738f5c275093bcc5459da69e9b4c9de074
https://github.com/llvm/llvm-project/commit/488a18738f5c275093bcc5459da69e9b4c9de074
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/ELF_section_start_and_stop_symbols.s
Log Message:
-----------
[JITLink][ELF] Improve ELF section start/end symbol handling.
This commit adds section start and stop symbol handling to ELF/aarch64, and
fixes the section symbol prefixes (using `__start_` and `__stop_`, rather than
`__start` and `__end`). It also adds a testcase for handling of these symbols.
Commit: 9f0321ccf118b37e5cb93cabd2acbf600c36b6ee
https://github.com/llvm/llvm-project/commit/9f0321ccf118b37e5cb93cabd2acbf600c36b6ee
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Make plugins depend explicitly on `intrinsics_gen`
Summary:
It's possible for the OpenMP offloading plugins to be build before
tablegen is run despite the fact that we rely on it. Simply make it
depend on it currently.
Commit: 81e2693c1202d6c4e48dbf2d985153b03cfccb79
https://github.com/llvm/llvm-project/commit/81e2693c1202d6c4e48dbf2d985153b03cfccb79
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
Log Message:
-----------
[libc++][test] Fix race condition in condition_variable_any tests (#84788)
Some tests in `condition_variable_any` use two `shared_lock` to guard,
which does not work.
The fix is to make the writer to use `unique_lock`
Commit: f0a8738401137c32f3e1b9799244ed643feb7bf0
https://github.com/llvm/llvm-project/commit/f0a8738401137c32f3e1b9799244ed643feb7bf0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
Log Message:
-----------
[VPlan] Generate CalculateTripCountMinusVF for Part 0 only. (NFCI).
The value produced by CalculateTripCountMinusVF VPInstructions is
independent of the part. Only compute it for part 0 and use that for
other parts.
Commit: 18a49f03aa2b6bfeb073648b9eb75277a2386fc4
https://github.com/llvm/llvm-project/commit/18a49f03aa2b6bfeb073648b9eb75277a2386fc4
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/test/ELF/aarch64-gnu-ifunc.s
M lld/test/ELF/arm-gnu-ifunc.s
M lld/test/ELF/gnu-ifunc-i386.s
M lld/test/ELF/systemz-ifunc-nonpreemptible.s
Log Message:
-----------
[ELF] Merge relaIplt into relaDyn
`relaIplt` was added so that IRELATIVE relocations are placed at the end
of .rela.dyn (since https://reviews.llvm.org/D65651) or .rela.plt
(--pack-dyn-relocs=android[+relr]). Unfortunately, handling `relaIplt`
requires special cases all over the code base. We can extend
partitionRels/computeRels to partition both RELATIVE and IRELATIVE
relocations, rendering `relaIplt` unneeded.
The change allows IRELATIVE relocations in the DT_ANDROID_REL[A] table
(untested?!), which may be processed before other types of relocations.
This seems acceptable for Bionic's DEFINE_IFUNC_FOR use cases.
In addition, this change simplies changing .rel[a].dyn to a compact
relocation format (CREL).
SHF_INFO_LINK is removed from .rel[a].dyn with IRELATIVE relocations.
(See https://reviews.llvm.org/D89828).
Commit: 67f2267ae006f35edfdf36567646403e61527d1b
https://github.com/llvm/llvm-project/commit/67f2267ae006f35edfdf36567646403e61527d1b
Author: Min Hsu <min at myhsu.dev>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
Log Message:
-----------
[M68k][NFC] Suppress warning on an unused variable when assertion is disabled
NFC.
Commit: cceedc939a43c7c732a5888364251775bffc2dba
https://github.com/llvm/llvm-project/commit/cceedc939a43c7c732a5888364251775bffc2dba
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a crash with AlignArrayOfStructures option (#86420)
Fixes #86109.
Commit: 230b1895c493c511c11541af3b5bc819887c82a8
https://github.com/llvm/llvm-project/commit/230b1895c493c511c11541af3b5bc819887c82a8
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-24 (Sun, 24 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add folding for [S|U|LessThan[Equal] (#85435)
Add missing constant propogation folder for [S|U]LessThan[Equal].
Implement additional folding when the operands are equal for all ops.
Allows for constant folding in the IndexToSPIRV pass.
Part of work #70704
Commit: 7d2d8e2a7245e4e64da22cb3c422ea3be5a0bf0a
https://github.com/llvm/llvm-project/commit/7d2d8e2a7245e4e64da22cb3c422ea3be5a0bf0a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Fastmath flag for the trigonometric ops in complex (#85563)
Support Fastmath flag to convert trigonometric ops in the complex
dialect.
See:
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: 2e4e04c59043a645572cf548de5d9c333a5d6641
https://github.com/llvm/llvm-project/commit/2e4e04c59043a645572cf548de5d9c333a5d6641
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr86305.ll
Log Message:
-----------
[X86][BF16] Do not lower to VCVTNEPS2BF16 without AVX512VL (#86395)
Fixes: #86305
Commit: 5e5b6561029665e69e033cff4216fecb78302259
https://github.com/llvm/llvm-project/commit/5e5b6561029665e69e033cff4216fecb78302259
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/lib/MC/MCParser/MCTargetAsmParser.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[MC] Make `MCParsedAsmOperand::getReg()` return `MCRegister` (#86444)
Commit: 6af6416e89de1f4656a145c4843226b468718434
https://github.com/llvm/llvm-project/commit/6af6416e89de1f4656a145c4843226b468718434
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
A llvm/test/CodeGen/RISCV/strip-w-suffix.ll
Log Message:
-----------
[RISCV] Add a tune feature to disable stripping W suffix (#86255)
We have a hidden option to disable it, but I'd like to make it a
tune feature.
For some implementations, instructions with W suffix would be less
costly as they only perform on 32 bits data. Though we may lose some
chances to compress.
Commit: d9746a6a5d523e21eee2c1b50c2f08aa19396965
https://github.com/llvm/llvm-project/commit/d9746a6a5d523e21eee2c1b50c2f08aa19396965
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV][NFC] Pass LMUL to copyPhysRegVector
The opcode will be determined by LMUL.
Reviewers: preames, lukel97, topperc
Reviewed By: lukel97, topperc
Pull Request: https://github.com/llvm/llvm-project/pull/84448
Commit: 373e77b4c0ad9b0bf370f0e5a32a4100a5459d82
https://github.com/llvm/llvm-project/commit/373e77b4c0ad9b0bf370f0e5a32a4100a5459d82
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
Log Message:
-----------
[RISCV] Generalize (sub zext, zext) -> (sext (sub zext, zext)) to add (#86248)
This generalizes the combine added in #82455 to other binary ops,
beginning with adds in this patch.
Because the two zext operands are always +ve when treated as signed, and
we don't get any overflow since the add is carried out in at least N * 2
bits of the narrow type, the result of the add will always be +ve. So we
can use a zext for the outer extend, unlike sub which may produce a -ve
result from two +ve operands.
Although we could still use sext for add, I plan to add support for
other binary ops like mul in a later patch, but mul requires zext to be
correct (because the maximum value will take up the full N * 2 bits). So
I've opted to use zext here too for consistency.
Alive2 proof: https://alive2.llvm.org/ce/z/PRNsUM
Commit: babbdad15b8049a6a78087d15a163d897f07d320
https://github.com/llvm/llvm-project/commit/babbdad15b8049a6a78087d15a163d897f07d320
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/add_sub_u64_pseudos.mir
Log Message:
-----------
[AMDGPU] Handle non-register operands for S_SUB/ADD_U64_PSEUDO (#86104)
This pseudo uses SSrc_b64 so it allows both an immediate or a register,
but the lowering crashed on immediate operands.
Commit: fa3d789df15bd1f58fb8ba4ea3be909218cf7f03
https://github.com/llvm/llvm-project/commit/fa3d789df15bd1f58fb8ba4ea3be909218cf7f03
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/unittests/TableGen/CMakeLists.txt
M llvm/unittests/TableGen/CodeExpanderTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
R llvm/utils/TableGen/AsmWriterInst.cpp
R llvm/utils/TableGen/AsmWriterInst.h
A llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
A llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
A llvm/utils/TableGen/Basic/SDNodeProperties.cpp
A llvm/utils/TableGen/Basic/SDNodeProperties.h
A llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/CMakeLists.txt
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
R llvm/utils/TableGen/CodeGenDAGPatterns.cpp
R llvm/utils/TableGen/CodeGenDAGPatterns.h
R llvm/utils/TableGen/CodeGenHwModes.cpp
R llvm/utils/TableGen/CodeGenHwModes.h
R llvm/utils/TableGen/CodeGenInstAlias.cpp
R llvm/utils/TableGen/CodeGenInstAlias.h
R llvm/utils/TableGen/CodeGenInstruction.cpp
R llvm/utils/TableGen/CodeGenInstruction.h
R llvm/utils/TableGen/CodeGenIntrinsics.cpp
R llvm/utils/TableGen/CodeGenIntrinsics.h
M llvm/utils/TableGen/CodeGenMapTable.cpp
R llvm/utils/TableGen/CodeGenRegisters.cpp
R llvm/utils/TableGen/CodeGenRegisters.h
R llvm/utils/TableGen/CodeGenSchedule.cpp
R llvm/utils/TableGen/CodeGenSchedule.h
R llvm/utils/TableGen/CodeGenTarget.cpp
R llvm/utils/TableGen/CodeGenTarget.h
A llvm/utils/TableGen/Common/AsmWriterInst.cpp
A llvm/utils/TableGen/Common/AsmWriterInst.h
A llvm/utils/TableGen/Common/CMakeLists.txt
A llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
A llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
A llvm/utils/TableGen/Common/CodeGenHwModes.cpp
A llvm/utils/TableGen/Common/CodeGenHwModes.h
A llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
A llvm/utils/TableGen/Common/CodeGenInstAlias.h
A llvm/utils/TableGen/Common/CodeGenInstruction.cpp
A llvm/utils/TableGen/Common/CodeGenInstruction.h
A llvm/utils/TableGen/Common/CodeGenRegisters.cpp
A llvm/utils/TableGen/Common/CodeGenRegisters.h
A llvm/utils/TableGen/Common/CodeGenSchedule.cpp
A llvm/utils/TableGen/Common/CodeGenSchedule.h
A llvm/utils/TableGen/Common/CodeGenTarget.cpp
A llvm/utils/TableGen/Common/CodeGenTarget.h
A llvm/utils/TableGen/Common/DAGISelMatcher.cpp
A llvm/utils/TableGen/Common/DAGISelMatcher.h
A llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
A llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
A llvm/utils/TableGen/Common/GlobalISel/CodeExpander.cpp
A llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
A llvm/utils/TableGen/Common/GlobalISel/CodeExpansions.h
A llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
A llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
A llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
A llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
A llvm/utils/TableGen/Common/GlobalISel/Patterns.h
A llvm/utils/TableGen/Common/InfoByHwMode.cpp
A llvm/utils/TableGen/Common/InfoByHwMode.h
A llvm/utils/TableGen/Common/OptEmitter.cpp
A llvm/utils/TableGen/Common/OptEmitter.h
A llvm/utils/TableGen/Common/PredicateExpander.cpp
A llvm/utils/TableGen/Common/PredicateExpander.h
A llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
A llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
A llvm/utils/TableGen/Common/Types.cpp
A llvm/utils/TableGen/Common/Types.h
A llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
A llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelEmitter.cpp
R llvm/utils/TableGen/DAGISelMatcher.cpp
R llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
R llvm/utils/TableGen/GlobalISel/CMakeLists.txt
R llvm/utils/TableGen/GlobalISel/CXXPredicates.cpp
R llvm/utils/TableGen/GlobalISel/CXXPredicates.h
R llvm/utils/TableGen/GlobalISel/CodeExpander.cpp
R llvm/utils/TableGen/GlobalISel/CodeExpander.h
R llvm/utils/TableGen/GlobalISel/CodeExpansions.h
R llvm/utils/TableGen/GlobalISel/CombinerUtils.h
R llvm/utils/TableGen/GlobalISel/MatchDataInfo.cpp
R llvm/utils/TableGen/GlobalISel/MatchDataInfo.h
R llvm/utils/TableGen/GlobalISel/Patterns.cpp
R llvm/utils/TableGen/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
R llvm/utils/TableGen/GlobalISelMatchTable.cpp
R llvm/utils/TableGen/GlobalISelMatchTable.h
R llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.cpp
R llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.h
R llvm/utils/TableGen/InfoByHwMode.cpp
R llvm/utils/TableGen/InfoByHwMode.h
M llvm/utils/TableGen/InstrDocsEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
R llvm/utils/TableGen/OptEmitter.cpp
R llvm/utils/TableGen/OptEmitter.h
M llvm/utils/TableGen/OptParserEmitter.cpp
M llvm/utils/TableGen/OptRSTEmitter.cpp
R llvm/utils/TableGen/PredicateExpander.cpp
R llvm/utils/TableGen/PredicateExpander.h
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/RegisterBankEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
R llvm/utils/TableGen/SDNodeProperties.cpp
R llvm/utils/TableGen/SDNodeProperties.h
M llvm/utils/TableGen/SearchableTableEmitter.cpp
R llvm/utils/TableGen/SequenceToOffsetTable.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
R llvm/utils/TableGen/SubtargetFeatureInfo.cpp
R llvm/utils/TableGen/SubtargetFeatureInfo.h
R llvm/utils/TableGen/Types.cpp
R llvm/utils/TableGen/Types.h
R llvm/utils/TableGen/VarLenCodeEmitterGen.cpp
R llvm/utils/TableGen/VarLenCodeEmitterGen.h
M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
M llvm/utils/TableGen/X86MnemonicTables.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[RFC][TableGen] Restructure TableGen Source (#80847)
Refactor of the llvm-tblgen source into:
- a "Basic" library, which contains the bare minimum utilities to build
`llvm-min-tablegen`
- a "Common" library which contains all of the helpers for TableGen
backends. Such helpers can be shared by more than one backend, and even
unit tested (e.g. CodeExpander is, maybe we can add more over time)
Fixes #80647
Commit: aa962d67ee896f416e285a9298e45fc08ff95eef
https://github.com/llvm/llvm-project/commit/aa962d67ee896f416e285a9298e45fc08ff95eef
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Interpreter/Value.h
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] Fix Value for platforms where unqualified char is unsigned (#86118)
Signedness of unqualified `char` is unspecified and varies between
platforms. This patch adds `Char_U` in `REPL_BUILTIN_TYPES` to account
for platforms that default to `unsigned char`.
Commit: 0cf4788d9d0df60980cb48d28aafe7a86aa15a14
https://github.com/llvm/llvm-project/commit/0cf4788d9d0df60980cb48d28aafe7a86aa15a14
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
Log Message:
-----------
[clang-repl] Factor out CreateJITBuilder() and allow specialization in derived classes (#84461)
The LLJITBuilder interface provides a very convenient way to configure
the ORCv2 JIT engine. IncrementalExecutor already used it internally to
construct the JIT, but didn't provide external access. This patch lifts
control of the creation process to the Interpreter and allows injection
of a custom instance through the extended interface. The Interpreter's
default behavior remains unchanged and the IncrementalExecutor remains
an implementation detail.
Commit: 75e528fdd9594ecb6fdb5d9e7bee1506f7e43be0
https://github.com/llvm/llvm-project/commit/75e528fdd9594ecb6fdb5d9e7bee1506f7e43be0
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.ll
Log Message:
-----------
[AMDGPU] Extend zero initialization of return values for TFE (#85759)
buffer_load instructions that use TFE also need to zero initialize
return values similar to how the image instructions currently work. Add
support for this with standard zero init of all results + zero init of
just TFE flag when enable-prt-strict-null subtarget feature is disabled.
Commit: 99c40f6ba60ea6e5dbd3f015956c7d2f6e25e54c
https://github.com/llvm/llvm-project/commit/99c40f6ba60ea6e5dbd3f015956c7d2f6e25e54c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll
Log Message:
-----------
[SPIR-V] Introduce a command line option to support compatibility with Khronos SPIRV Translator (#86101)
SPIRV-LLVM-Translator project
(https://github.com/KhronosGroup/SPIRV-LLVM-Translator) from Khronos
Group is a tool and a library for bi-directional translation between
SPIR-V and LLVM IR. In its backward translation from SPIR-V to LLVM IR
SPIRV-LLVM-Translator isn't necessarily able to cover the same SPIR-V
patterns/instructions set that SPIRV Backend produces, even if we target
the same SPIR-V version in both SPIRV-LLVM-Translator and SPIRV Backend
projects.
To improve interoperability and ability to apply SPIRV Backend output in
different products this PR introduces a notion of a mode of SPIR-V
output that is compatible with a subset of SPIR-V supported by
SPIRV-LLVM-Translator. This includes a new command line option that
doesn't influence default behavior of SPIRV Backend and one test case
that demonstrates how this command line option may be used to get a
practical benefit of producing that one of two possible and similar
output options that can be understood by SPIRV-LLVM-Translator.
Commit: 1d250d9099a9ba8b53add7eb7db6827e8fc0c8fd
https://github.com/llvm/llvm-project/commit/1d250d9099a9ba8b53add7eb7db6827e8fc0c8fd
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
Log Message:
-----------
[SPIR-V] Improve type inference in SPIR-V Backend for opaque pointers (#86283)
This PR improves type inference in SPIR-V Backend for opaque pointers,
accounting or a case when there is a chain of function calls that allows
to deduce formal parameter types from actual arguments. The attached
test demonstrates the case.
Commit: b0d03ccc0855f2bff39160f25fcde06aae07cace
https://github.com/llvm/llvm-project/commit/b0d03ccc0855f2bff39160f25fcde06aae07cace
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
Log Message:
-----------
[SPIR-V] Fix illegal OpConstantComposite instruction with non-const constituents in SPIR-V Backend (#86352)
This PR fixes illegal use of OpConstantComposite with non-constant
constituents. The test attached to the PR is able now to satisfy
`spirv-val` check. Before the fix SPIR-V Backend produced for the
attached test case a pattern like
```
%a = OpVariable %_ptr_CrossWorkgroup_uint CrossWorkgroup %uint_123
%11 = OpConstantComposite %_struct_6 %a %a
```
so that `spirv-val` complained with
```
error: line 25: OpConstantComposite Constituent <id> '10[%a]' is not a constant or undef.
%11 = OpConstantComposite %_struct_6 %a %a
```
Commit: cbbbab349e9c412729c3969008cdcb677cc55790
https://github.com/llvm/llvm-project/commit/cbbbab349e9c412729c3969008cdcb677cc55790
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[RemoveDIs] Enable direct-to-bitcode writing by default
Follow on from #83251. This patch simply enables the behaviour by default in
order to provide an easily revertible capstone.
Commit: 3cb024198f6a028089779c0a3cb4d8e753e87c73
https://github.com/llvm/llvm-project/commit/3cb024198f6a028089779c0a3cb4d8e753e87c73
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-fmaximum.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fminimum.ll
Log Message:
-----------
[RISCV][CostModel] Estimate cost of llvm.vector.reduce.fmaximum/fminimum (#80697)
The ‘llvm.vector.reduce.fmaximum/fminimum.*’ intrinsics propagate NaNs
if any element of the vector is a NaN.
Following #79402, the patch adds the cost for NaN check (vmfne + vcpop)
Commit: e550022b68fc75d32e44faa59ed8f02036cd8f26
https://github.com/llvm/llvm-project/commit/e550022b68fc75d32e44faa59ed8f02036cd8f26
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/tools/llvm-dis/llvm-dis.cpp
Log Message:
-----------
[RemoveDIs] Load into new debug info format by default in llvm-dis (#86276)
Directly load all bitcode into the new debug info format in llvm-dis.
This means that new-mode bitcode no longer round-trips back to old-mode
after parsing, and that old-mode bitcode gets auto-upgraded to new-mode
debug info (which is the current in-memory default in LLVM).
Commit: 2ef612050844355906e4b67d892a00bbb58c41d6
https://github.com/llvm/llvm-project/commit/2ef612050844355906e4b67d892a00bbb58c41d6
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
[RemoveDIs] Do not load into new debug info format from bitcode by default (#86268)
This is NFC right now, as the global default behaviour is also "do not
load into the new debug info format by default", but we want to change
that soon.
Additionally unconditionally convert from the new debug info format into
if we've loaded into it (e.g., if the bitcode file loaded was already in
the new format).
The latter change is needed because verify-uselistorder doesn't yet
understand DbgRecords (it doesn't know how to map them).
The former change is needed because if we load from an old debug format
bitcode file but load directly into the new format _and then convert
back to the old mode after_, the use-lists of the debug intrinsic
functions (the functions' global value uses) change.
Commit: 8263a883342d9925a4a1fd9752efc8deda5840fc
https://github.com/llvm/llvm-project/commit/8263a883342d9925a4a1fd9752efc8deda5840fc
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
[RemoveDIs] Load into new debug info format by default in llvm-link (#86274)
Directly load all bitcode into the new debug info format in llvm-link.
This means that new-mode bitcode no longer round-trips back to old-mode
after parsing, and that old-mode bitcode gets auto-upgraded to new-mode
debug info (which is the current in-memory default in LLVM).
Commit: 772e316457ef94759804d9f4da0af70d8d2ca4d4
https://github.com/llvm/llvm-project/commit/772e316457ef94759804d9f4da0af70d8d2ca4d4
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/attr-target-version.c
M clang/test/SemaCXX/attr-target-version.cpp
Log Message:
-----------
[FMV] Allow multi versioning without default declaration. (#85454)
This was a limitation which has now been lifted. Please read the
thread below for more details:
https://github.com/llvm/llvm-project/pull/84405#discussion_r1525583647
Basically it allows to separate versioned implementations across
different TUs without having to share private header files which
contain the default declaration.
The ACLE spec has been updated accordingly to make this explicit:
"Each version declaration should be visible at the translation
unit in which the corresponding function version resides."
https://github.com/ARM-software/acle/pull/310
If a resolver is required (because there is a caller in the TU),
then a default declaration is implicitly generated.
Commit: 7434a6b96c68b6835a6de6e98199dcfc35981dd5
https://github.com/llvm/llvm-project/commit/7434a6b96c68b6835a6de6e98199dcfc35981dd5
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/TableGen/Basic/CMakeLists.txt
M llvm/utils/TableGen/CMakeLists.txt
M llvm/utils/TableGen/Common/CMakeLists.txt
Log Message:
-----------
[TableGen] Fix Linker Errors
Fix linker errors after landing fa3d789df15bd1f58fb8ba4ea3be909218cf7f03
Commit: 336bdf1a255571f8d894e8befe4be7e9141f7541
https://github.com/llvm/llvm-project/commit/336bdf1a255571f8d894e8befe4be7e9141f7541
Author: Martin Storsjö <martin at martin.st>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
[verify-uselistorder] Fix a typo, fix linking
This fixes a typo from 2ef612050844355906e4b67d892a00bbb58c41d6,
which broke the build with errors like:
ld.lld: error: undefined symbol: LoadBitcodeIntoNewDbgInforFormat
>>> referenced by verify-uselistorder.cpp
>>> tools/verify-uselistorder/CMakeFiles/verify-uselistorder.dir/verify-uselistorder.cpp.o:(main)
>>> did you mean: LoadBitcodeIntoNewDbgInfoFormat
>>> defined in: lib/libLLVMBitReader.a(BitcodeReader.cpp.o)
collect2: error: ld returned 1 exit status
Commit: dbfc38ed6b3f2a9be0b1a86b2a074aad69eb58a6
https://github.com/llvm/llvm-project/commit/dbfc38ed6b3f2a9be0b1a86b2a074aad69eb58a6
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.h
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
A mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-loops.mlir
M mlir/test/Dialect/Bufferization/Transforms/buffer-deallocation-simplification.mlir
Log Message:
-----------
[mlir][bufferization] Add `BufferOriginAnalysis` (#86461)
This commit adds the `BufferOriginAnalysis`, which can be queried to
check if two buffer SSA values originate from the same allocation. This
new analysis is used in the buffer deallocation pass to fold away or
simplify `bufferization.dealloc` ops more aggressively.
The `BufferOriginAnalysis` is based on the `BufferViewFlowAnalysis`,
which collects buffer SSA value "same buffer" dependencies. E.g., given
IR such as:
```
%0 = memref.alloc()
%1 = memref.subview %0
%2 = memref.subview %1
```
The `BufferViewFlowAnalysis` will report the following "reverse"
dependencies (`resolveReverse`) for `%2`: {`%2`, `%1`, `%0`}. I.e., all
buffer SSA values in the reverse use-def chain that originate from the
same allocation as `%2`. The `BufferOriginAnalysis` is built on top of
that. It handles only simple cases at the moment and may conservatively
return "unknown" around certain IR with branches, memref globals and
function arguments.
This analysis enables additional simplifications during
`-buffer-deallocation-simplification`. In particular, "regular" scf.for
loop nests, that yield buffers (or reallocations thereof) in the same
order as they appear in the iter_args, are now handled much more
efficiently. Such IR patterns are generated by the sparse compiler.
Commit: 94a550dab26c4b30a187dd8e3ce431e0f915923b
https://github.com/llvm/llvm-project/commit/94a550dab26c4b30a187dd8e3ce431e0f915923b
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[AMDGPU][NFC] Rename Feature GFX11FullVGPRs to 1_5xVGPRs (#86468)
Commit: 37785fedabd8fa752129ef5bac3462311af91c35
https://github.com/llvm/llvm-project/commit/37785fedabd8fa752129ef5bac3462311af91c35
Author: Discookie <viktor.cseh at ericsson.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
M clang/test/Analysis/ArrayDelete.cpp
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/available_checks.html
Log Message:
-----------
[clang][analyzer] Bring cplusplus.ArrayDelete out of alpha (#83985)
The checker finds a type of undefined behavior, where if the type of a
pointer to an object-array is different from the objects' underlying
type, calling `delete[]` is undefined, as the size of the two objects
might be different.
The checker has been in alpha for a while now, it is a simple checker
that causes no crashes, and considering the severity of the issue, it
has a low result-count on open-source projects (in my last test-run on
my usual projects, it had 0 results).
This commit cleans up the documentation and adds docs for the limitation
related to tracking through references, in addition to moving it to
`cplusplus`.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Co-authored-by: whisperity <whisperity at gmail.com>
Commit: f0eb9083402c0130f240a7ef948b3f7b3bdf221c
https://github.com/llvm/llvm-project/commit/f0eb9083402c0130f240a7ef948b3f7b3bdf221c
Author: Nathan Gauër <brioche at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll
M llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
Log Message:
-----------
[SPIR-V] Add WaveGetLaneIndex() intrinsic support (#85979)
Add support to generate valid SPIR-V for the WaveGetLaneIndex() HLSL
builtin.
To implement this, I had to fix a few small issues in the backend, like
the i8* pointer type being emitted, even if we have the type information
elsewhere.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: a0e9a8da45402eea0db71976ab78d195a7287222
https://github.com/llvm/llvm-project/commit/a0e9a8da45402eea0db71976ab78d195a7287222
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc-2.fir
Log Message:
-----------
[flang][NFC] speedup BoxedProcedure for derived types with many components (#86144)
This patch speeds up the compilation time of the example in
https://github.com/llvm/llvm-project/issues/76478#issuecomment-2011023289
from 2 minutes with my builds to about 2 seconds.
MLIR timers showed more than 98% of the time was spend in BoxedProcedure
trying to figure out if a type needs to be converted.
This is because walking the fir.type members is very expansive for types
containing many components and/or components with many sub-components.
Increase the caching time of visited types from "the type being visited"
to "the whole pass". Use DenseMap since it is not ok anymore to assume
this container will only have a few elements.
Commit: f5a067bb9002afeedfd6d94722af1cef698979e3
https://github.com/llvm/llvm-project/commit/f5a067bb9002afeedfd6d94722af1cef698979e3
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[SelectionDAG]: Deduce KnownNeverZero from SMIN and SMAX (#85722)
Commit: 13078cbc3eeb0ae91c370ce0f604f7165b26e0c8
https://github.com/llvm/llvm-project/commit/13078cbc3eeb0ae91c370ce0f604f7165b26e0c8
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
Log Message:
-----------
[clang-repl] Skip cross-JIT tests if specified target is not available (#84461)
Commit: aeeb7d566c9047d4e64b5fc7ea8930b93e80def9
https://github.com/llvm/llvm-project/commit/aeeb7d566c9047d4e64b5fc7ea8930b93e80def9
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Make subprogram flags optional (#86433)
This revision makes the subprogramFlags field in the DISubprogrammAttr
optional. This is necessary since the DISubprogram attached to a
declaration may have none of the subprogram flags set.
Commit: 4e29c6acd3683973e86d46bc124c78e338f1510a
https://github.com/llvm/llvm-project/commit/4e29c6acd3683973e86d46bc124c78e338f1510a
Author: David Green <david.green at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
Log Message:
-----------
[AArch64] Correct Neoverse V1 SVE 16-bit sdot/udot schedule pipelines. (#86142)
Fixes #86102
Commit: 1081d3a0a7aeee795b11947d850cecc9c63a187a
https://github.com/llvm/llvm-project/commit/1081d3a0a7aeee795b11947d850cecc9c63a187a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
Log Message:
-----------
[VPlan] Mark CanonicalIVIncrementForPart as only using part 0 of IV.
CanonicalIVIncrementForPart uses VPIteration(0, 0) of the IV (first
operand), mark it as only using part 0.
This avoids generating redundant IV increments per part.
Commit: e1d4ddb0c68f69001d7de43d9c678f4d73c1ecba
https://github.com/llvm/llvm-project/commit/e1d4ddb0c68f69001d7de43d9c678f4d73c1ecba
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
A clang/test/Analysis/getline-cpp.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
Log Message:
-----------
Reapply "[analyzer] Accept C library functions from the `std` namespace" again (#85791)
This reapplies 80ab8234ac309418637488b97e0a62d8377b2ecf again, after
fixing a name collision warning in the unit tests (see the revert commit
13ccaf9b9d4400bb128b35ff4ac733e4afc3ad1c for details).
In addition to the previously applied changes, this commit also clarifies the
code in MallocChecker that distinguishes POSIX "getline()" and C++ standard
library "std::getline()" (which are two completely different functions). Note
that "std::getline()" was (accidentally) handled correctly even without this
clarification; but it's better to explicitly handle and test this corner case.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 6b8bb29c26765ab085cd0986168407f5586f620e
https://github.com/llvm/llvm-project/commit/6b8bb29c26765ab085cd0986168407f5586f620e
Author: Christian Sigg <csigg at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Update BUILD file after fa3d789df15bd1f58fb8ba4ea3be909218cf7f03.
Commit: edcf65d40c4160db0a888e801560a671b10179d2
https://github.com/llvm/llvm-project/commit/edcf65d40c4160db0a888e801560a671b10179d2
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/do20.f90
Log Message:
-----------
[flang][OpenMP] Allow loop iteration variables in DSA clauses (#86194)
Iteration variables of non-associated loops may be listed in DSA
clauses.
Fixes https://github.com/llvm/llvm-project/issues/78938
Commit: 684ca6a25ae0a4b8d015ed321f7e99cb7153951e
https://github.com/llvm/llvm-project/commit/684ca6a25ae0a4b8d015ed321f7e99cb7153951e
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl
Log Message:
-----------
[bazel] Format defs.bzl
Commit: 46a737cef2a709d5c121ab616fc80088ce2eed46
https://github.com/llvm/llvm-project/commit/46a737cef2a709d5c121ab616fc80088ce2eed46
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/TableGen/Common/CMakeLists.txt
Log Message:
-----------
[LLVM] Fix linking object library in tablegen
Summary:
The patch https://github.com/llvm/llvm-project/pull/80847 introduced
some changes to how we build tablegen. Some files weren't build included
properly on my build. We don't need to fish out the objects directly
from an object library build, we can simply add it to the link libraries
and CMake will include them for you. This fixed the issue of missings
defs for me and is more canonical.
Commit: 4bb9f918ff4e2a932ce1e3da5f14103778b04136
https://github.com/llvm/llvm-project/commit/4bb9f918ff4e2a932ce1e3da5f14103778b04136
Author: Jianbang Yang <yangjianbang112 at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] fix out-of-bound index in tensor.dim (#85901)
fix a crash when fold tensor.dim with out-of-bound index.
Fixes: https://github.com/llvm/llvm-project/issues/70183
Commit: e6f63a942a45e3545332cd9a43982a69a4d5667b
https://github.com/llvm/llvm-project/commit/e6f63a942a45e3545332cd9a43982a69a4d5667b
Author: martinboehme <mboehme at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Bail out if input is Objective-C++. (#86479)
We only ever intended to support C++, but the condition we were testing
allowed
Objective-C++ code by mistake.
Commit: e1a003dbbd016f57b349c87981bf210f8ec3e1e0
https://github.com/llvm/llvm-project/commit/e1a003dbbd016f57b349c87981bf210f8ec3e1e0
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
Log Message:
-----------
[lld-macho][NFC] Refactor ObjCSelRefsSection => ObjCSelRefsHelper (#86456)
In a previous PR: https://github.com/llvm/llvm-project/pull/83878, the
intent was to make no functional changes, just refactor out the code for
reuse.
However, by creating `ObjCSelRefsSection` as a `SyntheticSection` - this
slightly changed the functionality of the application as the
`SyntheticSection` constructor registers the `SyntheticSection` as a
functional one - with an associated `SyntheticInputSection`.
With this change we remove this unintended consequence by making the
code not use a `SyntheticSection` as base, but just by having it be a
static helper.
Commit: b33166472c17b51b0b70a72424c2387e95f11b2d
https://github.com/llvm/llvm-project/commit/b33166472c17b51b0b70a72424c2387e95f11b2d
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
Log Message:
-----------
[flang] Fix -Wunused-variable in BoxedProcedure.cpp (NFC)
llvm-project/flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp:157:12:
error: unused variable 'it' [-Werror,-Wunused-variable]
auto it = convertedTypes.try_emplace(ty, rec);
^
1 error generated.
Commit: f7e7064992ced7795e66ab90f9a7c3195b6fa230
https://github.com/llvm/llvm-project/commit/f7e7064992ced7795e66ab90f9a7c3195b6fa230
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/fill-1d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
Log Message:
-----------
[mlir][SVE] Fix memory leaks in integration tests (#86488)
Buffers are no longer deallocated by One-Shot Bufferize - this is now
done by a separate buffer deallocation pass.
In order to see the leaks in SVE integration tests, use the following
CMake flags (enables the address sanitizer and SVE integration tests):
-DLLVM_USE_SANITIZER="Address"
-DMLIR_INCLUDE_INTEGRATION_TESTS=On
-DMLIR_RUN_ARM_SVE_TESTS=On
Follow-up for #85366
Commit: 865294b2e67d91d6e6a123db1b71a175e015a210
https://github.com/llvm/llvm-project/commit/865294b2e67d91d6e6a123db1b71a175e015a210
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/RISCV/misched-postra-direction.mir
Log Message:
-----------
[CodeGen][MISched] Add misched post-regalloc bidirectional scheduling (#77138)
This PR is stacked on #76186.
This PR keeps the default strategy as top-down since that is what
existing targets expect. It can be enabled using
`-misched-postra-direction=bidirectional`.
It is up to targets to decide whether they would like to enable this
option for themselves.
Commit: ded6252dfd96ee8904b6d2250bc9e4841ca5c802
https://github.com/llvm/llvm-project/commit/ded6252dfd96ee8904b6d2250bc9e4841ca5c802
Author: Chris B <chris.bieneman at me.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[CMake][HLSL] Add SPIRV to target list for build (#86323)
This change just enables the SPIR-V target by default in the HLSL build
configurations. Since SPIR-V support is something we expect from the
full HLSL compiler releases for pairity with DXC we should enable it in
the default developer workflow.
Commit: 32b828306e346bc8e86c0b763f3514329de60ed1
https://github.com/llvm/llvm-project/commit/32b828306e346bc8e86c0b763f3514329de60ed1
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/test/Analysis/analyzer-display-progress.cpp
M clang/test/Analysis/analyzer-display-progress.m
A clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
Log Message:
-----------
[analyzer] Set and display CSA analysis entry points as notes on debugging (#84823)
When debugging CSA issues, sometimes it would be useful to have a
dedicated note for the analysis entry point, aka. the function name you
would need to pass as "-analyze-function=XYZ" to reproduce a specific
issue.
One way we use (or will use) this downstream is to provide tooling on
top of creduce to enhance to supercharge productivity by automatically
reduce cases on crashes for example.
This will be added only if the "-analyzer-note-analysis-entry-points" is
set or the "analyzer-display-progress" is on.
This additional entry point marker will be the first "note" if enabled,
with the following message: "[debug] analyzing from XYZ". They are
prefixed by "[debug]" to remind the CSA developer that this is only
meant to be visible for them, for debugging purposes.
CPP-5012
Commit: b282259711af7b295cb80a12880bcd8e0d1fcefa
https://github.com/llvm/llvm-project/commit/b282259711af7b295cb80a12880bcd8e0d1fcefa
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/docs/math/index.rst
M libc/include/llvm-libc-macros/math-macros.h
M libc/spec/stdc.td
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/math/CMakeLists.txt
A libc/src/math/fromfp.h
A libc/src/math/fromfpf.h
A libc/src/math/fromfpf128.h
A libc/src/math/fromfpl.h
A libc/src/math/fromfpx.h
A libc/src/math/fromfpxf.h
A libc/src/math/fromfpxf128.h
A libc/src/math/fromfpxl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fromfp.cpp
A libc/src/math/generic/fromfpf.cpp
A libc/src/math/generic/fromfpf128.cpp
A libc/src/math/generic/fromfpl.cpp
A libc/src/math/generic/fromfpx.cpp
A libc/src/math/generic/fromfpxf.cpp
A libc/src/math/generic/fromfpxf128.cpp
A libc/src/math/generic/fromfpxl.cpp
A libc/src/math/generic/ufromfp.cpp
A libc/src/math/generic/ufromfpf.cpp
A libc/src/math/generic/ufromfpf128.cpp
A libc/src/math/generic/ufromfpl.cpp
A libc/src/math/generic/ufromfpx.cpp
A libc/src/math/generic/ufromfpxf.cpp
A libc/src/math/generic/ufromfpxf128.cpp
A libc/src/math/generic/ufromfpxl.cpp
A libc/src/math/ufromfp.h
A libc/src/math/ufromfpf.h
A libc/src/math/ufromfpf128.h
A libc/src/math/ufromfpl.h
A libc/src/math/ufromfpx.h
A libc/src/math/ufromfpxf.h
A libc/src/math/ufromfpxf128.h
A libc/src/math/ufromfpxl.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/FromfpTest.h
A libc/test/src/math/smoke/FromfpxTest.h
A libc/test/src/math/smoke/UfromfpTest.h
A libc/test/src/math/smoke/UfromfpxTest.h
A libc/test/src/math/smoke/fromfp_test.cpp
A libc/test/src/math/smoke/fromfpf128_test.cpp
A libc/test/src/math/smoke/fromfpf_test.cpp
A libc/test/src/math/smoke/fromfpl_test.cpp
A libc/test/src/math/smoke/fromfpx_test.cpp
A libc/test/src/math/smoke/fromfpxf128_test.cpp
A libc/test/src/math/smoke/fromfpxf_test.cpp
A libc/test/src/math/smoke/fromfpxl_test.cpp
A libc/test/src/math/smoke/ufromfp_test.cpp
A libc/test/src/math/smoke/ufromfpf128_test.cpp
A libc/test/src/math/smoke/ufromfpf_test.cpp
A libc/test/src/math/smoke/ufromfpl_test.cpp
A libc/test/src/math/smoke/ufromfpx_test.cpp
A libc/test/src/math/smoke/ufromfpxf128_test.cpp
A libc/test/src/math/smoke/ufromfpxf_test.cpp
A libc/test/src/math/smoke/ufromfpxl_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Add {,u}fromfp{,x}{,f,l,f128} functions (#86003)
Fixes #85279.
cc @lntue
Commit: bea17ff652bc49b2de8d6be04f77d28170a78be9
https://github.com/llvm/llvm-project/commit/bea17ff652bc49b2de8d6be04f77d28170a78be9
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/MicrosoftMangle.cpp
M clang/test/CodeGenCXX/mangle-ms-back-references.cpp
Log Message:
-----------
[clang] Correct Microsoft mangling of lifetime extended temporary objects. (#85529)
Lifetime extended temporary objects that are bound to references with
static storage duration may have external linkage and therefore require
mangled symbol names. Clang uses an extension of the Microsoft ABI to
give these symbols an implicit name of '$RT' followed by a discriminator
and then mangles them similarly to the variable they are bound to.
Clang's mangling scheme differs from the one used by MSVC.
Previously, the `$RT<discriminator>` portion of the name was not
registered as a back reference candidate and this resulted in incorrect
back references for enclosing class and/or namespace scopes that might
be referenced in the type of the object.
This is an ABI change and has the potential to cause backward
compatibility issues with previous Clang releases. Since MSVC uses a
different mangling scheme, this change does not affect compatibility
with MSVC.
This fixes one of the name mangling concerns reported in #85423.
Commit: 06cfbe3cfd44cd2ca9eb970b8c0e5f4911468440
https://github.com/llvm/llvm-project/commit/06cfbe3cfd44cd2ca9eb970b8c0e5f4911468440
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/merge-buffer-gfx12.mir
A llvm/test/CodeGen/AMDGPU/merge-buffer.mir
M llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
Log Message:
-----------
[AMDPU] Add support for idxen and bothen buffer load/store merging in SILoadStoreOptimizer (#86285)
Added more buffer instruction merging support
Commit: 564035edb0e67a177fd911fc779cd64300a9b5ef
https://github.com/llvm/llvm-project/commit/564035edb0e67a177fd911fc779cd64300a9b5ef
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Organize `genOMP` functions in OpenMP.cpp, NFC (#86309)
Put all of the genOMP functions together, organize them in two groups:
for declarative constructs and for other (executable) constructs.
Replace visit functions for OpenMPDeclarativeConstruct and
OpenMPConstruct from listing individual visitors for each variant
alternative to using a single generic visitor. Essentially, going from
```
std::visit(
[](foo x) { genOMP(foo); }
[](bar x) { TODO }
[](baz x) { genOMP(baz); }
)
```
to
```
void genOMP(bar x) { // Separate visitor for an unhandled case
TODO
}
[...]
std::visit([&](auto &&s) { genOMP(s); }) // generic
```
This doesn't change any functionality, just reorganizes the functions a
bit. The intent here is to improve the readability of this file.
Commit: 0bdb883e7c6ae836c68c3bd09cbe1305b3f656ec
https://github.com/llvm/llvm-project/commit/0bdb883e7c6ae836c68c3bd09cbe1305b3f656ec
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
Log Message:
-----------
[mlir][SVE] Add e2e for 1D depthwise WC convolution
Follow-up for #81625
Relands #85225 with a minor update to the RUN line to fix buildbot
failures:
```diff
-// RUN: %{compile} | %{run} | FileCheck %s
+// RUN: rm -f %t && %{compile} && %{run} | FileCheck %s
```
Failing buildbots after landing #85225:
* https://lab.llvm.org/buildbot/#/builders/184/builds/11363
* https://lab.llvm.org/buildbot/#/builders/176/builds/9331
Commit: fb394562a3cf3522ac17a1436234ef5b926636fb
https://github.com/llvm/llvm-project/commit/fb394562a3cf3522ac17a1436234ef5b926636fb
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
A llvm/test/CodeGen/X86/GlobalISel/legalize-icmp-vec.mir
Log Message:
-----------
[X86][GlobalISel] Fix referencing nonexistent operand in G_ICMP (#86221)
Fixes #86203
Commit: 2b351a3b76b8e58414fb51ff52978c79904ab331
https://github.com/llvm/llvm-project/commit/2b351a3b76b8e58414fb51ff52978c79904ab331
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/pow.hlsl
Log Message:
-----------
[HLSL] Remove double pow intrinsics (#86407)
Currently, the HLSL community is re-implementing its HLSL compiler, the
DirectX Shader Compiler (DXC), in LLVM/main piece by piece. This change
removes the pow intrinsics with parameters of type double as it is not
available in DXC.
Introduced in
https://github.com/llvm/llvm-project/commit/df5137e984a607248cd31ed67aa3822e8ac2a083.
Documentation for HLSL pow function is available here:
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-pow#parameters
Closes https://github.com/llvm/llvm-project/issues/86181
Commit: 6fd3677fb4f4e806f2efa43bfa814aaf063c506c
https://github.com/llvm/llvm-project/commit/6fd3677fb4f4e806f2efa43bfa814aaf063c506c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
Fixing a think-o with swapped information
Commit: 7ee1007eddcfc4efe582512b78704038f17fa5a3
https://github.com/llvm/llvm-project/commit/7ee1007eddcfc4efe582512b78704038f17fa5a3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim full support for WG14 N772
No tests are added because existing tests cover this. The thrust of the
paper is that an implementation needs to support including a header
file whose name is eight character or less and contains only letters
and numbers; we definitely manage this.
Commit: 002f7808c93ee28db77383de7e802ef3beab47bd
https://github.com/llvm/llvm-project/commit/002f7808c93ee28db77383de7e802ef3beab47bd
Author: Nico Weber <thakis at chromium.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
A llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
A llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
R llvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
Log Message:
-----------
[gn] port fa3d789df15b (tblgen restructure)
Commit: 8ef451072a532a9cbc1c128468fba70bbf9a38b9
https://github.com/llvm/llvm-project/commit/8ef451072a532a9cbc1c128468fba70bbf9a38b9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
Log Message:
-----------
[JITLink][ELF][AArch64] Make include order consistent with other JITLink files.
Coding my way home: 8.98112N, 79.52094W
Commit: c15218bccb570316e4971c4b70e879a4bd6a8de9
https://github.com/llvm/llvm-project/commit/c15218bccb570316e4971c4b70e879a4bd6a8de9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
Log Message:
-----------
[JITLink] Dump weak-ref status for external symbols in LinkGraphs.
Coding my way home: 8.98112N, 79.52094W
Commit: 94bbc18bb6469b29dc471c4af879c2ee64d62180
https://github.com/llvm/llvm-project/commit/94bbc18bb6469b29dc471c4af879c2ee64d62180
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
Log Message:
-----------
[ORC] Add some debug logging to EPCDynamicLibrarySearchGenerator.
Coding my way home: 8.98112N, 79.52094W
Commit: c4d58815506ece1a5e5e001fadbaf34b0266fd37
https://github.com/llvm/llvm-project/commit/c4d58815506ece1a5e5e001fadbaf34b0266fd37
Author: Lang Hames <lhames at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_section_start_and_stop_symbols.s
Log Message:
-----------
[JITLink][MachO] Handle MachO section start/end symbols.
Transform section$start$<section-name> and section$end$<section-name> external
symbols into defined symbols when a section named <section-name> is present.
rdar://125357048
Coding my way home: 8.98112N, 79.52094W
Commit: 20392687d38169c7f7de484050e734cb72630b2f
https://github.com/llvm/llvm-project/commit/20392687d38169c7f7de484050e734cb72630b2f
Author: Andrii Levitskiy <107996072+aabysswalker at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
Log Message:
-----------
[HLSL] remove double impelementation of log, sin, trunc intrinsics (#86440)
This change removes the log, log2, log10, sin, trunc intrinsics with
parameters of type double as it is not available in the DXC compiler.
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log2
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-log10
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-sin
https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-trunc
Closes #86189
Commit: a83ed0423dcafd4fecb15994a5c5c8b85a56f59b
https://github.com/llvm/llvm-project/commit/a83ed0423dcafd4fecb15994a5c5c8b85a56f59b
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/Support/DXILABI.h
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX] Follow naming conventions for enumerators in DXILABI.h. NFC (#86237)
These all-caps names differ from the llvm naming conventions for no good
reason, and `VOID` in all caps can cause problems in windows
environments (see [1]). Rename them to UpperCamelCase.
[1]: https://github.com/clangd/clangd/issues/1983
Commit: 7b3e943dfc6355488a57a7feaa125f4879ba7537
https://github.com/llvm/llvm-project/commit/7b3e943dfc6355488a57a7feaa125f4879ba7537
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Float2Int.h
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/test/Transforms/Float2Int/basic.ll
M llvm/test/Transforms/Float2Int/pr79158.ll
Log Message:
-----------
Reapply: [Float2Int] Resolve FIXME: Pick the smallest legal type that fits (#86337)
Originally reverted because of a bug in Range that is now fixed
(#86041), we can reland this commit. Tests have been added to ensure the
miscompile that caused the revert does not happen again.
Commit: a9d1fead961440d415f931bc22c160dec88e03fd
https://github.com/llvm/llvm-project/commit/a9d1fead961440d415f931bc22c160dec88e03fd
Author: Vivian <zhyuhang88 at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir
Log Message:
-----------
Fix the condition for peeling the first iteration (#86350)
This PR fixes the condition used in loop peeling of the first iteration.
Using ceilDiv instead of floorDiv when calculating the loop counts, so
that the first iteration gets peeled as needed.
Commit: d99cfa053998483e7283e91ff204fbe117345685
https://github.com/llvm/llvm-project/commit/d99cfa053998483e7283e91ff204fbe117345685
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A clang/test/C/C99/n696.c
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim conformance to WG14 N631 and WG14 N696
Both of these relate to handling of standard pragmas. N631 is about
various STDC pragmas being included in the standard at all, and N696
is about whether macros are expanded in standard pragmas (they're not).
Commit: 96819daa3d095cf9f662e0229dc82eaaa25480e8
https://github.com/llvm/llvm-project/commit/96819daa3d095cf9f662e0229dc82eaaa25480e8
Author: David Green <david.green at arm.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/insert-subvector.ll
Log Message:
-----------
[AArch64] Handle v2i16 and v2i8 in concat load combine. (#86264)
This extends the concat load patch from
https://reviews.llvm.org/D121400, which was later moved to a combine, to
handle v2i8 and v2i16 concat loads too.
Commit: 5ef09540e16dfc81643eaf866d4ada0b52cf27b8
https://github.com/llvm/llvm-project/commit/5ef09540e16dfc81643eaf866d4ada0b52cf27b8
Author: Nico Weber <thakis at chromium.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn
Log Message:
-----------
[gn] port 4fb0805c6525b
That's an old commit, but it suddenly became load-bearing, maybe
due to 0cf4788d9d0df609
Commit: c62c74639ad6eb0988861077b7123fa2b2c17cc5
https://github.com/llvm/llvm-project/commit/c62c74639ad6eb0988861077b7123fa2b2c17cc5
Author: Cooper Partin <coopp at microsoft.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerPSVInfo.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
Log Message:
-----------
Add support for PSV EntryFunctionName (#86296)
This change introduces a version 3 of the PSV data that includes support
for the name of the entry function as an offset into StringTable data to
a null-terminated utf-8 string.
Additional tests were added to ensure that the new value was properly
serialized/deserialized from object data.
Fixes #80175
---------
Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>
Commit: 33cf27b0a3f307f4c57e868fedb72f4d65ba72d9
https://github.com/llvm/llvm-project/commit/33cf27b0a3f307f4c57e868fedb72f4d65ba72d9
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISEL][NFC] Add typeIsLegalBoolVec and typeIsLegalIntOrFPVec helpers
Commit: ea798a79000f5df53b469ecb491d7d21479d6f24
https://github.com/llvm/llvm-project/commit/ea798a79000f5df53b469ecb491d7d21479d6f24
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-implicit-def.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/implicit-def.mir
Log Message:
-----------
[RISCV][GISEL] Legalize and regbankselect vector typed G_IMPLICIT_DEF
Commit: f3f594c6b569a1b126f390c28ec0ca3704f39e93
https://github.com/llvm/llvm-project/commit/f3f594c6b569a1b126f390c28ec0ca3704f39e93
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[NFC][lld] Pass `sym` as const reference to `GotSection`'s methods (#86481)
Commit: 2745f72a81aa73517cf43e8e4ddc4c91a1739a6a
https://github.com/llvm/llvm-project/commit/2745f72a81aa73517cf43e8e4ddc4c91a1739a6a
Author: Alan Zhao <ayzhao at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libc/src/__support/File/file.h
Log Message:
-----------
[libc][NFC] fix typo (#86540)
Commit: d179176f3e3505044ad14be19ccb3459a70206a9
https://github.com/llvm/llvm-project/commit/d179176f3e3505044ad14be19ccb3459a70206a9
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_width_estimation_table.py
Log Message:
-----------
[libc++][format] Adds ABI tags to inline constexpr variables. (#86293)
This uses the macro on record types and inline constexpr variables. The
tagged declarations are very likely to change in future versions of
libc++:
- __fields are internal types used to control the formatter's parse
functions which fields to expect. Newer formatters may add new fields.
For example the filesystem::path formatter accepted in the recent Tokyo
meeting added a new 'g' flag, which differs from the 'g' type.
- The Unicode tables. The number of entries in these table likely differ
between Unicode versions. The tables contain only a part of all Unicode
properties. Typically they are stored in a 32-bit entry where some bits
contain the properties and other bits the size of the range. Changes in
the Unicode or C++ algorithms may require more properties to be
available in C++. This may affect the number of bits available in the
range. If needed, other declarations get the macro. This is mainly a
first time to review this approach.
This was originally https://reviews.llvm.org/D143494 where a new macro
_LIBCPP_HIDE_FROM_ABI_TYPE was defined. Testing revealed the existing
macro _LIBCPP_HIDE_FROM_ABI could be used. The "parts" of the macro that
do not affect records are not harmful. Based on this information the
existing macro was used and additional documentation was written.
Commit: 8c51ac9ddb026ca247b25b08b1d08e32b1ed58ec
https://github.com/llvm/llvm-project/commit/8c51ac9ddb026ca247b25b08b1d08e32b1ed58ec
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-select.mir
Log Message:
-----------
[RISCV][GISEL] Legalize G_SELECT for scalable vectors
Commit: 973e9dbd57bcdfcc3e0deef37d1c37fc4fbbb856
https://github.com/llvm/llvm-project/commit/973e9dbd57bcdfcc3e0deef37d1c37fc4fbbb856
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/select.mir
Log Message:
-----------
[RISCV][GISEL] Regbank select for scalable G_SELECT
Commit: 05840c8714d798c8f2873c205aeac146b4993ae5
https://github.com/llvm/llvm-project/commit/05840c8714d798c8f2873c205aeac146b4993ae5
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/select.mir
Log Message:
-----------
[RISCV][GISEL] Instruction select for scalable G_SELECT
SelectionDAG has SELECT and VSELECT
SELECT restricts the condition operand to an i1 and the true and false operands
can be vectors. The result of a SELECT has the same type as the true and
false operands.
VSELECT has a vector condition operand and the true and false operands
must be vectors. The result of a VSELECT has a vector result.
GlobalISel has G_SELECT which has condition operand that is an i1 if the
true and false operands are scalar and a vector type with i1 elements if
the true and false operands are vector.
A G_SELECT acts like a ISD::SELECT when the operands are all scalar, and
an ISD::VSELECT when the operands are are scalar. A G_SELECT cannot act
like a ISD::SELECT with an i1 condition and vector operands because the
type system.
In this patch, we would like to take advantage of the patterns written
for SELECT and VSELECT, so we mark G_SELECT equivalent to both SELECT
and VSELECT to reuse the patterns. Since we cannot write a `G_SELECT (s1),
(vector-ty), (vector-ty)`, we don't have to worry about accidently
matching the SDAG patterns of that nature.
We will probably need a way to represent an i1 condition with vector
true and false operands in the future. That can be the topic of another
patch.
Commit: 05dc5d927bc5f0eeadd277a5e31b04399415f9d0
https://github.com/llvm/llvm-project/commit/05dc5d927bc5f0eeadd277a5e31b04399415f9d0
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/fsblkcnt_t.h
A libc/include/llvm-libc-types/fsfilcnt_t.h
A libc/include/llvm-libc-types/struct_statvfs.h
A libc/include/sys/statvfs.h.def
M libc/spec/posix.td
M libc/src/sys/CMakeLists.txt
A libc/src/sys/statvfs/CMakeLists.txt
A libc/src/sys/statvfs/fstatvfs.h
A libc/src/sys/statvfs/linux/CMakeLists.txt
A libc/src/sys/statvfs/linux/fstatvfs.cpp
A libc/src/sys/statvfs/linux/statfs_utils.h
A libc/src/sys/statvfs/linux/statvfs.cpp
A libc/src/sys/statvfs/statvfs.h
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/statvfs/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
A libc/test/src/sys/statvfs/linux/statvfs_test.cpp
Log Message:
-----------
[libc] add statvfs/fstatvfs (#86169)
fixes #86449
Commit: 47681506ded30fada68f180b5e80f740bc76abcd
https://github.com/llvm/llvm-project/commit/47681506ded30fada68f180b5e80f740bc76abcd
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
Log Message:
-----------
[RISCV][GISEL] Legalize G_VSCALE
G_VSCALE should be lowered using VLENB.
Commit: a2476c99b745381380eab245fc9499a4ecf0b39e
https://github.com/llvm/llvm-project/commit/a2476c99b745381380eab245fc9499a4ecf0b39e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir
Log Message:
-----------
[RISCV][GISEL] Add regbankselect tests for G_VSCALE
Commit: c00a5ab8c4be14f63735ec61c5c9245c233cbcfc
https://github.com/llvm/llvm-project/commit/c00a5ab8c4be14f63735ec61c5c9245c233cbcfc
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir
Log Message:
-----------
[RISCV][GISEL] Add instruction select tests for G_VSCALE
Commit: 6187f271d107c11574c8d8db9d64a83095a9072c
https://github.com/llvm/llvm-project/commit/6187f271d107c11574c8d8db9d64a83095a9072c
Author: Nico Weber <thakis at chromium.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port fa3d789df15b more (tblgen restructure)
I had missed that both tblgens still both need a bunch of identical
cpp files. Let's just reintroduce the source_set() for them, even
though the CMake build removed the object library for them in favor
of duplicating the file list for some reason.
Commit: bd4086f0464cc6e3e85b57ae58bc6892e777297f
https://github.com/llvm/llvm-project/commit/bd4086f0464cc6e3e85b57ae58bc6892e777297f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim conformance to "additional predefined macro names"
This feature is listed in the C99 front matter as one of the changes to
C99, but there was no associated document with that title (or anything
close to it).
I eventually tracked this down to a new requirement in C99 that
implementations defining their own pedefined macros should not name
them with a __STDC_ prefix. Clang does not do this, but there's no
tests that would demonstrate we properly "implement" this feature. So
claiming full conformance without additional test coverage.
Commit: 3305f5a980363d7e224094bc42bcbebcf162618e
https://github.com/llvm/llvm-project/commit/3305f5a980363d7e224094bc42bcbebcf162618e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISEL] Check for legal element count in typeIsLegalBoolVec
https://github.com/llvm/llvm-project/pull/84553 added
typeIsLegalBoolVec but it was missing a check for minimum element count.
This patch adds that.
Commit: 32466e55b19586880199347744fc1b76d6b04cfb
https://github.com/llvm/llvm-project/commit/32466e55b19586880199347744fc1b76d6b04cfb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/test/C/C99/n696.c
Log Message:
-----------
Add a triple to this test
Amends d99cfa053998483e7283e91ff204fbe117345685
This should address a failure found by post commit CI:
https://lab.llvm.org/buildbot/#/builders/245/builds/22321
Commit: 3cf169ca160eaf5464503fbd93d73ee1d8597936
https://github.com/llvm/llvm-project/commit/3cf169ca160eaf5464503fbd93d73ee1d8597936
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libcxx/utils/ci/Dockerfile
Log Message:
-----------
[libc++][CI] Updates the documentation. (#85264)
The documentation mentions manually pushing Docker images to the CI. The
preferred way is to use the proper GitHub action. This updates the
documentation.
---------
Co-authored-by: Will Hawkins <whh8b at obs.cr>
Commit: ce37a7131ff33bbd04bd1893de78c1bd3a1f0897
https://github.com/llvm/llvm-project/commit/ce37a7131ff33bbd04bd1893de78c1bd3a1f0897
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
Log Message:
-----------
[RISCV] Add integer RISCVISD::SELECT_CC to canCreateUndefOrPoison and isGuaranteedNotToBeUndefOrPoison. (#84693)
Integer RISCVISD::SELECT_CC doesn't create poison. If none of the,
operands are poison, the result is not poison.
This allows ISD::FREEZE to be hoisted above RISCVISD::SELECT_CC.
Commit: edfa97a8fbd5d8a763c30b083771c679d6a51a31
https://github.com/llvm/llvm-project/commit/edfa97a8fbd5d8a763c30b083771c679d6a51a31
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A clang/test/C/C99/block-scopes.c
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim conformance to "new block scopes for selection and iteration statements"
I was unable to definitively locate a document number for this, but it
is potentially WG14 N759 based on the description in the C99 rationale
document.
We do implement the C89 and C99 scope rules for iteration and selection
statements, so claiming conformance here.
Commit: 3dcf62b5eea950153be5f2ddb4b79b3c6362148b
https://github.com/llvm/llvm-project/commit/3dcf62b5eea950153be5f2ddb4b79b3c6362148b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
Log Message:
-----------
[X86] HSW/BDW - vector splat shifts don't use Port5 when loading the shift amount
Noticed while trying to compare splat vs per-element shift perf stats for #39424
Confirmed with uops.info
Commit: bc547028dc3551dc5b78bbebd3413c0129215c59
https://github.com/llvm/llvm-project/commit/bc547028dc3551dc5b78bbebd3413c0129215c59
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test
Log Message:
-----------
[llvm-readobj,test] Test R_AARCH64_AUTH_{ABS64,RELATIVE} (#86511)
Add missing tests for AUTH relocs defined in #74874
Commit: c8d70e94c4b69e809142054e75b9725ed70418af
https://github.com/llvm/llvm-project/commit/c8d70e94c4b69e809142054e75b9725ed70418af
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Fix spelling mistakes (#86013)
Commit: 6ac54105ad5a217c0cf587824dbdffde5eba4e97
https://github.com/llvm/llvm-project/commit/6ac54105ad5a217c0cf587824dbdffde5eba4e97
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/test/tools/dxil-dis/debug-info.ll
Log Message:
-----------
[DirectX] disable experimental debuginfo iterators in debug-info test (#86538)
We'll need to address this differently long term, but for now just
revert to the old behaviour to keep this test from failing.
Fixes #85884
Commit: 9056ce88042616b431f988758fff73b82fa58a08
https://github.com/llvm/llvm-project/commit/9056ce88042616b431f988758fff73b82fa58a08
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
Log Message:
-----------
Revert "[RISCV][GISEL] Legalize G_VSCALE"
This reverts commit 47681506ded30fada68f180b5e80f740bc76abcd. It is not
consistent with SelectionDAG.
Commit: 668687f8a8ccba847e4847597d13124bd9bfdf4a
https://github.com/llvm/llvm-project/commit/668687f8a8ccba847e4847597d13124bd9bfdf4a
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
R llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
R llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir
Log Message:
-----------
Revert "[RISCV][GISEL] Add regbankselect tests for G_VSCALE"
This reverts commit a2476c99b745381380eab245fc9499a4ecf0b39e. It is not
consistent with SelectionDAG
Commit: 8b9c3b57b158beeedf69810c2a546ab350a91e57
https://github.com/llvm/llvm-project/commit/8b9c3b57b158beeedf69810c2a546ab350a91e57
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir
Log Message:
-----------
Revert "[RISCV][GISEL] Add instruction select tests for G_VSCALE"
This reverts commit c00a5ab8c4be14f63735ec61c5c9245c233cbcfc. It is not
consistent with SelectionDAG.
Commit: 4e6745cc4db309c0e1b5e41d4598f67763f4c096
https://github.com/llvm/llvm-project/commit/4e6745cc4db309c0e1b5e41d4598f67763f4c096
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Lower simple host to device data transfer (#85960)
In CUDA Fortran data transfer can be done via assignment statements
between host and device variables.
This patch introduces a `fir.cuda_data_transfer` operation that
materialized the data transfer between two memory references.
Simple transfer not involving descriptors from host to device are also
lowered in this patch. When the rhs is an expression that required an
evaluation, a temporary is created. The evaluation is done on the host
and then the transfer is initiated.
Implicit transfer when device symbol are present on the rhs is not part
of this patch. Transfer from device to host is not part of this patch.
Commit: 3e3f0c3175a8b83a8c51bef5712dbc384385db8b
https://github.com/llvm/llvm-project/commit/3e3f0c3175a8b83a8c51bef5712dbc384385db8b
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/spec/stdc.td
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/math/CMakeLists.txt
A libc/src/math/fmaximum.h
A libc/src/math/fmaximum_mag.h
A libc/src/math/fmaximum_mag_num.h
A libc/src/math/fmaximum_mag_numf.h
A libc/src/math/fmaximum_mag_numf128.h
A libc/src/math/fmaximum_mag_numl.h
A libc/src/math/fmaximum_magf.h
A libc/src/math/fmaximum_magf128.h
A libc/src/math/fmaximum_magl.h
A libc/src/math/fmaximum_num.h
A libc/src/math/fmaximum_numf.h
A libc/src/math/fmaximum_numf128.h
A libc/src/math/fmaximum_numl.h
A libc/src/math/fmaximumf.h
A libc/src/math/fmaximumf128.h
A libc/src/math/fmaximuml.h
A libc/src/math/fminimum.h
A libc/src/math/fminimum_mag.h
A libc/src/math/fminimum_mag_num.h
A libc/src/math/fminimum_mag_numf.h
A libc/src/math/fminimum_mag_numf128.h
A libc/src/math/fminimum_mag_numl.h
A libc/src/math/fminimum_magf.h
A libc/src/math/fminimum_magf128.h
A libc/src/math/fminimum_magl.h
A libc/src/math/fminimum_num.h
A libc/src/math/fminimum_numf.h
A libc/src/math/fminimum_numf128.h
A libc/src/math/fminimum_numl.h
A libc/src/math/fminimumf.h
A libc/src/math/fminimumf128.h
A libc/src/math/fminimuml.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fmaximum.cpp
A libc/src/math/generic/fmaximum_mag.cpp
A libc/src/math/generic/fmaximum_mag_num.cpp
A libc/src/math/generic/fmaximum_mag_numf.cpp
A libc/src/math/generic/fmaximum_mag_numf128.cpp
A libc/src/math/generic/fmaximum_mag_numl.cpp
A libc/src/math/generic/fmaximum_magf.cpp
A libc/src/math/generic/fmaximum_magf128.cpp
A libc/src/math/generic/fmaximum_magl.cpp
A libc/src/math/generic/fmaximum_num.cpp
A libc/src/math/generic/fmaximum_numf.cpp
A libc/src/math/generic/fmaximum_numf128.cpp
A libc/src/math/generic/fmaximum_numl.cpp
A libc/src/math/generic/fmaximumf.cpp
A libc/src/math/generic/fmaximumf128.cpp
A libc/src/math/generic/fmaximuml.cpp
A libc/src/math/generic/fminimum.cpp
A libc/src/math/generic/fminimum_mag.cpp
A libc/src/math/generic/fminimum_mag_num.cpp
A libc/src/math/generic/fminimum_mag_numf.cpp
A libc/src/math/generic/fminimum_mag_numf128.cpp
A libc/src/math/generic/fminimum_mag_numl.cpp
A libc/src/math/generic/fminimum_magf.cpp
A libc/src/math/generic/fminimum_magf128.cpp
A libc/src/math/generic/fminimum_magl.cpp
A libc/src/math/generic/fminimum_num.cpp
A libc/src/math/generic/fminimum_numf.cpp
A libc/src/math/generic/fminimum_numf128.cpp
A libc/src/math/generic/fminimum_numl.cpp
A libc/src/math/generic/fminimumf.cpp
A libc/src/math/generic/fminimumf128.cpp
A libc/src/math/generic/fminimuml.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/FMaximumMagNumTest.h
A libc/test/src/math/smoke/FMaximumMagTest.h
A libc/test/src/math/smoke/FMaximumNumTest.h
A libc/test/src/math/smoke/FMaximumTest.h
A libc/test/src/math/smoke/FMinimumMagNumTest.h
A libc/test/src/math/smoke/FMinimumMagTest.h
A libc/test/src/math/smoke/FMinimumNumTest.h
A libc/test/src/math/smoke/FMinimumTest.h
A libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_test.cpp
A libc/test/src/math/smoke/fmaximum_magf128_test.cpp
A libc/test/src/math/smoke/fmaximum_magf_test.cpp
A libc/test/src/math/smoke/fmaximum_magl_test.cpp
A libc/test/src/math/smoke/fmaximum_num_test.cpp
A libc/test/src/math/smoke/fmaximum_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_test.cpp
A libc/test/src/math/smoke/fmaximumf128_test.cpp
A libc/test/src/math/smoke/fmaximumf_test.cpp
A libc/test/src/math/smoke/fmaximuml_test.cpp
A libc/test/src/math/smoke/fminimum_mag_num_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
A libc/test/src/math/smoke/fminimum_mag_test.cpp
A libc/test/src/math/smoke/fminimum_magf128_test.cpp
A libc/test/src/math/smoke/fminimum_magf_test.cpp
A libc/test/src/math/smoke/fminimum_magl_test.cpp
A libc/test/src/math/smoke/fminimum_num_test.cpp
A libc/test/src/math/smoke/fminimum_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_numf_test.cpp
A libc/test/src/math/smoke/fminimum_numl_test.cpp
A libc/test/src/math/smoke/fminimum_test.cpp
A libc/test/src/math/smoke/fminimumf128_test.cpp
A libc/test/src/math/smoke/fminimumf_test.cpp
A libc/test/src/math/smoke/fminimuml_test.cpp
Log Message:
-----------
[libc][math][c23] add c23 floating point fmaximum and fminimum functions. (#86016)
Fixes https://github.com/llvm/llvm-project/issues/85496.
---------
Co-authored-by: Job Hernandez <h93 at protonmail.com>
Commit: 2d40f179124f874aca4cf1145fdbc42fb8fb17f3
https://github.com/llvm/llvm-project/commit/2d40f179124f874aca4cf1145fdbc42fb8fb17f3
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
A clang/test/InstallAPI/extra-exclude-headers.test
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)
InstallAPI takes a json list of headers that is typically generated from
a build system like Xcode based on a project's attributes. Sometimes,
maintainers may want to alter this for tapi input. Using e.g.
`--extra-public-headers`, users can manipulate what headers will be used
for TBD file generation.
Commit: 25bcdab47807d56ba8a06211348c5f44f030f407
https://github.com/llvm/llvm-project/commit/25bcdab47807d56ba8a06211348c5f44f030f407
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Fix indentation and 80 columns in RISCVInstrInfoZvk.td. NFC
I didn't fix all the 80 column errors just the ones in template
arguments.
Commit: f530eee4484e1b1e840238dbbd609ecac92d7c1e
https://github.com/llvm/llvm-project/commit/f530eee4484e1b1e840238dbbd609ecac92d7c1e
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix minor buildifier warnings (NFC) (#86566)
Commit: b7d8c6188986f62573b9516fe27fdd0c7df1aaf9
https://github.com/llvm/llvm-project/commit/b7d8c6188986f62573b9516fe27fdd0c7df1aaf9
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[TextAPI] Add missing include for Expected type
Commit: 540bbe15e617991f40fcf7033f0635bd3400bf5c
https://github.com/llvm/llvm-project/commit/540bbe15e617991f40fcf7033f0635bd3400bf5c
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add td_library target for OptParser.td (#86363)
This allows downstream consumers to depend on this file. Without this
target the include paths to this are mangled by bazel.
Commit: 2eb010ddce2a8e7813a8e289004102011b1138db
https://github.com/llvm/llvm-project/commit/2eb010ddce2a8e7813a8e289004102011b1138db
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/third_party_build/pfm.BUILD
Log Message:
-----------
[bazel] Restrict libpfm to linux (#86565)
This target doesn't build on macOS (even with the upstream make based
build system) so this encodes that in the build without requiring
non-linux users to disable it manually with the starlark flag. The flag
is still respected for linux users.
Commit: 6ee39fb4c180c1425d865b2f360a09aa115549d1
https://github.com/llvm/llvm-project/commit/6ee39fb4c180c1425d865b2f360a09aa115549d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Remove unused forceMergeOpRead from SchedTernary class. NFC
Ternary operations cannot have a merge op in addition to their 3 sources
so there is no need for this option.
Commit: 2d7df3167b12e3f3330a6b6e2f83715f8bbad67e
https://github.com/llvm/llvm-project/commit/2d7df3167b12e3f3330a6b6e2f83715f8bbad67e
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
R clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
R clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
R clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
R clang/test/InstallAPI/Inputs/Simple/Simple.yaml
R clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
R clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
R clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
R clang/test/InstallAPI/extra-exclude-headers.test
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
Revert "[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)"
This reverts commit b7d8c6188986f62573b9516fe27fdd0c7df1aaf9. And
This reverts commit 2d40f179124f874aca4cf1145fdbc42fb8fb17f3.
It caused a build failure i'll need to reproduce.
` error: could not convert ‘Rule’ from ‘llvm::Regex’ to ‘llvm::Expected<llvm::Regex>’`
Commit: cce18e40c0f1ca382e7b83ad2860430736dbf8c8
https://github.com/llvm/llvm-project/commit/cce18e40c0f1ca382e7b83ad2860430736dbf8c8
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M utils/bazel/third_party_build/pfm.BUILD
Log Message:
-----------
[bazel] Fix BUILD after 2eb010ddce2a8e7813a8e289004102011b1138db.
Commit: b7611370491873722e08e4ce9374312d0c936af1
https://github.com/llvm/llvm-project/commit/b7611370491873722e08e4ce9374312d0c936af1
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2b.mir
Log Message:
-----------
[AMDGPU] Use correct VGPR threshold for flagging ExcessRP regions in unified register file case (#85860)
`ST.getMaxNumVGPRs(MF)` lowers to `AMDGPUBaseInfo.cpp:getTotalNumVGPRs`
which returns 512 for gfx90a. This is subsequently limited by
`AMDGPUBaseInfo:getAddressableNumVGPRs()`, which also returns 512 for
gfx90a. The ISA states we can have a total of 512 registers, but a
maximum of only 256 of each of AGPR and VGPR (gfx90a 3.6.4).
Therefore, in unified register file case, `ST.getMaxNumVGPRs(MF)`
calculates the maximum number of combined VGPR + AGPR. But, it is
currently used as the limit for accvgpr and as the limit for archvgpr.
This patch uses it as the combined limit, and accounts for the maximum addressable arch/acc VGPRs when calculating the per RegClass limits.
It is not unreasonable to think other clients of getTotalNumVGPRs are
using it in the wrong way.
Commit: 2cad43c1ba7d9c83ae8fb809e60a57d347e09370
https://github.com/llvm/llvm-project/commit/2cad43c1ba7d9c83ae8fb809e60a57d347e09370
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Libomptarget] Factor functions out of 'Plugin' interface (#86528)
Summary:
This patch factors common functions out of the `Plugin` interface prior
to its removal in a future patch. This simply temporarily renames it to
`PluginTy` so that we could re-use `Plugin::check` internally as this
needs to be defined statically per plugin now. We can refactor this
later.
The future patch will delete `PluginTy` and `PluginTy::get` entirely.
This simply tries to minimize a few changes to make it easier to land.
Commit: 4b941ff4b4d4c2522a12298624e2847e62a3fd7e
https://github.com/llvm/llvm-project/commit/4b941ff4b4d4c2522a12298624e2847e62a3fd7e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/abd.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll
Log Message:
-----------
[RISCV] Add coverage for abdu and abds (absolute difference)
Test copied from aarch64 with minimal adaption. We likely need addition
coverage, but this is a reasonable starting point.
Commit: 07ee9bd215d35260c6a56b83ea95b6543db0dd64
https://github.com/llvm/llvm-project/commit/07ee9bd215d35260c6a56b83ea95b6543db0dd64
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
Log Message:
-----------
[RISCV] Add fixed vector coverage for sum-absolute-difference (sad) pattern
This builds on the previously added absolute difference cases, and adds
the reduction at the end. This is mostly interesting for examining
impact of extend placement when changing the abdu lowering.
Commit: 0fe0ef4d7f33d327b64b08a250be3713d89fa416
https://github.com/llvm/llvm-project/commit/0fe0ef4d7f33d327b64b08a250be3713d89fa416
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove unused tablegen class. NFC
Commit: 0a4299403e66871f88518f7399d511b72c634c1d
https://github.com/llvm/llvm-project/commit/0a4299403e66871f88518f7399d511b72c634c1d
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
Log Message:
-----------
[GlobalISel] Fold G_CTTZ if possible (#86224)
This patch tries to fold `G_CTTZ` if possible.
Commit: 5f1f9cfaa42a8dee59c9f3a354f973fd8cb003d7
https://github.com/llvm/llvm-project/commit/5f1f9cfaa42a8dee59c9f3a354f973fd8cb003d7
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][Vector] Fix an assertion on failing cast in vector-transfer-flatten-patterns (#86030)
When the result is not a vectorType, there is an assert. This patch will
do the check and bail when the result is not a VectorType.
Commit: 36713a47c8fea0732bcb798ffba4e7c5d22d19f3
https://github.com/llvm/llvm-project/commit/36713a47c8fea0732bcb798ffba4e7c5d22d19f3
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/utils/bisect-skip-count
Log Message:
-----------
[utils] Use Python3 for `bisect-skip-count` (#84979)
Commit: a9d8bf41bf9538154bcc3afcef55bdf309890c6f
https://github.com/llvm/llvm-project/commit/a9d8bf41bf9538154bcc3afcef55bdf309890c6f
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/InstallAPI/Visitor.cpp
Log Message:
-----------
[InstallAPI] Silence unused variable warning, NFC
Commit: 6646fe884c0bba531893549c5bc1b17103faef64
https://github.com/llvm/llvm-project/commit/6646fe884c0bba531893549c5bc1b17103faef64
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Compute CallStackId when deserializing IndexedAllocationInfo (#86421)
There are two ways to create in-memory instances of
IndexedAllocationInfo -- deserialization of the raw MemProf data and
that of the indexed MemProf data.
With:
commit 74799f424063a2d751e0f9ea698db1f4efd0d8b2
Author: Kazu Hirata <kazu at google.com>
Date: Sat Mar 23 19:50:15 2024 -0700
we compute CallStackId for each call stack in IndexedAllocationInfo
while deserializing the raw MemProf data.
This patch does the same while deserilizing the indexed MemProf data.
As with the patch above, this patch does not add any use of
CallStackId yet.
Commit: 7c8f7544560879dd7879657b0c0b245c00ed0158
https://github.com/llvm/llvm-project/commit/7c8f7544560879dd7879657b0c0b245c00ed0158
Author: Chris B <chris.bieneman at me.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
Log Message:
-----------
Fix failing tests after #86242 (#86572)
PR #86242 introduced a copy-paste error that caused some tests to fail
by mapping the wrong pass name to a pass. This resolves the issue and
fixes the failing tests.
Commit: 487720fc137ac7e97b15ca50ca2fc4a42430a6be
https://github.com/llvm/llvm-project/commit/487720fc137ac7e97b15ca50ca2fc4a42430a6be
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
A clang/test/InstallAPI/extra-exclude-headers.test
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
Reapply "[InstallAPI] Add --extra* and --exclude* cli options for header input (#86522)" (#86574)
Commit: d19d8e05b35221e62db76ba798995f5bc870620b
https://github.com/llvm/llvm-project/commit/d19d8e05b35221e62db76ba798995f5bc870620b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove unused Constraint template parameter from RISCVInstrInfoZvk.td. NFC
Commit: 1880e41a4cd0bdd5abec955134ddd49d2b016f89
https://github.com/llvm/llvm-project/commit/1880e41a4cd0bdd5abec955134ddd49d2b016f89
Author: Eric <eric at efcs.ca>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libcxx/utils/ci/oss-fuzz.sh
Log Message:
-----------
Fix the OSS fuzz build. (#86562)
The OSS fuzz build has been broken for a while because of changes
to the cmake configuration. This patch fixes the issues by defaulting to
libunwind as the default runtime
Commit: 9855134d079a193e5c17259f024082d6bb5396bf
https://github.com/llvm/llvm-project/commit/9855134d079a193e5c17259f024082d6bb5396bf
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[memprof] Use #ifdef EXPENSIVE_CHECKS (#86585)
This patch replaces:
#if EXPENSIVE_CHECKS
with:
#ifdef EXPENSIVE_CHECKS
to follow the existing conventions.
Commit: bce17034157fdfe4d898d30366c1eeca3442fa3d
https://github.com/llvm/llvm-project/commit/bce17034157fdfe4d898d30366c1eeca3442fa3d
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[ODS][NFC] Cast range.size() to int32_t in accumulation (#85629)
Using range.size() "as is" means we accumulate 'size_t' values into
'int32_t' variable. This may produce narrowing conversion warnings
(particularly, on MSVC). The surrounding code seems to cast <x>.size()
to 'int32_t' so following this practice seems safe enough.
Co-authored-by: Ovidiu Pintican <ovidiu.pintican at intel.com>
Commit: 930f64689c1fb487714c3836ffa43e49e46aa488
https://github.com/llvm/llvm-project/commit/930f64689c1fb487714c3836ffa43e49e46aa488
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/Progress.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Implement coalescing of disjoint progress events (#84854)
This implements coalescing of progress events using a timeout, as
discussed in the RFC on Discourse [1]. This PR consists of two commits
which, depending on the feedback, I may split up into two PRs. For now,
I think it's easier to review this as a whole.
1. The first commit introduces a new generic `Alarm` class. The class
lets you to schedule a function (callback) to be executed after a given
timeout expires. You can cancel and reset a callback before its
corresponding timeout expires. It achieves this with the help of a
worker thread that sleeps until the next timeout expires. The only
guarantee it provides is that your function is called no sooner than the
requested timeout. Because the callback is called directly from the
worker thread, a long running callback could potentially block the
worker thread. I intentionally kept the implementation as simple as
possible while addressing the needs for the `ProgressManager` use case.
If we want to rely on this somewhere else, we can reassess whether we
need to address those limitations.
2. The second commit uses the Alarm class to coalesce progress events.
To recap the Discourse discussion, when multiple progress events with
the same title execute in close succession, they get broadcast as one to
`eBroadcastBitProgressCategory`. The `ProgressManager` keeps track of
the in-flight progress events and when the refcount hits zero, the Alarm
class is used to schedule broadcasting the event. If a new progress
event comes in before the alarm fires, the alarm is reset (and the
process repeats when the new progress event ends). If no new event comes
in before the timeout expires, the progress event is broadcast.
[1]
https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717/
Commit: cb994d41c3afb2bd0b25a4c5b2ac48978bf1b23d
https://github.com/llvm/llvm-project/commit/cb994d41c3afb2bd0b25a4c5b2ac48978bf1b23d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/unittests/Interpreter/CMakeLists.txt
Log Message:
-----------
Fix build with shared libraries
/usr/bin/ld: CMakeFiles/ClangReplInterpreterTests.dir/InterpreterExtensi
onsTest.cpp.o: undefined reference to symbol '_ZN4llvm14TargetRegistry12
lookupTargetENS_9StringRefERNSt7__cxx1112basic_stringIcSt11char_traitsIc
ESaIcEEE'
/usr/bin/ld: /work/kparzysz/git/llvm.org/b/x86/lib/libLLVMMC.so.19.0git:
error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
The missing symbol is `llvm::TargetRegistry::lookupTarget`, which
interestingly enough is in MC.
Add `MC` to the list of LLVM dependencies.
Commit: 765d4c402fe2ff614a15a762bb7cefe7289663b4
https://github.com/llvm/llvm-project/commit/765d4c402fe2ff614a15a762bb7cefe7289663b4
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
Log Message:
-----------
[lldb] [ObjectFileMachO] LLVM_COV is not mapped into firmware memory (#86359)
It is possible to gather code coverage in a firmware environment, where
the __LLVM_COV segment will not be mapped in memory but does exist in
the binary, see
https://llvm.org/devmtg/2020-09/slides/PhippsAlan_EmbeddedCodeCoverage_LLVM_Conf_Talk_final.pdf
The __LLVM_COV segment in the binary happens to be at the same address
as the __DATA segment, so if lldb treats this segment as loaded, it
shadows the __DATA segment and address->symbol resolution can fail.
For these non-userland code cases, we need to mark __LLVM_COV as not a
loadable segment.
rdar://124475661
Commit: 060df78cdbbf70d5a6dfff3af1d435a5a811b886
https://github.com/llvm/llvm-project/commit/060df78cdbbf70d5a6dfff3af1d435a5a811b886
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/dot2_error.ll
A llvm/test/CodeGen/DirectX/dot3_error.ll
A llvm/test/CodeGen/DirectX/dot4_error.ll
A llvm/test/CodeGen/DirectX/fdot.ll
Log Message:
-----------
[DXIL] Add Float `Dot` Intrinsic Lowering (#86071)
Completes #83626
- `CGBuiltin.cpp` - modify `getDotProductIntrinsic` to be able to emit
`dot2`, `dot3`, and `dot4` intrinsics based on element count
- `IntrinsicsDirectX.td` - for floating point add `dot2`, `dot3`, and
`dot4` inntrinsics -`DXIL.td` add dxilop intrinsic lowering for `dot2`,
`dot3`, & `dot4`.
- `DXILOpLowering.cpp` - add vector arg flattening for dot product.
- `DXILOpBuilder.h` - modify `createDXILOpCall` to take a smallVector
instead of an iterator
- `DXILOpBuilder.cpp` - modify `createDXILOpCall` by moving the small
vector up to the calling function in `DXILOpLowering.cpp`.
- Moving one function up gives us access to the `CallInst` and
`Function` which were needed to distinguish the dot product intrinsics
and get the operands without using the iterator.
Commit: 4cea2d049f511d16cbc4605f7ecc908c851e169e
https://github.com/llvm/llvm-project/commit/4cea2d049f511d16cbc4605f7ecc908c851e169e
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M llvm/lib/Target/DirectX/DXIL.td
A llvm/test/CodeGen/DirectX/sqrt.ll
A llvm/test/CodeGen/DirectX/sqrt_error.ll
Log Message:
-----------
[HLSL][DXIL] implement `sqrt` intrinsic (#86560)
completes #86187
- fix hlsl_intrinsic to cover the correct cases
- move to using `__builtin_elementwise_sqrt`
- add lowering of `Intrinsic::sqrt` to dxilop 24.
Commit: de917dc20ece9f23eaefe5354bbc9ca194ce7555
https://github.com/llvm/llvm-project/commit/de917dc20ece9f23eaefe5354bbc9ca194ce7555
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M .github/workflows/pr-code-format.yml
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[workflow] Don't add a comment when the first run of the formatter passes (#86335)
This was inadvertently changed in
2120f574103c487787390263b3692c4b167f6bdf.
Commit: da385e82518618524d4efc56755662e982bfff68
https://github.com/llvm/llvm-project/commit/da385e82518618524d4efc56755662e982bfff68
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
[aarch64] Unguard GEPOpt from O3
This chunk of code currently runs only if the optimization mode is O3
AND the EnableGEPOpt flag is set. Given that this is the only use case
for the EnableGEPOpt flag, the guarding against O3 is kinda pointless.
IF the user wants to enable it then the flag should be sufficient.
Reviewers: TNorthover, aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/86588
Commit: 1b763f230a83a15b3d055295b2b7113c5c2647d4
https://github.com/llvm/llvm-project/commit/1b763f230a83a15b3d055295b2b7113c5c2647d4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Add secondary entry points to BAT
Provide secondary entry points for `EntryDiscriminator` call info field
in YAML profile.
Increases BAT section size to:
- large binary: 39655300 bytes (1.03x the original),
- medium binary: 3834328 bytes (0.65x),
- small binary: 924 bytes (0.64x).
Depends on: https://github.com/llvm/llvm-project/pull/76911
Test Plan:
- Updated bolt-address-translation{,-yaml}.test
- Added openssl test: https://github.com/rafaelauler/bolt-tests/pull/30
Reviewers: dcci, rafaelauler, maksfb, ayermolo
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/86218
Commit: 8e625db1539b0b8c30b41cd587a11064243da6da
https://github.com/llvm/llvm-project/commit/8e625db1539b0b8c30b41cd587a11064243da6da
Author: Eric <eric at efcs.ca>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
Log Message:
-----------
Revert "Actually disable the module generation tests." (#84527)
This reverts commit 0bbada93a559b604797fe57978f3eca5e41edaeb.
The update of Clang in the CI broke due to the new LLVM version naming.
It needs to look for the clang 18.1 package instead of 18. Since it
couldn't find 18 it used 17 as fallback. This gives ODR violations which
caused the output for the module test to be wrong. (It didn't crash
which would be a lot more obvious to debug.)
The clang-tidy selection was fixed by
https://github.com/llvm/llvm-project/pull/81362. That patch also makes
clang-19 work with clang-tidy-19 out of the box.
The time-out have not been addressed; that is a CI issue and not an
issue with this test. They run in 200-ish s so they are slow but far
below the 1500s threshold. (Due to a dependency in this test it can't be
split in multiple tests.)
Commit: 2c76e88e9eb284d17cf409851fb01f1d583bb22a
https://github.com/llvm/llvm-project/commit/2c76e88e9eb284d17cf409851fb01f1d583bb22a
Author: jimingham <jingham at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/source/Interpreter/OptionArgParser.cpp
A lldb/test/API/commands/target/modules/lookup/Makefile
A lldb/test/API/commands/target/modules/lookup/TestImageLookupPCExpression.py
A lldb/test/API/commands/target/modules/lookup/main.c
Log Message:
-----------
Add register lookup as another fallback computation for address-expressions (#85492)
The idea behind the address-expression is that it handles all the common
expressions that produce addresses. It handles actual valid expressions
that return a scalar, and it handles useful cases that the various
source languages don't support. At present, the fallback handles:
<symbol_name>{+-}<offset>
which isn't valid C but is very handy.
This patch adds handling of:
$<reg_name>
and
$<reg_name>{+-}<offset>
That's kind of pointless in C because the C expression parser handles
that expression already. But some languages don't have a straightforward
way to represent register values like this (swift) so having this
fallback is quite a quality of life improvement.
I added a test which tests that I didn't mess up either of these
fallbacks, though it doesn't test the actually handling of registers
that I added, since the expression parser for C succeeds in that case
and returns before this code gets run.
I will add a test on the swift fork for that checks that this works the
same way for a swift frame after this check.
Commit: 6708beb35792b5ccd6b2143b3396bf261acce676
https://github.com/llvm/llvm-project/commit/6708beb35792b5ccd6b2143b3396bf261acce676
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove more unneeded template parameters from RISCVInstrInfoZvk.td. NFC
Commit: 4dcb1db44f9dbfa09c220703a1b097f51d20a2a5
https://github.com/llvm/llvm-project/commit/4dcb1db44f9dbfa09c220703a1b097f51d20a2a5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/Progress.cpp
M lldb/source/Initialization/SystemInitializerCommon.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
Revert "[lldb] Implement coalescing of disjoint progress events (#84854)"
This reverts commit 930f64689c1fb487714c3836ffa43e49e46aa488 as it's
failing on the Linux bots.
Commit: 8551454313233ecc70a329de0eb0064ecb675d50
https://github.com/llvm/llvm-project/commit/8551454313233ecc70a329de0eb0064ecb675d50
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Rename $merge to $rd in Zvk* pseudoinstructions and patterns.
These instructions use the destination operand as a source, not
only as a passthru for mask/tail.
Commit: dd7151094f94bc45668cf8629f02fe6f1975d5c9
https://github.com/llvm/llvm-project/commit/dd7151094f94bc45668cf8629f02fe6f1975d5c9
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Simplify parseArmCMSEImportLib. NFC
Commit: efa54949b947edc80069d122d771c021b64c3777
https://github.com/llvm/llvm-project/commit/efa54949b947edc80069d122d771c021b64c3777
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove ', vm' from comment for instruction that doesn't have mask. NFC
Commit: bc02c0825ae3cca078654ba5f8cd373b8266492e
https://github.com/llvm/llvm-project/commit/bc02c0825ae3cca078654ba5f8cd373b8266492e
Author: Iman Hosseini <hosseini.iman at yahoo.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/docs/DataLayout.md
Log Message:
-----------
[documentation] [mlir] DataLayout.md: fix broken link to DLTI dialect (#86524)
The link to DLTI dialect was broken.
Commit: 8ebf741136c66f51053315bf4f0ef828c6f66094
https://github.com/llvm/llvm-project/commit/8ebf741136c66f51053315bf4f0ef828c6f66094
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
A flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Common/real.h
M flang/include/flang/Common/reference-wrapper.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/visit.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Decimal/decimal.h
M flang/include/flang/ISO_Fortran_binding_wrapper.h
R flang/include/flang/Runtime/api-attrs.h
M flang/include/flang/Runtime/entry-names.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/iostat.h
M flang/include/flang/Runtime/memory.h
M flang/include/flang/Runtime/type-code.h
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.cpp
M flang/runtime/buffer.h
M flang/runtime/connection.cpp
M flang/runtime/connection.h
M flang/runtime/derived.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/emit-encoded.h
M flang/runtime/environment.h
M flang/runtime/external-unit.cpp
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
M flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/iostat.cpp
M flang/runtime/lock.h
M flang/runtime/memory.cpp
M flang/runtime/namelist.cpp
M flang/runtime/namelist.h
M flang/runtime/non-tbp-dio.h
M flang/runtime/numeric-templates.h
M flang/runtime/pointer.cpp
M flang/runtime/pseudo-unit.cpp
M flang/runtime/stat.h
M flang/runtime/terminator.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/runtime/utf.cpp
M flang/runtime/utf.h
Log Message:
-----------
[flang][runtime] Prepare enabling PRINT of integer32 for device. (#86247)
This commit adds required files into the offload build closure,
which means adding RT_API_ATTRS and other markers.
The implementation does not work for CUDA yet, because of
std::variant,swap,reverse usage. These issues will be resolved
separately (e.g. by using libcudacxx header files).
Commit: f1f06f31b89683e76b87c7665c3318df37ebb6c7
https://github.com/llvm/llvm-project/commit/f1f06f31b89683e76b87c7665c3318df37ebb6c7
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Move parse files from Driver.cpp to InputFiles.cpp. NFC
Fixes: 36146d2b6be53e5e98dee3c1fce8699db9615728
When `doParseFile template defintion` in InputFiles.cpp is optimized
out, we will get a link failure. Actually, we can move the file parsing
loop from Driver.too to InputFiles.cpp and merge it with
parseArmCMSEImportLib.
Commit: b6dfaf4c291ee186481f6c1dcab03874d931c307
https://github.com/llvm/llvm-project/commit/b6dfaf4c291ee186481f6c1dcab03874d931c307
Author: jimingham <jingham at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lldb/docs/use/python-reference.rst
Log Message:
-----------
Make the correct (5 argument) form of the command definition be the primary one suggested in the docs (#86593)
This has been available for years now, so it should be safe to always
use it.
Commit: ebb326a51fec37b5a47e5702e8ea157cd4f835cd
https://github.com/llvm/llvm-project/commit/ebb326a51fec37b5a47e5702e8ea157cd4f835cd
Author: Parth Arora <quic_partaror at quicinc.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/SymbolTable.h
A lld/test/ELF/gc-sections-with-provide.s
M lld/test/ELF/linkerscript/symbolreferenced.s
Log Message:
-----------
[ELF] Fix unnecessary inclusion of unreferenced provide symbols
Previously, linker was unnecessarily including a PROVIDE symbol which
was referenced by another unused PROVIDE symbol. For example, if a
linker script contained the below code and 'not_used_sym' provide symbol
is not included, then linker was still unnecessarily including 'foo' PROVIDE
symbol because it was referenced by 'not_used_sym'. This commit fixes
this behavior.
PROVIDE(not_used_sym = foo)
PROVIDE(foo = 0x1000)
This commit fixes this behavior by using dfs-like algorithm to find
all the symbols referenced in provide expressions of included provide
symbols.
This commit also fixes the issue of unused section not being garbage-collected
if a symbol of the section is referenced by an unused PROVIDE symbol.
Closes #74771
Closes #84730
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: 4fc8df9c6afa5ddcaaab91aad87bf713c592545d
https://github.com/llvm/llvm-project/commit/4fc8df9c6afa5ddcaaab91aad87bf713c592545d
Author: Ed Maste <emaste at freebsd.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Switch FreeBSD CI job to Clang 17 (#86320)
libc++ will drop support for Clang 16 before long.
Commit: 213eda157a5ffb0985d7da56a9c78aa0c345d84d
https://github.com/llvm/llvm-project/commit/213eda157a5ffb0985d7da56a9c78aa0c345d84d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Add CallSiteInfo entries in YAMLBAT (#76896)
Attach call counters to YAML profile, covering inter-function control
flow.
Depends on: https://github.com/llvm/llvm-project/pull/86218
Test Plan:
Updated bolt/test/X86/bolt-address-translation-yaml.test
Commit: 8f86c6bf9524a5f8c9ae26a6599678008d8c9386
https://github.com/llvm/llvm-project/commit/8f86c6bf9524a5f8c9ae26a6599678008d8c9386
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp
Log Message:
-----------
compiler-rt: Fix variadic macro warnings [-Wc++20-extensions]
They began complaining since #84520.
Commit: 350bda4419e15e5d68a87667988458546fa2e0c2
https://github.com/llvm/llvm-project/commit/350bda4419e15e5d68a87667988458546fa2e0c2
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
Log Message:
-----------
AMDGPU: Rename intrinsics and remove f16/bf16 versions for load transpose (#86313)
Rename the intrinsics to close to the instruction mnemonic names:
Use global_load_tr_b64 and global_load_tr_b128 instead of
global_load_tr.
This patch also removes f16/bf16 versions of builtins/intrinsics. To
simplify the design, we should avoid enumerating all possible types in
implementing builtins. We can always use bitcast.
Commit: 366592b4eb54d807ebecee122b7dd06031c5f4f9
https://github.com/llvm/llvm-project/commit/366592b4eb54d807ebecee122b7dd06031c5f4f9
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
Log Message:
-----------
[HLSL] prevent generation of double intrinsics via the builtins (#86555)
fixes #86551
closes #86552
Thanks to #86440 and #86407 it makes more sense for us to do type checks
early via Sema to prevent the generation of invalid intrinsics.
Commit: c48aa781a31c76b27cadcd1b78022393c450824b
https://github.com/llvm/llvm-project/commit/c48aa781a31c76b27cadcd1b78022393c450824b
Author: Thomas Köppe <tkoeppe at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/Matrix.h
Log Message:
-----------
Add missing declarations of explicit template instantiations. (#86591)
Found with `-Wundefined-func-template`.
Commit: 83eb8aee4bf9d518b3a2b485640207e7717805b4
https://github.com/llvm/llvm-project/commit/83eb8aee4bf9d518b3a2b485640207e7717805b4
Author: Takuto Ikuta <tikuta at google.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
Use timeTraceAsyncProfilerBegin for Source span (#83961)
This fixes incorrect trace for https://github.com/llvm/llvm-project/issues/56554.
This shows trace like
https://ui.perfetto.dev/#!/?s=aa809778dc50f2b155b062317fa18bbe2bb2fb9175e6282add8121c7c178214e
for the case shown in https://github.com/llvm/llvm-project/issues/83236.
https://github.com/llvm/llvm-project/pull/83778 is preparing PR.
Fix #56554
Commit: 8bd1f9116aab879183f34707e6d21c7051d083b6
https://github.com/llvm/llvm-project/commit/8bd1f9116aab879183f34707e6d21c7051d083b6
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/utils/TableGen/MveEmitter.cpp
M llvm/include/llvm/IR/IRBuilder.h
Log Message:
-----------
[CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers (#67454)
To authenticate pointers, CodeGen needs access to the key and
discriminators that were used to sign the pointer. That information is
sometimes known from the context, but not always, which is why `Address`
needs to hold that information.
This patch adds methods and data members to `Address`, which will be
needed in subsequent patches to authenticate signed pointers, and uses
the newly added methods throughout CodeGen. Although this patch isn't
strictly NFC as it causes CodeGen to use different code paths in some
cases (e.g., `mergeAddressesInConditionalExpr`), it doesn't cause any
changes in functionality as it doesn't add any information needed for
authentication.
In addition to the changes mentioned above, this patch introduces class
`RawAddress`, which contains a pointer that we know is unsigned, and
adds several new functions for creating `Address` and `LValue` objects.
Commit: 6420f379268e9178f9f938cef223194ad3daae4e
https://github.com/llvm/llvm-project/commit/6420f379268e9178f9f938cef223194ad3daae4e
Author: YAMAMOTO Takashi <yamamoto at midokura.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alias.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-debuginfo.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj.ll
Log Message:
-----------
[WebAssembly] Implement an alternative translation for -wasm-enable-sjlj (#84137)
Instead of maintaining per-function-invocation malloc()'ed tables to track which functions each label belongs to, store the equivalent info in jump buffers (jmp_buf) themselves.
Also, use a less emscripten-looking ABI symbols:
```
saveSetjmp -> __wasm_setjmp
testSetjmp -> __wasm_setjmp_test
getTempRet0 -> (removed)
__wasm_longjmp -> (no change)
```
While I want to use this for WASI, it should work for emscripten as well.
An example runtime and a few tests:
https://github.com/yamt/garbage/tree/wasm-sjlj-alt2/wasm/longjmp
wasi-libc version of the runtime:
https://github.com/WebAssembly/wasi-libc/pull/483
emscripten version of the runtime:
https://github.com/emscripten-core/emscripten/pull/21502
Discussion:
https://docs.google.com/document/d/1ZvTPT36K5jjiedF8MCXbEmYjULJjI723aOAks1IdLLg/edit
Commit: 9c8dd5e6f6bd93deb95de9642632223f54a18a11
https://github.com/llvm/llvm-project/commit/9c8dd5e6f6bd93deb95de9642632223f54a18a11
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
Log Message:
-----------
[X86_64] fix SSE type error in vaarg. (#86377)
tweak the position of the ++neededSSE when Lo is NoClass and Hi is SSE.
Fix #86371.
Commit: ce73b1672a6053d5974dc2342881aac02efe2dbb
https://github.com/llvm/llvm-project/commit/ce73b1672a6053d5974dc2342881aac02efe2dbb
Author: dong jianqiang <dongjianqiang2 at huawei.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
Log Message:
-----------
[CodeExtractor] Resolving the Inconsistency of Compiled Binary Files (#86497)
When the compiler enables ALSR by default, binary inconsistency occurs
when the extractCodeRegion function is called. The reason is that the
sequence of traversing ExitBlocks containers of the SmallPtrSet type is
changed due to randomization of BasicBlock pointers.
This fixes https://github.com/llvm/llvm-project/issues/86427
Commit: 3e664ac9cd83a2f466e40d1167c08c71a719500e
https://github.com/llvm/llvm-project/commit/3e664ac9cd83a2f466e40d1167c08c71a719500e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Use inheritance instead of instantiating multiclasses inside another multiclass. NFC
Commit: 93f9fb2c825dba48db64d5f726b54bcbd4766009
https://github.com/llvm/llvm-project/commit/93f9fb2c825dba48db64d5f726b54bcbd4766009
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Rename Binary->Ternary and Unary->Binary for some cases in RISCVInstrInfoZvk.td. NFC
For instructions that use vd as an input and not just a merge, we
weren't including it in the operand count for the naming.
Commit: cc3b6f94952e1184df44c2b039d21665116151ed
https://github.com/llvm/llvm-project/commit/cc3b6f94952e1184df44c2b039d21665116151ed
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Add folding for [S|U|GreaterThan[Equal] (#85434)
Add missing constant propogation folder for [S|U]GreaterThan[Equal].
Implement additional folding when the operands are equal for all ops.
Allows for constant folding in the IndexToSPIRV pass.
Part of work #70704
Commit: a6b870db091830844431f77eb47aa30fc1d70bed
https://github.com/llvm/llvm-project/commit/a6b870db091830844431f77eb47aa30fc1d70bed
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/abd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
Log Message:
-----------
[RISCV] Enable sub(max, min) lowering for ABDS and ABDU (#86592)
We have the ISD nodes for representing signed and unsigned absolute
difference. For RISCV, we have vector min/max in the base vector
extension, so we can expand to the sub(max,min) lowering.
We could almost use the default expansion, but since fixed length
min/max are custom (not legal), the default expansion doesn't cover the
fixed vector cases. The expansion here is just a copy of the generic
code specialized to allow the custom min/max nodes to be created so they
can in turn be legalized to the _vl variants.
Existing DAG combines handle the recognition of absolute difference
idioms and conversion into the respective ISD::ABDS and ISD::ABDU nodes.
This change does have the net effect of potentially pushing a free
floating zero/sign extend after the expansion, and we don't do a great
job of folding that into later expressions. However, since in general
narrowing can reduce required work (by reducing LMUL) this seems like
the right general tradeoff.
Commit: bc31be7949a3d5382be0e15e3957fa957da9de45
https://github.com/llvm/llvm-project/commit/bc31be7949a3d5382be0e15e3957fa957da9de45
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/member-access.cpp
Log Message:
-----------
[clang][CodeComplete] Handle deref operator in getApproximateType (#86466)
This allows completing after `(*this).` in a dependent context.
Fixes https://github.com/clangd/clangd/issues/1952
Commit: 7196518f1f32d4d294bcf050790a2ba26b819645
https://github.com/llvm/llvm-project/commit/7196518f1f32d4d294bcf050790a2ba26b819645
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/test/ELF/driver.test
Log Message:
-----------
[ELF,test] Improve -r incompatibility tests
Commit: 3e046ee0c944b5a55f30b3ce0153791d91dbb134
https://github.com/llvm/llvm-project/commit/3e046ee0c944b5a55f30b3ce0153791d91dbb134
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/lto/libcall-archive.ll
Log Message:
-----------
[lld][ELF] Add `--why-extract` for bitcode libcalls (#78781)
The Wasm linker already records these and its seems useful to do so.
Commit: 08a321e1b7ffdd72154ae808821d20fe511c83b6
https://github.com/llvm/llvm-project/commit/08a321e1b7ffdd72154ae808821d20fe511c83b6
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
M mlir/test/Dialect/Complex/canonicalize.mlir
Log Message:
-----------
[mlir][complex] Canonicalize complex.div by one (#85513)
We can canonicalize the complex.div if the divisor is one (real = 1.0,
imag = 0.0) with the input number itself.
Ref: https://www.cuemath.com/numbers/division-of-complex-numbers/
Commit: 64a71147024ebcc58655adc28a17c9f17a517aed
https://github.com/llvm/llvm-project/commit/64a71147024ebcc58655adc28a17c9f17a517aed
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SMInstructions.td
Log Message:
-----------
AMDGPU: Simplify SMInstruction definitions, NFC (#86613)
Copy OtherPredicates from Pseudo to Real. Real should inherit predicates
from the corresponding Pseudo
Commit: c6a65e4b0c80245d766ae2f2f7305b5371d096f5
https://github.com/llvm/llvm-project/commit/c6a65e4b0c80245d766ae2f2f7305b5371d096f5
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/test/inlayHints.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Support go-to-definition on type hints. The protocol part (#85497)
This is in preparation for implementing go-to-definition support on type
inlay hints, switching the `label` field within the InlayHint protocol from a
string to an array of `InlayHintLabelPart`.
Commit: 817f453aa576286aaca0a6b0244e6ab08516b80c
https://github.com/llvm/llvm-project/commit/817f453aa576286aaca0a6b0244e6ab08516b80c
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Refactor getCastInstrCost to exit early (#86619)
To reduce the indentation by using early returns, this patch hoist the
return for illegal type and non vector type earlier.
It should mostly be an NFC.
Commit: 5dc0c75aabb9811e03cc8025905fed6dc2dd7bda
https://github.com/llvm/llvm-project/commit/5dc0c75aabb9811e03cc8025905fed6dc2dd7bda
Author: ShihPo Hung <shihpo.hung at sifive.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Fix missing return in the end of function
Commit: 5c663aa9ae4656c46d09914994859118759b426b
https://github.com/llvm/llvm-project/commit/5c663aa9ae4656c46d09914994859118759b426b
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
Log Message:
-----------
[libc++] <experimental/simd> Reduce types for template parameter U in tests (#83781)
Commit: 6ff61914a1ef2c05702ba73cf31ffdeed59c1740
https://github.com/llvm/llvm-project/commit/6ff61914a1ef2c05702ba73cf31ffdeed59c1740
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/aarch64-ptrauth.c
Log Message:
-----------
[Driver] Reject -fptrauth-intrinsics on non-AArch64 targets
And add a driver test missing from the original patch #65996.
Commit: 6a6f9bf38e65ec45b32da4b578e2830341a9b364
https://github.com/llvm/llvm-project/commit/6a6f9bf38e65ec45b32da4b578e2830341a9b364
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/AST/APValue.cpp
Log Message:
-----------
[clang] Fix assertion failure when printing atomic apvalues (#85259)
When printing an `_Atomic(some struct type)`, we would later run into an
assertion because we do a `Ty->castAs<RecordType>()`, which doesn't work
with an `AtomicType`.
Commit: 14c30189fb8782535ac9a5a52160e3fc62e7e78c
https://github.com/llvm/llvm-project/commit/14c30189fb8782535ac9a5a52160e3fc62e7e78c
Author: Bevin Hansson <59652494+bevin-hansson at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptoui129.ll
Log Message:
-----------
[ExpandLargeFpConvert] Fix incorrect values in fp-to-int conversion. (#86514)
The IR for a double-to-i129 conversion looks like this in one of the
blocks in compiler-rt:
%cmp5.i = icmp ult i16 %3, -129, !dbg !24
But in ExpandLargeFpConvert, it looks like:
%13 = icmp ult i129 %12, 4294967167, !dbg !19
ExpandLargeFpConvert is wrong; the value should have been
signed before negating, but instead we get a very large
unsigned value. Another value in the same pass also has this
issue.
Commit: 4d315ff382de912e5129b417c997116851088d4b
https://github.com/llvm/llvm-project/commit/4d315ff382de912e5129b417c997116851088d4b
Author: David Green <david.green at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
Log Message:
-----------
[GlobalISel] Add CTLZ known bits. (#86436)
Replicated from SDAG.
Commit: eb70b485a91361eee83d3744d1bd3e4c3a23692f
https://github.com/llvm/llvm-project/commit/eb70b485a91361eee83d3744d1bd3e4c3a23692f
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Export more headers by a single target only. (#86637)
Ideally, header files should be used by only one target, but this is
hard because CMake is less strict with headers (no layering check). But
even with bazel, headers should only be exported once in the `hdrs`
attribute. Other targets may use them in the `srcs` attribute to avoid
circular dependencies.
Commit: 3f8431ec66ffcfaf1bd864261f425b12ab1b59b8
https://github.com/llvm/llvm-project/commit/3f8431ec66ffcfaf1bd864261f425b12ab1b59b8
Author: XChy <xxs_chy at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/ADT/SCCIterator.h
Log Message:
-----------
[SCCIterator] Union MST node by rank correctly (#86389)
Fixes #85975
Commit: 4fa736ba41fce885047bd5a242230b216ea85c70
https://github.com/llvm/llvm-project/commit/4fa736ba41fce885047bd5a242230b216ea85c70
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/Basic/SyncScope.h
Log Message:
-----------
[Clang] NFC Silence compiler warning spam (#86532)
This non-functional change eliminates the compiler warning
```
/repo/llvm-project/clang/include/clang/Basic/SyncScope.h: In member function ‘virtual bool clang::AtomicScopeGenericModel::isValid(unsigned int) const’:
/repo/llvm-project/clang/include/clang/Basic/SyncScope.h:255:14: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
return S >= static_cast<unsigned>(System) &&
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
which was appearing repeatedly, as this header is included into very
many source files (through various chains of 6-7 header files).
Commit: fbc247367a86e8a711584801586ec9616268d889
https://github.com/llvm/llvm-project/commit/fbc247367a86e8a711584801586ec9616268d889
Author: David Green <david.green at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/shift.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalization for small anyext/sext/zext (#86438)
Similar to #85625, some of the codegen is still far from optimal but
this helps fix quite a few fallback cases.
Commit: 256343a0e919bc09f65a8ee26751b561fa2dbfc1
https://github.com/llvm/llvm-project/commit/256343a0e919bc09f65a8ee26751b561fa2dbfc1
Author: Thomas Symalla <5754458+tsymalla at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/schedule-addrspaces.ll
M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
Log Message:
-----------
Revert "Update amdgpu_gfx functions to use s0-s3 for inreg SGPR arguments on targets using scratch instructions for stack #78226" (#86273)
Reverts llvm/llvm-project#81394
This reverts commit 3ac243bc0d7922d083af2cf025247b5698556062.
It is not handling RSrc registers s0-s3 correctly. This leads to a
broken test, where it expects s0-s3 as function argument and uses it as
RSrc register as well.
We need to re-visit the patch, but apparently we only want to have s0-s3
as
argument registers if we don't need them as RSrc registers.
Commit: 77cbc9bf601861ed92e36f7833422e31c22dd159
https://github.com/llvm/llvm-project/commit/77cbc9bf601861ed92e36f7833422e31c22dd159
Author: Victor Perez <victor.perez at codeplay.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
Log Message:
-----------
[MLIR][LLVM] Add `llvm.experimental.constrained.fptrunc` operation (#86260)
Add operation mapping to the LLVM
`llvm.experimental.constrained.fptrunc.*` intrinsic.
The new operation implements the new
`LLVM::FPExceptionBehaviorOpInterface` and
`LLVM::RoundingModeOpInterface` interfaces.
---------
Signed-off-by: Victor Perez <victor.perez at codeplay.com>
Commit: c7198e0af34fc94722876d61af6e65758c316af5
https://github.com/llvm/llvm-project/commit/c7198e0af34fc94722876d61af6e65758c316af5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
Log Message:
-----------
[DAG] Fold insert_subvector(N0, extract_subvector(N0, N2), N2) --> N0 (#86487)
Handle the case where we've ended up inserting back into the source vector we extracted the subvector from.
Commit: d06ba376833553f38b5cbc606e479ed7936e5f5b
https://github.com/llvm/llvm-project/commit/d06ba376833553f38b5cbc606e479ed7936e5f5b
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
A llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
A llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
M llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
M llvm/test/CodeGen/SPIRV/assume.ll
M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
M llvm/test/CodeGen/SPIRV/expect.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_arbitrary_precision_integers.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative1.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative2.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative3.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative4.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_no_integer_wrap_decoration.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
A llvm/test/CodeGen/SPIRV/extensions/both-allowed-disallowed-extension-error.ll
A llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
A llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions.ll
A llvm/test/CodeGen/SPIRV/extensions/invalid-extension-list-format.ll
A llvm/test/CodeGen/SPIRV/extensions/unknown-extension-name.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/add.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/and.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fadd.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmaximum.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fminimum.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmul.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/mul.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/or.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/xor.ll
M llvm/test/CodeGen/SPIRV/transcoding/NoSignedUnsignedWrap.ll
Log Message:
-----------
[SPIR-V] Support extension toggling and enabling all (#85503)
Commit: f5e1cd5625bccef71b7c914b39fcc5d547ebb610
https://github.com/llvm/llvm-project/commit/f5e1cd5625bccef71b7c914b39fcc5d547ebb610
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
Log Message:
-----------
[SPIR-V] Extend SPIRVUsage.rst document (#84744)
Commit: 5d7e7abc82ec87fe0cca3bc2afe67b70be5d0151
https://github.com/llvm/llvm-project/commit/5d7e7abc82ec87fe0cca3bc2afe67b70be5d0151
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 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-avx512bwvl.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s
Log Message:
-----------
[X86] ICX - vector XMM splat use Port 1 or 5 when boradcasting the shift amount
Noticed while trying to compare splat vs per-element shift perf stats for #39424
Confirmed with uops.info
Commit: 5fc619b5ee227ab4d22319dad8d2ba6fc1660091
https://github.com/llvm/llvm-project/commit/5fc619b5ee227ab4d22319dad8d2ba6fc1660091
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/avgceilu.ll
Log Message:
-----------
[DAG] Update ISD::AVG folds to use hasOperation to allow Custom matching prior to legalization
Fixes issue where AVX1 targets weren't matching 256-bit AVGCEILU cases.
Commit: 5b544b511c7133fcb26a5c563b746a4baefb38d6
https://github.com/llvm/llvm-project/commit/5b544b511c7133fcb26a5c563b746a4baefb38d6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/ctpop.mir
Log Message:
-----------
[Mips] ctpop.mir - regenerate checks to improve codegen diff in #86505
Commit: f01377d8ebcb1f52fe75a236cdf34f1b8b1e99fb
https://github.com/llvm/llvm-project/commit/f01377d8ebcb1f52fe75a236cdf34f1b8b1e99fb
Author: Nazım Can Altınova <canaltinova at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
A compiler-rt/test/tsan/signal_in_mutex_lock.cpp
Log Message:
-----------
[tsan] Mark `pthread_*_lock` functions as blocking (#84162)
Fixes #83561.
When a thread is blocked on a mutex and we send an async signal to that
mutex, it never arrives because tsan thinks that `pthread_mutex_lock` is
not a blocking function. This patch marks `pthread_*_lock` functions as
blocking so we can successfully deliver async signals like `SIGPROF`
when the thread is blocked on them.
See the issue also for more details. I also added a test, which is a
simplified version of the compiler explorer example I posted in the
issue.
Please let me know if you have any other ideas or things to improve!
Happy to work on them.
Also I filed #83844 which is more tricky because we don't have a libc
wrapper for `SYS_futex`. I'm not sure how to intercept this yet. Please
let me know if you have ideas on that as well. Thanks!
Commit: fe97a6148ebce0091c03abd12abd814cb55afe24
https://github.com/llvm/llvm-project/commit/fe97a6148ebce0091c03abd12abd814cb55afe24
Author: Nazım Can Altınova <canaltinova at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/include/sanitizer/linux_syscall_hooks.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
A compiler-rt/test/tsan/signal_in_futex_wait.cpp
Log Message:
-----------
[tsan] Add callbacks for futex syscalls and mark them as blocking on tsan (#86537)
Fixes #83844.
This PR adds callbacks to mark futex syscalls as blocking. Unfortunately
we didn't have a mechanism before to mark syscalls as a blocking call,
so I had to implement it, but it mostly reuses the `BlockingCall`
implementation
[here](https://github.com/llvm/llvm-project/blob/96819daa3d095cf9f662e0229dc82eaaa25480e8/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp#L362-L380).
The issue includes some information but this issue was discovered
because Rust uses futexes directly. So most likely we need to update
Rust as well to use these callbacks.
Also see the latest comments in #85188 for some context.
I also sent another PR #84162 to mark `pthread_*_lock` calls as
blocking.
Commit: da9ac43433ace54b262cd8552a9fafac21186381
https://github.com/llvm/llvm-project/commit/da9ac43433ace54b262cd8552a9fafac21186381
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/Sema/attr-target-clones-aarch64.c
Log Message:
-----------
[FMV] Allow mixing target_version with target_clones. (#86493)
The latest ACLE allows it and further clarifies the following
in regards to the combination of the two attributes:
"If the `default` matches with another explicitly provided
version in the same translation unit, then the compiler can
emit only one function instead of the two. The explicitly
provided version shall be preferred."
("default" refers to the default clone here)
https://github.com/ARM-software/acle/pull/310
Commit: f914e8e77c4703814e2f2dcef1d4569b17837c92
https://github.com/llvm/llvm-project/commit/f914e8e77c4703814e2f2dcef1d4569b17837c92
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
A llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
Log Message:
-----------
[AArch64][SME] Add coalescer barrier for args/results in locally streaming functions. (#85388)
Similar to how we protected FP/fixed-vector arguments and results from
calls, we should do the same for arguments/results from locally-streaming
functions such that those are not spilled/filled as ZPR registers.
This may cause a small regression (additional spills/fills), which is
addressed by #85386.
Commit: bfb12ef33a90bd20c3a76094ef4393a8defbb712
https://github.com/llvm/llvm-project/commit/bfb12ef33a90bd20c3a76094ef4393a8defbb712
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lld/COFF/DriverUtils.cpp
M lld/test/COFF/export.test
Log Message:
-----------
[LLD][COFF] Allow additional attributes in forwarding exports. (#86535)
Testing with MSVC link.exe showed that it respects such options, while
LLD currently discards them.
Commit: 4dc322524871df02578a05b260dacf28ff130c02
https://github.com/llvm/llvm-project/commit/4dc322524871df02578a05b260dacf28ff130c02
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Libomptarget] Replace global `PluginTy::get` interface with references (#86595)
Summary:
We have a plugin singleton that implements the Plugin interface. This
then spawns separate device and kernels. Previously when these needed to
reach into the global singleton they would use the `PluginTy::get`
routine to get access to it. In the future we will move away from this
as the lifetime of the plugin will be handled by `libomptarget`
directly. This patch removes uses of this inside of the plugin
implementaion themselves by simply keeping a reference to the plugin
inside of the device.
The external `__tgt_rtl` functions still use the global method, but will
be removed later.
Commit: 603db7425ffa96915854f425b027cc8403ab333d
https://github.com/llvm/llvm-project/commit/603db7425ffa96915854f425b027cc8403ab333d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/export.test
Log Message:
-----------
[LLD][COFF] Preserve all attributes from forwarding exports from parsed .def files. (#86564)
It's similar to #86535, but for export specified in .def files.
Commit: 19ca79e8671439338b429982c457304c70eca701
https://github.com/llvm/llvm-project/commit/19ca79e8671439338b429982c457304c70eca701
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/canonicalize.h
A libc/src/math/canonicalizef.h
A libc/src/math/canonicalizef128.h
A libc/src/math/canonicalizel.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/canonicalize.cpp
A libc/src/math/generic/canonicalizef.cpp
A libc/src/math/generic/canonicalizef128.cpp
A libc/src/math/generic/canonicalizel.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/CanonicalizeTest.h
A libc/test/src/math/smoke/canonicalize_test.cpp
A libc/test/src/math/smoke/canonicalizef128_test.cpp
A libc/test/src/math/smoke/canonicalizef_test.cpp
A libc/test/src/math/smoke/canonicalizel_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Implement canonicalize functions (#85940)
Fixes: #85286
Commit: 59e052568e7d46cc0489269e3c76f53bb21941f5
https://github.com/llvm/llvm-project/commit/59e052568e7d46cc0489269e3c76f53bb21941f5
Author: ycdtosa <ycdtosa at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/warn-exit-time-destructors.cpp
Log Message:
-----------
[[clang::always_destroy]] attribute silences warn-exit-time-destructor (#86486)
This attribute tells the compiler that the variable must have its exit-time
destructor run, so it makes sense that it would silence the warning telling
users that an exit-time destructor is required.
Fixes https://github.com/llvm/llvm-project/issues/68686
Commit: feebcd65fb7e0534f5219e05432a05e45aa8cd2a
https://github.com/llvm/llvm-project/commit/feebcd65fb7e0534f5219e05432a05e45aa8cd2a
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in SemaDecl.cpp (NFC)
llvm-project/clang/lib/Sema/SemaDecl.cpp:11653:20:
error: unused variable 'OldMVKind' [-Werror,-Wunused-variable]
MultiVersionKind OldMVKind = OldFD->getMultiVersionKind();
^
1 error generated.
Commit: caa225825075237cd6b15757476dd1999bec290b
https://github.com/llvm/llvm-project/commit/caa225825075237cd6b15757476dd1999bec290b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Log Message:
-----------
[LLVM] Remove nuw neg (#86295)
This patch removes APIs that creating NUW neg. It is a trivial case
because `sub nuw 0, X` always gets simplified into zero.
I believe there is no optimization opportunities in the real-world
applications that we can take advantage of the nuw flag.
Motivated by
https://github.com/llvm/llvm-project/pull/84792#discussion_r1524891134.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=da7b7478b7cbb32c09d760f6b8d0e67901e0d533&stat=instructions:u
Commit: 3a2c70b3713a856ea416d92abdddb7893fca308b
https://github.com/llvm/llvm-project/commit/3a2c70b3713a856ea416d92abdddb7893fca308b
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
Log Message:
-----------
Fix printing of templated records. (#86339)
Fixed the printing of templated argument list and added test case.
Commit: 93d33a1355438638232e66991f3a90c376c61fea
https://github.com/llvm/llvm-project/commit/93d33a1355438638232e66991f3a90c376c61fea
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
[PatternMatch] Refactor `m_SpecificInt` to avoid constructing APInt. NFC. (#86259)
This patch passes APInt by const reference in m_SpecificInt instead of
by value. Specifically, it refactors `m_SpecificInt(uint64_t V)` to
avoid APInt construction and dangling reference.
I believe it is safe to pass the APInt by const reference into
`m_SpecificInt` even if it is a temporary.
See also https://en.cppreference.com/w/cpp/language/lifetime
> All temporary objects are destroyed as the last step in evaluating the
[full-expression](https://en.cppreference.com/w/cpp/language/expressions#Full-expressions)
that (lexically) contains the point where they were created
Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=d1f182c895728d89c5c3d198b133e212a5d9d4a3&to=7edf459b95ab2be33b70ec67faf87b3b8cc84f09&stat=instructions:u
Commit: 308ed0233a3da5b3a7d646808c6470ac30870603
https://github.com/llvm/llvm-project/commit/308ed0233a3da5b3a7d646808c6470ac30870603
Author: Il-Capitano <52455591+Il-Capitano at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
M llvm/test/CodeGen/AArch64/arm64-anyregcc.ll
M llvm/test/CodeGen/AArch64/arm64-patchpoint.ll
Log Message:
-----------
[Intrinsics] Make `patchpoint.i64` generic on its return type (#85911)
Currently patchpoints can only have two result types, `void` and `i64`.
This limits the result to general purpose registers.
This patch makes `patchpoint.i64` an overloadable intrinsic, allowing
result values that can fit in a single register (e.g. integers,
pointers, floats).
Commit: dfde6e89ecc10b1f1eebdb0e409ef1a084030a6c
https://github.com/llvm/llvm-project/commit/dfde6e89ecc10b1f1eebdb0e409ef1a084030a6c
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libcxx/test/std/utilities/variant/variant.get/get_if_index.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_if_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_index.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.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 libcxx/test/support/variant_test_helpers.h
Log Message:
-----------
[libc++][test] Remove tests that testing std::variant<T&> (#84222)
Fixes #83600
Commit: 54ca1e2c041a3780eca83549d7f7137581d32abb
https://github.com/llvm/llvm-project/commit/54ca1e2c041a3780eca83549d7f7137581d32abb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
Log Message:
-----------
[SLP]Fix PR80027: include initial trunc nodes to the demoted values.
Need to include initial sext/zext/trunc nodes to the list of the demoted
root values to correctly calculate the cost and handle the
vectorization.
Commit: 47f4a07a2fe8db0ccf63dc1bf6f991124d8eff81
https://github.com/llvm/llvm-project/commit/47f4a07a2fe8db0ccf63dc1bf6f991124d8eff81
Author: David Green <david.green at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
Log Message:
-----------
[GlobalISel] Add Knownbits for G_LOAD/ZEXTLOAD/SEXTLOAD with range metadata (#86431)
Similar to #80829 for GlobalISel.
Commit: a51d13f5db08e36e0b734bc2aa9b5c4fea9cf116
https://github.com/llvm/llvm-project/commit/a51d13f5db08e36e0b734bc2aa9b5c4fea9cf116
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Common/idioms.h
M flang/lib/Evaluate/constant.cpp
Log Message:
-----------
[Flang] Add new CHECK_MSG() function (#86576)
Added a new variant of the CHECK() function that takes a custom message
as a parameter. This is useful for more meaninful error messages when
the compiler is expected to crash.
Fixes #78931
Commit: ca594fedeb3d6bb8ee0f80c92b0089147fb5e757
https://github.com/llvm/llvm-project/commit/ca594fedeb3d6bb8ee0f80c92b0089147fb5e757
Author: Tim Creech <timothy.m.creech at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/docs/UsersManual.rst
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
Update documentation and release notes for llvm-profgen COFF support (#84864)
This change:
- Updates the existing Clang User's Manual section on SPGO so that it
describes how to use llvm-profgen to perform SPGO on Windows. This is
new functionality implemented in #83972.
- Fixes a minor typo in the existing llvm-profgen invocation example.
- Adds an LLVM release note on this new functionality in llvm-profgen.
Commit: 89ef3130cf16f1965475396ad3a50760558cc08a
https://github.com/llvm/llvm-project/commit/89ef3130cf16f1965475396ad3a50760558cc08a
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Create a separate target for BytecodeOpInterface. (#86655)
This matches the CMake targets and reduces the number of headers that
need to be included in multiple targets.
Commit: 2e38c50e5c53d66d4968fbd47b78e71a220a28ca
https://github.com/llvm/llvm-project/commit/2e38c50e5c53d66d4968fbd47b78e71a220a28ca
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/AST/DeclContextInternals.h
M clang/lib/Interpreter/IncrementalParser.cpp
Log Message:
-----------
[clang-repl] Fix remove invalidates iterators in CleanUpPTU() (#85378)
Using remove() on DeclContext::lookup_result list invalidates iterators.
This assertion failure was one (fortunate) symptom:
```
clang/include/clang/AST/DeclBase.h:1337: reference clang::DeclListNode::iterator::operator*() const: Assertion `Ptr && "dereferencing end() iterator"' failed.
```
Commit: b3117564508ce53b3af408bf2b8ab643a6030bc4
https://github.com/llvm/llvm-project/commit/b3117564508ce53b3af408bf2b8ab643a6030bc4
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/utils/TableGen/MveEmitter.cpp
M llvm/include/llvm/IR/IRBuilder.h
Log Message:
-----------
Revert "[CodeGen][arm64e] Add methods and data members to Address, which are needed to authenticate signed pointers (#67454)" (#86674)
This reverts commit 8bd1f9116aab879183f34707e6d21c7051d083b6.
It appears that the commit broke msan bots.
Commit: 507e59aa757bdc690ebc0bf69c6d3c84061061a8
https://github.com/llvm/llvm-project/commit/507e59aa757bdc690ebc0bf69c6d3c84061061a8
Author: Julian Nagele <mail at jnagele.net>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
A llvm/test/Verifier/tbaa-struct.ll
Log Message:
-----------
[TBAA] Tests for invalid tbaa.struct metadata (#86167)
These tests show invalid tbaa.struct metadata that is currently accepted
in preparation for a change to the IR Verifier that will then reject it.
PR: https://github.com/llvm/llvm-project/pull/86167
Commit: 26d896f3688a8bff6faf85ccce557e320108997f
https://github.com/llvm/llvm-project/commit/26d896f3688a8bff6faf85ccce557e320108997f
Author: Rafael Ubal <rubal at mathworks.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
Fixes in 'tosa.reshape' lowering and folder (#85798)
- Revamped lowering conversion pattern for `tosa.reshape` to handle previously unsupported combinations of dynamic dimensions in input and output tensors. The lowering strategy continues to rely on pairs `tensor.collapse_shape` + `tensor.expand_shape`, which allow for downstream fusion with surrounding `linalg.generic` ops.
- Fixed bug in canonicalization pattern `ReshapeOp::fold()` in `TosaCanonicalizations.cpp`. The input and result types being equal is not a sufficient condition for folding. If there is more than 1 dynamic dimension in the input and result types, a productive reshape could still occur.
- This work exposed the fact that bufferization does not properly handle a `tensor.collapse_shape` op producing a 0D tensor from a dynamically shaped one due to a limitation in `memref.collapse_shape`. While the proper way to address this would involve releasing the `memref.collapse_shape` restriction and verifying correct bufferization, this is left as possible future work. For now, this scenario is avoided by casting the `tosa.reshape` input tensor to a static shape if necessary (see `inferReshapeInputType()`.
- An extended set of tests are intended to cover relevant conversion paths. Tests are named using pattern `test_reshape_<rank>_{up|down|same}_{s2s|s2d|d2s|d2d}_{explicit|auto}[_empty][_identity]`, where:
- `<rank>` is the input rank (e.g., 3d, 6d)
- `{up|down|same}` indicates whether the reshape increases, decreases, or retains the input rank.
- `{s2s|s2d|d2s|d2d}` indicates whether reshape converts a statically shaped input to a statically shaped result (`s2s`), a statically shaped input to a dynamically shaped result (`s2d`), etc.
- `{explicit|auto}` is used to indicate that all values in the `new_shape` attribute are >=0 (`explicit`) or that a -1 placeholder value is used (`auto`).
- `empty` is used to indicate that `new_shape` includes a component set to 0.
- `identity` is used when the input and result shapes are the same.
Commit: 06bb8c9f202e37f215b26ca0dd9b2d8adaf5a83d
https://github.com/llvm/llvm-project/commit/06bb8c9f202e37f215b26ca0dd9b2d8adaf5a83d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopLoadElim/versioning-scev-invalidation.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-opaque-pointers.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
Log Message:
-----------
[VPlan] Explicitly handle scalar pointer inductions. (#83068)
Add a new PtrAdd opcode to VPInstruction that corresponds to
IRBuilder::CreatePtrAdd, which creates a GEP with source element type
i8.
This is then used to model scalarizing VPWidenPointerInductionRecipe by
introducing scalar-steps to model the index increment followed by a
PtrAdd.
Note that PtrAdd needs to be able to generate code for only the first
lane or for all lanes. This may warrant introducing a separate recipe
for scalarizing that can be created without relying on the underlying
IR.
Depends on https://github.com/llvm/llvm-project/pull/80271
PR: https://github.com/llvm/llvm-project/pull/83068
Commit: e933c05cd2cb97974cfca9544ebbdb9af349d602
https://github.com/llvm/llvm-project/commit/e933c05cd2cb97974cfca9544ebbdb9af349d602
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
Log Message:
-----------
[X86] Add fadd/fsub/fmul tests showing failure to concat operands together and perform as a wider vector
We don't want to concat fadd/fsub/fmul if both operands would need concatenating (as the fp op is usually cheaper than the concat), but if at least one operand is free to concat (i.e. constant or extracted from a wider vector), then we should try to concat the fp op.
Commit: d18bee2313ab8274fad386b1c0227316bf4238b2
https://github.com/llvm/llvm-project/commit/d18bee2313ab8274fad386b1c0227316bf4238b2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concatenate FADD/FSUB/FMUL ops if we don't increase the number of INSERT_SUBVECTOR nodes.
FADD/FSUB/FMUL are usually less port-bound than INSERT_SUBVECTOR, so only concatenate if it reduces the instruction count and doesn't introduce extra INSERT_SUBVECTOR nodes.
Commit: ecfffbfd3921fd47f3afc1d03a7518b34ec396b3
https://github.com/llvm/llvm-project/commit/ecfffbfd3921fd47f3afc1d03a7518b34ec396b3
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
R libc/src/__support/OSUtil/baremetal/quick_exit.h
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/quick_exit.h
M libc/src/__support/OSUtil/gpu/CMakeLists.txt
M libc/src/__support/OSUtil/gpu/quick_exit.cpp
R libc/src/__support/OSUtil/gpu/quick_exit.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/quick_exit.cpp
R libc/src/__support/OSUtil/linux/quick_exit.h
M libc/src/__support/OSUtil/quick_exit.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/exit.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][OSUtil] refactor quick_exit to be an object library everywhere (#85955)
The usage of __builtin_unreachable after calls to quick_exit were distressing.
If a function is properly marked [[noreturn]] then __builtin_unreachable is not
necessary.
Looking into this further, we seem to have header only implementations for CPU
targets. The inline nature of these functions is curious; we're going to exit,
it doesn't matter if we need to pay the call of a function or not. If we just
make these functions have distinct TUs rather than be header only, we can clean
up the cmake rules for quick_exit which were different between CPU and GPU.
Remove darwin support for quick_exit. This isn't being tested, and we can bring
it back when necessary.
Commit: 87519a2830eab4b634a5816f53fe773929eed531
https://github.com/llvm/llvm-project/commit/87519a2830eab4b634a5816f53fe773929eed531
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
Log Message:
-----------
[RISCV] Combine (mul (zext, zext)) -> (zext (mul (zext, zext))) (#86465)
Building on #86248, we can also narrow the width of a mul of zexts.
This is specifically legal because on RVV we always extend to the next
power of 2 width, and multiplying two N bit integers produces a maximum
value of 2\*N bits.
So as long as we keep an inner zext of 2\*N, we will have enough space
for the multiply and won't overflow.
Alive2 proof: https://alive2.llvm.org/ce/z/XteYyb
Commit: 4998587e6f5f66d464ac22ad4c11fe9afd2d56ab
https://github.com/llvm/llvm-project/commit/4998587e6f5f66d464ac22ad4c11fe9afd2d56ab
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
Log Message:
-----------
[Flang] Support for passing procedure pointer, reference to a function that returns a procedure pointer to structure constructor. (#86533)
This PR fixes `not yet implemented: procedure pointer component in
structure constructor` as shown in the following test case.
```
MODULE M
TYPE :: DT
PROCEDURE(Fun), POINTER, NOPASS :: pp1
END TYPE
CONTAINS
INTEGER FUNCTION Fun(Arg)
INTEGER :: Arg
Fun = Arg
END FUNCTION
END MODULE
PROGRAM MAIN
USE M
IMPLICIT NONE
TYPE (DT) :: v2
PROCEDURE(FUN), POINTER :: pp2
v2 = DT(pp2)
v2 = DT(bar())
CONTAINS
FUNCTION BAR() RESULT(res)
PROCEDURE(FUN), POINTER :: res
END
END
```
Commit: 6e261d9c37a49b19552b439712703968ea88ee2a
https://github.com/llvm/llvm-project/commit/6e261d9c37a49b19552b439712703968ea88ee2a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
A flang/test/Parser/unrecognized-dir.f90
Log Message:
-----------
[flang] Accept more unrecognized !DIR$ compiler directives (#85829)
When encountering an unparsable !DIR$ compiler directive line, accept it
as a whole source line and emit a warning that it is unrecognizable.
Fixes https://github.com/llvm/llvm-project/issues/59107,
https://github.com/llvm/llvm-project/issues/82212, and
https://github.com/llvm/llvm-project/issues/82654.
Commit: 6d579cd1d91cdde5adfa455bda7903e737e9d5cf
https://github.com/llvm/llvm-project/commit/6d579cd1d91cdde5adfa455bda7903e737e9d5cf
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/InstallAPI/DylibVerifier.cpp
Log Message:
-----------
[InstallAPI] Add missing license header to file, NFC
Commit: f50f0caf87d762ca1c4a0122bd29d2fc9c667113
https://github.com/llvm/llvm-project/commit/f50f0caf87d762ca1c4a0122bd29d2fc9c667113
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve61.f90
Log Message:
-----------
[flang] Fix crash in name resolution (#85835)
ConvertToObjectEntity() returns true for use- and host-associated object
symbols, too. Ensure in this case that the symbol really is a
non-associated object.
Fixes https://github.com/llvm/llvm-project/issues/85776.
Commit: 2f63718f8567413a1c596bda803663eb58d6da5a
https://github.com/llvm/llvm-project/commit/2f63718f8567413a1c596bda803663eb58d6da5a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lldb/source/Core/Module.cpp
Log Message:
-----------
[lldb] Don't clear a Module's UnwindTable when adding a SymbolFile (#86603)
Fixing a crash in lldb when `symbols.auto-download` setting is enabled.
When doing a backtrace, this feature has lldb search for a SymbolFile
for stack frames when we are backtracing, and add them either
synchoronously or asynchronously, depending on the specific setting
used.
Module::SetSymbolFileFileSpec clears the Module's UnwindTable, once we
find a new SymbolFile. We may be adding a source of unwind information
that we did not have when lldb was working only with the executable
binary.
What happens in practice is that we're using a reference to the Module's
UnwindTable, and then the other thread getting the SymbolFile clears it
and now the first thread is referring to freed memory and we can crash.
When built with address sanitizer, it crashes much more reliably.
Given that unwind information used for exception handling -- eh_frame,
compact unwind -- is present in executable binaries, the only thing
we're likely to *add* would be DWARF's `debug_frame` if that was also
available. The actual value of re-creating the UnwindTable when we have
added a SymbolFile is not large.
I also tried fixing this by changing the Module to have a shared_ptr to
the UnwindTable, so we could have two different UnwindTable's in use
simultaneously for a brief period. This would be fine TODAY, but it
introduces a very subtle bug that someone will have a heck of a time
figuring out in the future.
In the end, I believe the safest approach is to sacrifice the possible
marginal gain of reconstructing the UnwindTable once a SymbolFile has
been added, to sidestep this whole problem area.
Also, in `Module::GetUnwindTable()`, call `DownloadSymbolFileAsync`
before we create the UnwindTable for the first time, in case the symbol
file is fetched synchronously, we will have it for that possible
marginal gain.
Commit: 44d037cc258dcf179d2c48c93996bb406ecd0fae
https://github.com/llvm/llvm-project/commit/44d037cc258dcf179d2c48c93996bb406ecd0fae
Author: Abhin P Jose <abhinjose at live.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/DiagnosticHandler.h
M llvm/unittests/Linker/LinkModulesTest.cpp
M llvm/unittests/Support/ThreadPool.cpp
Log Message:
-----------
Change type of DiagnosticHandlerTy (#86504)
Changing type of DiagnosticHandlerTy due to adding
-Wcast-function-type-mismatch to -Wextra
group(https://github.com/llvm/llvm-project/pull/86131#issuecomment-2018014179).
Changed the reference argument DiagnosticInfo to a pointer and edited
the test cases failing due to this change. Added another small change
where Gtest api was throwing an warning due varargs argument not being
passed.
Commit: 375ddd677c08fa32ed188ba20097c1cb0949d846
https://github.com/llvm/llvm-project/commit/375ddd677c08fa32ed188ba20097c1cb0949d846
Author: Alfie Richards <alfie.richards at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/load-store-acquire-release-v8-thumb.s
M llvm/test/MC/ARM/load-store-acquire-release-v8.s
Log Message:
-----------
[ARM][MC] Add GNU Alias for ldrexd, ldaexd, stlexd, and strexd instructions (#86507)
These aliases were supported previously there was a regression at some point.
This adds back the alternate forms and tidies up this section of code a little.
See https://github.com/llvm/llvm-project/pull/83436#issuecomment-2010213714 for the initial report regarding this change.
Commit: 348f9e73d7175f67750dc40b15cf1fc888bf60b5
https://github.com/llvm/llvm-project/commit/348f9e73d7175f67750dc40b15cf1fc888bf60b5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
Log Message:
-----------
[lldb] Fix warning: comparison of unsigned expression in >= 0 is always true
lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp:1195:15: warning:
comparison of unsigned expression in ‘>= 0’ is always true
1195 | if (weekday >= 0 && weekday < 7)
| ~~~~~~~~^~~~
Commit: 3140d138e4ae9bba35dd23ce2eb0d1e088596f0a
https://github.com/llvm/llvm-project/commit/3140d138e4ae9bba35dd23ce2eb0d1e088596f0a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/extractelement-load.ll
Log Message:
-----------
[X86] extractelement-load.ll - use X86 instead of X32 check prefix. NFC
X32 should be used for gnux32 triples
Commit: c8b85add2ec1916f3aa5139dfd258e42a946a468
https://github.com/llvm/llvm-project/commit/c8b85add2ec1916f3aa5139dfd258e42a946a468
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/extractelement-load.ll
Log Message:
-----------
[X86] extractelement-load.ll - add test case for #85419
Commit: 3ada883f7c96e099e1a665c091751bff5f16690e
https://github.com/llvm/llvm-project/commit/3ada883f7c96e099e1a665c091751bff5f16690e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
A flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/lib/Semantics/check-call.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/io-api.cpp
A flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/unittests/Runtime/Reduction.cpp
Log Message:
-----------
[flang][runtime] Runtime support for REDUCE() (#86214)
Supports the REDUCE() transformational intrinsic function of Fortran
(see F'2023 16.9.173) in a manner similar to the existing support for
SUM(), PRODUCT(), &c. There are APIs for total reductions to scalar
results, and APIs for partial reductions that reduce the rank of the
argument by one.
This implementation requires more functions than other reductions
because the various possible types of the user-supplied OPERATION=
function need to be elaborated.
Once the basic API in reduce.h has been approved, later patches will
implement lowering.
REDUCE() is primarily for completeness, not portability; only one other
Fortran compiler implements this F'2018 feature today, and only some
types work correctly with it.
Commit: 5a0382ce7ab3577630bdbb396e9ddaed8749101e
https://github.com/llvm/llvm-project/commit/5a0382ce7ab3577630bdbb396e9ddaed8749101e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Evaluate/check-expression.cpp
A flang/test/Semantics/structconst09.f90
Log Message:
-----------
[flang] Catch non-constant targets for procedure pointer initialization (#86338)
Detect attempts to use non-constant targets, including internal
procedures, as initializers for procedure pointers, including components
of structure components being used as initializers.
Commit: b06913103fe7d3abeb474369eb69e7dfab7f8893
https://github.com/llvm/llvm-project/commit/b06913103fe7d3abeb474369eb69e7dfab7f8893
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
Log Message:
-----------
Fix failure in buildbot (#86661)
Sanitizer failure in
https://lab.llvm.org/buildbot/#/builders/19/builds/25788
Commit: 5cf1e2e2ec7da58403182265f2a7d2d5c1c87854
https://github.com/llvm/llvm-project/commit/5cf1e2e2ec7da58403182265f2a7d2d5c1c87854
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/log-vec.ll
A llvm/test/CodeGen/DirectX/log.ll
A llvm/test/CodeGen/DirectX/log10.ll
A llvm/test/CodeGen/DirectX/log2.ll
A llvm/test/CodeGen/DirectX/log2_error.ll
Log Message:
-----------
[DXIL] Implement log intrinsic Lowering (#86569)
Completes #86192
`DXIL.td` - add log2 to dxilop lowering
`DXILIntrinsicExpansion.cpp` - add log and log10 to log2 expansions
Commit: 7860f970666f46184ad740db48a69882d62e64fc
https://github.com/llvm/llvm-project/commit/7860f970666f46184ad740db48a69882d62e64fc
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Common/idioms.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/unwrap.h
A flang/include/flang/Common/variant.h
M flang/include/flang/Common/visit.h
M flang/runtime/CMakeLists.txt
M flang/runtime/io-stmt.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
Log Message:
-----------
[flang][runtime] Use cuda::std::variant in the CUDA build. (#86615)
Added `FLANG_LIBCUDACXX_PATH` CMake variable to specify
installation of header-only libcudacxx library.
If it is specified, the `<cuda/std/variant>` is used to provide
implementation of `std::variant`.
Commit: e75989e93063d1ac2626c3478c28ca364e04ef28
https://github.com/llvm/llvm-project/commit/e75989e93063d1ac2626c3478c28ca364e04ef28
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[NFC][Clang] Fix potential dereferencing of nullptr (#85944)
This patch replaces getAs<> with castAs<> to resolve potential static
analyzer bugs for
1. Dereferencing a pointer issue with nullptr FPT when calling
ResolveExceptionSpec() in
checkEscapingByref(clang::VarDecl *, clang::Sema &).
3. Dereferencing a pointer issue with nullptr ElementTy->getAs() when
calling getElementType() in
clang::Sema::SemaBuiltinFPClassification(clang::CallExpr *, unsigned
int).
4. Dereferencing a pointer issue with nullptr ConvType->getAs() when
calling getKeyword() in
clang::Sema::ActOnConversionDeclarator(clang::CXXConversionDecl *).
Commit: 8f01ecaeb8e537511718c4df123fb92633d9f73d
https://github.com/llvm/llvm-project/commit/8f01ecaeb8e537511718c4df123fb92633d9f73d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Parser/tools.h
M flang/lib/Parser/tools.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/init01.f90
M flang/test/Semantics/resolve81.f90
Log Message:
-----------
[flang] Special-case handling of INTRINSIC in type-decl-stmt (#86518)
Fortran allows the INTRINSIC attribute to be specified with a distinct
attribute statement, and also as part of the attribute list of a
type-declaration-stmt. This is an odd case (especially as the declared
type is mandated to be ignored if it doesn't match the type of the
intrinsic function) that can lead to odd error messages and crashes,
since the rest of name resolution expects that intrinsics with explicit
declarations will have been declared with INTRINSIC attribute
statements. Resolve by handling an "inline" INTRINSIC attribute as a
special case while processing a type-declaration-stmt, so that
real, intrinsic :: acos, asin, atan
is processed exactly as if it had been
intrinsic acos, asin, atan; real acos, asin, atan
Fixes https://github.com/llvm/llvm-project/issues/86382.
Commit: 39c03a2fbcdd6f20e0457faa5e169f4948f9422b
https://github.com/llvm/llvm-project/commit/39c03a2fbcdd6f20e0457faa5e169f4948f9422b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Remove unnecessary overrides of a defaulted template argument. NFC
Commit: bf4fc00bb73c73ccc7a78cd6d28287dd58c71e2c
https://github.com/llvm/llvm-project/commit/bf4fc00bb73c73ccc7a78cd6d28287dd58c71e2c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] Refactor linearize.mlir (#86648)
This patch refactors the `linearize.mlir` test - currently it contains
some duplication and can be tricky to follow.
Summary of changes:
* reduce duplication by introducing a shared check prefix (`ALL`) and
by introducing `-check-prefixes`,
* make sure that every "check" line is directly above the
corresponding line of input MLIR,
* group check lines corresponding to a particular prefix together (so
that it's easier to see the expected output for a particular
prefix),
* remove `CHECK` from prefix names (with multiple prefixes that's just
noise that can be avoided) and use a bit more descriptive prefixes
instead (`CHECK0` -> `BW-0`, where `BW` stands for bitwidth),
* unify indentation,
* `nonvec_result` -> `test_tensor_no_linearize` (for consistency with
`test_index_no_linearize`).
NOTE: This change only updates the format of the "CHECK" lines and
doesn't affect what's being tested.
This change is intended as preparation for adding support for scalable
vectors to `LinearizeConstant` and `LinearizeVectorizable` - i.e.
patterns that `linearlize.mlir` is meant to test.
Commit: f92f77521263c8f20171b62688ecc86de9c9dfa9
https://github.com/llvm/llvm-project/commit/f92f77521263c8f20171b62688ecc86de9c9dfa9
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Semantics/tools.cpp
Log Message:
-----------
[flang][NFC] Address reported "possible missing return" (#86523)
A function uses "if constexpr" to consider all possible types in a
variant, but looks as if it can fall out without returning an
expression. Add a final "else" with a crash to make things more clear
and to protect against unlikely future extensions of the type.
Fixes https://github.com/llvm/llvm-project/issues/86391.
Commit: 81fc43a39878dbd938b45d7735fe6e0fe37b03c3
https://github.com/llvm/llvm-project/commit/81fc43a39878dbd938b45d7735fe6e0fe37b03c3
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/unittests/TableGen/CMakeLists.txt
Log Message:
-----------
[unittests] Fix `TableGenTests` with `LLVM_LINK_LLVM_DYLIB` (#86664)
Since the restructuring in commit fa3d789df1, the option
DISABLE_LLVM_LINK_LLVM_DYLIB is counter-productive and leads to
CommandLine Error: Option 'debug-counter' registered more than once!
Commit: 4c4ea249cef8db71d30517aab60a081e764260e1
https://github.com/llvm/llvm-project/commit/4c4ea249cef8db71d30517aab60a081e764260e1
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[NFC][CLANG] Fix static analyzer bugs about unnecessary object copies with auto keyword (#85962)
Reported by Static Analyzer Tool:
In clang::dataflow::Environment::initialize(): Using the auto keyword
without an & causes the copy of an object of type LambdaCapture
Commit: f050a098b5e0745b6c230410f433e48dcc46d160
https://github.com/llvm/llvm-project/commit/f050a098b5e0745b6c230410f433e48dcc46d160
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/test/Conversion/ArithToSPIRV/fast-math.mlir
Log Message:
-----------
[mlir][spirv] Remove `enableFastMathMode` flag from SPIR-V conversion (#86578)
Most of arith/math ops support fastmath attribute, use it instead of
global flag.
Commit: f4fc959c35eb862776ac2e83cb9f41aa88989e3f
https://github.com/llvm/llvm-project/commit/f4fc959c35eb862776ac2e83cb9f41aa88989e3f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/deferred01.f90
Log Message:
-----------
[flang] Catch impossible but necessary TBP override (#86558)
An apparent attempt to override a type-bound procedure is not allowed to
be interpreted as on override when the procedure is PRIVATE and the
override attempt appears in another module. However, if the TBP that
would have been overridden is a DEFERRED procedure in an abstract base
type, the override must take place. PRIVATE DEFERRED procedures must
therefore have all of their overrides appear in the same module as the
abstract base type.
Commit: 313734795c67ca0bfb82f96b39e123774ddf24b4
https://github.com/llvm/llvm-project/commit/313734795c67ca0bfb82f96b39e123774ddf24b4
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
Log Message:
-----------
[clang-tidy] Fix fix-it overlaps in readability-static-definition-in-anonymous-namespace (#86599)
Because check emitted multiple warnings for every template instance
fix-it couldn't be applied due to overlaps.
Using TK_IgnoreUnlessSpelledInSource and restricting check to C++ only.
Commit: 26dd12871ca8a3dcc5e6920add231af354310088
https://github.com/llvm/llvm-project/commit/26dd12871ca8a3dcc5e6920add231af354310088
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
Log Message:
-----------
[SLP]Do not propagate nuw/nsw flags for alt nodes, affected by
minbitwidth analysis.
Need to drop nuw/nsw flags, if the alternate node is resized after the
minbitwidth analysis, to avoid producing poison values in corner cases.
Commit: 1eaef44532266694c28f49f5c0373e7fc93d4f82
https://github.com/llvm/llvm-project/commit/1eaef44532266694c28f49f5c0373e7fc93d4f82
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
Log Message:
-----------
[TosaToTensor] Fix a warning (#86703)
This patch fixes:
mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp:76:46: error:
'multiplies' may not intend to support class template argument
deduction [-Werror,-Wctad-maybe-unsupported]
Commit: 8cb4eb991401093fbfbc255ea752210d0bd5acfe
https://github.com/llvm/llvm-project/commit/8cb4eb991401093fbfbc255ea752210d0bd5acfe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove unneeded VAESKF_MV_I tablegen class. NFC
It is identical to PALUVINoVm so we can use that instead.
Commit: d0e97fe38b91dac909e6a53ab16d306e5ef0b512
https://github.com/llvm/llvm-project/commit/d0e97fe38b91dac909e6a53ab16d306e5ef0b512
Author: Kazu Hirata <kazu at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
Log Message:
-----------
[ArithToSPIRV] Fix a warning (#86702)
mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp:995:11: error:
unused variable 'converter' [-Werror,-Wunused-variable]
Commit: da6cc4a24ff8953d51f7dc2c4974e8fc9089d693
https://github.com/llvm/llvm-project/commit/da6cc4a24ff8953d51f7dc2c4974e8fc9089d693
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-nneg-disjoint.ll
Log Message:
-----------
[CodeGen] Add nneg and disjoint flags (#86650)
MachineInstr learned the new flags.
Commit: 29318abe1d2c55e8543255d70f26ac93261b74a4
https://github.com/llvm/llvm-project/commit/29318abe1d2c55e8543255d70f26ac93261b74a4
Author: Jason Molenda <jason at molenda.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
R lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test
Log Message:
-----------
[lldb] Remove test for add-symbol-file adds unwind source
In
commit 2f63718f8567413a1c596bda803663eb58d6da5a
Author: Jason Molenda <jmolenda at apple.com>
Date: Tue Mar 26 09:07:15 2024 -0700
[lldb] Don't clear a Module's UnwindTable when adding a SymbolFile (#86603)
I changed lldb to not clear a Module's UnwindTable when we add a
SymbolFile to a binary, because the added benefit is marginal, and
handling this reconstruction correctly is difficult. This test was
written to explicitly create a test without unwind info in the
binary, then add a symbol file with the unwind info, and check that
it is present. I've intentionally broken this, so I'm removing the
test.
Commit: 0c3e24f7c90243040fedcdfbbb417505f7cc0102
https://github.com/llvm/llvm-project/commit/0c3e24f7c90243040fedcdfbbb417505f7cc0102
Author: Ella Ma <alansnape3058 at gmail.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M clang/utils/analyzer/exploded-graph-rewriter.py
Log Message:
-----------
[analyzer] Allow egraph rewriter not to open the generated HTML directly (#85515)
When developing on a headless device through SSH, we do not have a
browser or even an X environment. Hence, it would be more convenient if
the rewriter could stop before attempting to open the generated HTML
file. Then, it can be opened remotely through an HTML server.
This patch adds a new option `--dump-html-only` to make the rewriter
stop before opening the generated HTML in a browser. The new option is
marked in conflict with the existing `--dump-dot-only` option to prevent
unexpected behaviors.
Commit: 1ad29a5c7131a31883d24cc41388c5a3565c7a4f
https://github.com/llvm/llvm-project/commit/1ad29a5c7131a31883d24cc41388c5a3565c7a4f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
Log Message:
-----------
[SLP][NFC]Add a test with truncated loads, but incorrect trunc after
minbitwidth analysis.
Commit: 342f7d0d35774ffdcb56e8b92252763a59bd2c29
https://github.com/llvm/llvm-project/commit/342f7d0d35774ffdcb56e8b92252763a59bd2c29
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
Log Message:
-----------
[SLP]Fix PR86620: check final minbitwidth for truncs/exts before
accepting it.
If the minbitwidth is deduced from the demanded elements, need to check
the final bitwidthfor trunc/ext instruction, bot blindly accepting
the used one.
Commit: 1c9d5c25ae43778a1f5bd14898223c33a203d4d5
https://github.com/llvm/llvm-project/commit/1c9d5c25ae43778a1f5bd14898223c33a203d4d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] foldAddSubBoolOfMaskedVal - reuse existing SDLoc instead of regenerating it. NFC.
Commit: 8edb12fe6cf81d194a4553da5d10e976bc4cfd4f
https://github.com/llvm/llvm-project/commit/8edb12fe6cf81d194a4553da5d10e976bc4cfd4f
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR] Add `m_c_BitwiseLogic` in pattern match; NFC
Just a missing matcher that came up in #73362
Closes #86632
Commit: cf6e62d8c308c7bf2885c422983c80842d735456
https://github.com/llvm/llvm-project/commit/cf6e62d8c308c7bf2885c422983c80842d735456
Author: Alex Zinenko <zinenko at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
Log Message:
-----------
[mlir][doc] NFC fix incorrect filename in td match interface
Commit: 2fbc40d36dd8e21fab4cc6cb43984baaa39bcd59
https://github.com/llvm/llvm-project/commit/2fbc40d36dd8e21fab4cc6cb43984baaa39bcd59
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Split compound if statement to fix a crash.
We're not allowed to call getELEN when the vector extension
is not enabled. If we're looking at a vector type, isTypeLegal would
only return true if the vector extensions are enabled. So early out
for non-vector types before we call isTypeLegal and getELEN.
Commit: 148a55795de7ac465a8e494d5d382e100da643f6
https://github.com/llvm/llvm-project/commit/148a55795de7ac465a8e494d5d382e100da643f6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
R flang/lib/Lower/OpenMP/ClauseT.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Make OpenMP clause representation language-agnostic (#86289)
The clause templates defined in ClauseT.h were originally based on
flang's parse tree nodes. Since those representations are going to be
reused for clang (together with the clause splitting code), it makes
sense to separate them from flang, and instead have them based on the
actual OpenMP spec (v5.2).
The member names in the templates follow the naming presented in the
spec, and the representation (e.g. members) is derived from the clause
definitions as described in the spec.
Since the representations of some clauses has changed (while preserving
the information), the current code using the clauses (especially the
code converting parser::OmpClause to omp::Clause) needs to be adjusted.
This patch does not make any functional changes.
Commit: 601d7eab0665ba298d81952da11593124fd893a0
https://github.com/llvm/llvm-project/commit/601d7eab0665ba298d81952da11593124fd893a0
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
A polly/include/polly/Support/PollyDebug.h
M polly/lib/Analysis/DependenceInfo.cpp
M polly/lib/Analysis/PolyhedralInfo.cpp
M polly/lib/Analysis/PruneUnprofitable.cpp
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CMakeLists.txt
M polly/lib/CodeGen/CodeGeneration.cpp
M polly/lib/CodeGen/IslAst.cpp
A polly/lib/Support/PollyDebug.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/FlattenAlgo.cpp
M polly/lib/Transform/FlattenSchedule.cpp
M polly/lib/Transform/ForwardOpTree.cpp
M polly/lib/Transform/ManualOptimizer.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
M polly/lib/Transform/ScheduleTreeTransform.cpp
M polly/lib/Transform/ScopInliner.cpp
M polly/lib/Transform/Simplify.cpp
M polly/lib/Transform/ZoneAlgo.cpp
A polly/test/Support/pollyDebug.ll
Log Message:
-----------
[polly] Add polly-debug flag to print debug info from all parts of polly (#78549)
This flag enable the user to print debug Info from all the passes and
helpers inside polly at once. This will help a novice user as well to
work in polly without explicitly having to know which parts of polly has
actually kicked in and pass them via -debug-only.
Commit: 0e5c504d3d80eb1488483a15269c2155f9e04bd7
https://github.com/llvm/llvm-project/commit/0e5c504d3d80eb1488483a15269c2155f9e04bd7
Author: Emil Pedersen <3mille.prenom.nom at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/DebugInfo/X86/dbg-value-funcarg-duplicates.ll
Log Message:
-----------
[DebugInfo] [SelectionDAG] Fix handling of duplicate dbg values (#86598)
Before this fix, a duplicate llvm.dbg.value intrinsic referring to an
argument, after an alloca, would be generated with `$noreg`, losing
debug information. Instead, we silently drop the second debug info, so
it doesn't break the first one.
rdar://125375717
Commit: 28ddbd4a863c4c1b6c36deb6edf305ee93412cd4
https://github.com/llvm/llvm-project/commit/28ddbd4a863c4c1b6c36deb6edf305ee93412cd4
Author: Chris B <chris.bieneman at me.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
Log Message:
-----------
[NFC] Refactor ConstantArrayType size storage (#85716)
In PR #79382, I need to add a new type that derives from
ConstantArrayType. This means that ConstantArrayType can no longer use
`llvm::TrailingObjects` to store the trailing optional Expr*.
This change refactors ConstantArrayType to store a 60-bit integer and
4-bits for the integer size in bytes. This replaces the APInt field
previously in the type but preserves enough information to recreate it
where needed.
To reduce the number of places where the APInt is re-constructed I've
also added some helper methods to the ConstantArrayType to allow some
common use cases that operate on either the stored small integer or the
APInt as appropriate.
Resolves #85124.
Commit: 5e6e40fee31d5db2f44d604b0362e1e819f41ba5
https://github.com/llvm/llvm-project/commit/5e6e40fee31d5db2f44d604b0362e1e819f41ba5
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Improve performance of google-runtime-int (#86596)
Main problem with performance of this check is caused by hasAncestor
matcher, and to be more precise by an llvm::DenseSet and std::deque in
matchesAnyAncestorOf.
To reduce impact of this matcher, multiple conditions that were checked
in check method were copied into AST matcher that is now checked before
hasAncestor.
Using custom getCheckTraversalKind to exclude template instances that
shouldn't be checked anyway is an additional improvement, but gain from
that one is low.
Tested on ffl_tests.cc, visible reduction from ~442 seconds to ~15
seconds (~96% reduction).
Closes #86553
Commit: 156c2907462bc5e97d13d3e7d334a32a291bc787
https://github.com/llvm/llvm-project/commit/156c2907462bc5e97d13d3e7d334a32a291bc787
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Core/Progress.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb] Implement coalescing of disjoint progress events (#84854)
This implements coalescing of progress events using a timeout, as
discussed in the RFC on Discourse [1]. This PR consists of two commits
which, depending on the feedback, I may split up into two PRs. For now,
I think it's easier to review this as a whole.
1. The first commit introduces a new generic `Alarm` class. The class
lets you to schedule a function (callback) to be executed after a given
timeout expires. You can cancel and reset a callback before its
corresponding timeout expires. It achieves this with the help of a
worker thread that sleeps until the next timeout expires. The only
guarantee it provides is that your function is called no sooner than the
requested timeout. Because the callback is called directly from the
worker thread, a long running callback could potentially block the
worker thread. I intentionally kept the implementation as simple as
possible while addressing the needs for the `ProgressManager` use case.
If we want to rely on this somewhere else, we can reassess whether we
need to address those limitations.
2. The second commit uses the Alarm class to coalesce progress events.
To recap the Discourse discussion, when multiple progress events with
the same title execute in close succession, they get broadcast as one to
`eBroadcastBitProgressCategory`. The `ProgressManager` keeps track of
the in-flight progress events and when the refcount hits zero, the Alarm
class is used to schedule broadcasting the event. If a new progress
event comes in before the alarm fires, the alarm is reset (and the
process repeats when the new progress event ends). If no new event comes
in before the timeout expires, the progress event is broadcast.
[1]
https://discourse.llvm.org/t/rfc-improve-lldb-progress-reporting/75717/
Commit: 8ea94b614bd8ac74802867588129bcfd0a326620
https://github.com/llvm/llvm-project/commit/8ea94b614bd8ac74802867588129bcfd0a326620
Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
Log Message:
-----------
[clang-tidy] Improved modernize-use-using by fixing a false-negative (#82947)
The check needs a parent decl to match but if the typedef is in a
function, the parent is a declStmt which is not a decl by itself.
Improved the matcher to match on either a decl or a declstmt and extract
the decl from the stmt in the latter case.
Fixes #72179
Commit: 8a84596310f5b141817c784f0b4b46a636767e6e
https://github.com/llvm/llvm-project/commit/8a84596310f5b141817c784f0b4b46a636767e6e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
Log Message:
-----------
[flang] Dodge bogus GCC 13.2.0 error message in new code (#86708)
Rearrange some new code a little bit to avoid a bogus error message
coming out from GCC 13.2.0 about an uninitialized data member in a
parser.
Commit: 982ebeb212ddb354e2babc1ce1ddfccc06b6ea27
https://github.com/llvm/llvm-project/commit/982ebeb212ddb354e2babc1ce1ddfccc06b6ea27
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/sar_fold.ll
Log Message:
-----------
[X86] Pre-commit test case for bug in combineShiftRightArithmetic
It has been noticed that combineShiftRightArithmetic isn't dealing
properly with large shift amounts, as demonstrated by the test
case added in this commit.
I think the problem partly is related to X86 using i8 as shift amount
type during ISel. So shift amount larger then 127 may be treated
as negative shift amounts if not being careful.
Commit: 4c72cfa31798a67c6daa25d474bcfe536e4fa0c0
https://github.com/llvm/llvm-project/commit/4c72cfa31798a67c6daa25d474bcfe536e4fa0c0
Author: Michael Jones <michaelrj at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/test/src/math/smoke/CanonicalizeTest.h
Log Message:
-----------
[libc] Remove definition of LIBC_NAMESPACE in test (#86704)
The canonicalize test added in #85940 defined the LIBC_NAMESPACE macro.
this macro is intended to be set only by the build system and never in
the code.
Commit: 14e17ea1f62d9861f90a6a31e7c8a1d12bb081fc
https://github.com/llvm/llvm-project/commit/14e17ea1f62d9861f90a6a31e7c8a1d12bb081fc
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
Log Message:
-----------
[flang][acc] Add support for lowering combined constructs (#86696)
PR#80319 added support to record combined construct semantics via an
attribute. Add lowering support for this.
Commit: 3e6e54eb795ce7a1ccd47df8c22fc08125a88886
https://github.com/llvm/llvm-project/commit/3e6e54eb795ce7a1ccd47df8c22fc08125a88886
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/sar_fold.ll
Log Message:
-----------
[X86] Fix miscompile in combineShiftRightArithmetic (#86597)
When folding (ashr (shl, x, c1), c2) we need to treat c1 and c2
as unsigned to find out if the combined shift should be a left
or right shift.
Also do an early out during pre-legalization in case c1 and c2
has differet types, as that otherwise complicated the comparison
of c1 and c2 a bit.
Commit: 2d97ba22f8ca0fbb8896fd0f54c0cd7c69f4d0cd
https://github.com/llvm/llvm-project/commit/2d97ba22f8ca0fbb8896fd0f54c0cd7c69f4d0cd
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
Log Message:
-----------
[libc]: Remove unused includes from strfrom*.cpp (#86657)
Removes unused header includes from `strfrom*()` implementation files.
Commit: a3f21a32495abeaddfa64a9789cd8c1b3fdad87c
https://github.com/llvm/llvm-project/commit/a3f21a32495abeaddfa64a9789cd8c1b3fdad87c
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/macros/config.h
M libc/test/src/__support/arg_list_test.cpp
Log Message:
-----------
[libc] Remove LIBC_HAS_ATTRIBUTE macro (#86656)
Resolves #86547
Replace occurrences of the macro `LIBC_HAS_ATTRIBUTE` with `__has_attribute`.
Commit: ac1af75051195e63cc518cf12312dd4eaf2e9bf8
https://github.com/llvm/llvm-project/commit/ac1af75051195e63cc518cf12312dd4eaf2e9bf8
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/constant-builtins-2.c
Log Message:
-----------
[clang] Implement constexpr support for __builtin_{clzg,ctzg} (#86577)
Fixes #86549.
Commit: 158401493a42014947ef2fb64ca761b57741815a
https://github.com/llvm/llvm-project/commit/158401493a42014947ef2fb64ca761b57741815a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Check that the stack adjust immediate for cm.push/pop* has the correct sign and is divisible by 16. (#85295)
To do this I've added a new AsmOperand for cm.push to expect a negative
value. We also use that to customize the print function so that we don't
need to detect cm.push opcode to add the negative sign.
I've renamed some places that used Spimm to be StackAdj since that's
what is being parsed. I'm still not about where we should use Spimm or
StackAdj.
I've removed the printSpimm helper function which in one usage printed
the sp[5:4]<<4 value and the other usage printed the full stack
adjustment. There wasn't anything interesting about how it was printed
it just passed the value to the raw_stream. If there was something
special needed, it's unclear whether it would be the same for the two
different usages so I inlined it.
One open question is whether we need to support stack adjustments
expressed as an expression rather than a literal integer.
Commit: b0b8b16bb8dfb8c60fe9665c6a1c306306b716d2
https://github.com/llvm/llvm-project/commit/b0b8b16bb8dfb8c60fe9665c6a1c306306b716d2
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC] [HWASan] Add link to proof for address calculation (#86367)
Commit: 880eb339cae3acba9be0b2ea3271dba22ea9ec1f
https://github.com/llvm/llvm-project/commit/880eb339cae3acba9be0b2ea3271dba22ea9ec1f
Author: Florian Mayer <fmayer at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[NFC] [HWASan] make getAndroidSlotPtr function generic (#86200)
This is so we can use a different slot for stack MTE.
Commit: d5224b73ccd09a6759759791f58426b6acd4a2e2
https://github.com/llvm/llvm-project/commit/d5224b73ccd09a6759759791f58426b6acd4a2e2
Author: Fangrui Song <i at maskray.me>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[tsan] Refine fstat{,64} interceptors (#86625)
In glibc versions before 2.33. `libc_nonshared.a` defines
`__fxstat/__fxstat64` but there is no `fstat/fstat64`. glibc 2.33 added
`fstat/fstat64` and obsoleted `__fxstat/__fxstat64`. Ports added after
2.33 do not provide `__fxstat/__fxstat64`, so our `fstat/fstat64`
interceptors using `__fxstat/__fxstat64` interceptors would lead to
runtime failures on such ports (LoongArch and certain RISC-V ports).
Similar to https://reviews.llvm.org/D118423, refine the conditions that
we define fstat{,64} interceptors. `fstat` is supported by musl/*BSD
while `fstat64` is glibc only.
Commit: 80487e1c622d51f4c0df12b64cca8a0b346e9b85
https://github.com/llvm/llvm-project/commit/80487e1c622d51f4c0df12b64cca8a0b346e9b85
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][NFC] Reorder entrys in release notes
Sort entrys in release notes.
Commit: a22bd00ce03a77a38be2911979a4c4f2ca01379d
https://github.com/llvm/llvm-project/commit/a22bd00ce03a77a38be2911979a4c4f2ca01379d
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] [bazel] [NFC] Format deps.
Commit: c6d419c15bf836085392212b8ab7600f7402829b
https://github.com/llvm/llvm-project/commit/c6d419c15bf836085392212b8ab7600f7402829b
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[TOSA] Allow all integer types in most ops (#86509)
As discussed in one of the previous TOSA community meetings, we would
like to allow for more integer types in the TOSA dialect to enable more
use cases.
For strict standards conformance, the TosaValidation pass can be used.
Follow up PRs will extend conversions from TOSA where needed.
Commit: 630283c38bce9ec188c96ddb90b8251afc2b3d8e
https://github.com/llvm/llvm-project/commit/630283c38bce9ec188c96ddb90b8251afc2b3d8e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/OSUtil/baremetal/quick_exit.cpp
Log Message:
-----------
[libc] Fix misplaced `[[noreturn]]` attribute.
Summary:
This needs to go after `extern "C"`.
Commit: 1949f7d6c9bd59172c01c7933e1c558797c47eac
https://github.com/llvm/llvm-project/commit/1949f7d6c9bd59172c01c7933e1c558797c47eac
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/string_utils.cpp
M compiler-rt/lib/scudo/standalone/string_utils.h
M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/vector.h
Log Message:
-----------
[scudo] Clean up string handling (#86364)
Do not abort if a vector cannot increase its own capacity. In that case,
push_back calls silently fail.
Modify the ScopedString implementation so that it no longer requires two
passes to do the format. Move the helper functions to be private member
functions so that they can use push_back directly. This allows the
capacity to be increased under the hood and/or silently discards data if
the capacity is exceeded and cannot be increased.
Add new tests for the Vector and ScopedString for capacity increase
failures.
Doing this so that if a map call fails, and we are attempting to write
an error string, we can still get some of the message dumped. This also
avoids crashing in Scudo code, and makes the caller handle any failures.
Commit: 80bba17914dec52789d2e75ed560acb11cce959a
https://github.com/llvm/llvm-project/commit/80bba17914dec52789d2e75ed560acb11cce959a
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/FPUtil/BasicOperations.h
Log Message:
-----------
[libc][FPUtil] fixup missing explicit cast (#86736)
The arm32 buildbot reports an error because UInt::operator bool() is explicit,
thus an explicit cast is necessary.
Link: #85940
Commit: 86692258637549ed9f863c3d2ba47b49f61bbc1f
https://github.com/llvm/llvm-project/commit/86692258637549ed9f863c3d2ba47b49f61bbc1f
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[compiler-rt] Allow building builtins.a without a libc (#86737)
compiler-rt may depend on libc (memset etc). Likewise a libc built by
clang may depend on compiler-rt builtins.
This circular dependency doesn't matter much once they're both compiled.
The easy compilation order to build both from source is:
1. install libc headers somewhere
2. build compiler-rt builtins against those headers
3. build libc against compiler-rt builtins
This patch relaxes the cmake sanity check to pass without requiring a
libc library. That allows the above sequence to work. Otherwise one
needs to build a static libc, then use that to pass the compiler-rt
cmake check, then build a normal libc.
Commit: d31278896208d856b277e34bd7e2a63899f0b57b
https://github.com/llvm/llvm-project/commit/d31278896208d856b277e34bd7e2a63899f0b57b
Author: Xiangyang (Mark) Guo <helloguo at fb.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Analysis/InlineOrder.cpp
Log Message:
-----------
[InlineOrder] fix the calculation of Cost for CostBenefitPriority (#86630)
getCost() expects that isVariable() is true.
https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Analysis/InlineCost.h#L146
Co-authored-by: helloguo <helloguo at meta.com>
Commit: 09155ac290b0906ac8011c87ee43d7c7a2710387
https://github.com/llvm/llvm-project/commit/09155ac290b0906ac8011c87ee43d7c7a2710387
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[LegalizeDAG] Remove unneeded temporary SDValues from PerformInsertVectorEltInMemory. NFC
There were 3 temporaries that just renamed the 3 well name arguments to the
function to Tmp1-3. Looks like this was done when the code was extracted from
elsewhere into a separate function 15 years ago.
Commit: b1a633bc014a845a58f0f3c4e442219051646c19
https://github.com/llvm/llvm-project/commit/b1a633bc014a845a58f0f3c4e442219051646c19
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
Log Message:
-----------
[NFC][NVPTX] remove truncating c-style cast (#85889)
While a stack size large enough to cause this truncation to be a problem
would certainly cause other issues and not produce a valid program
anyway, this cast is triggering our Coverity static analysis. Removing
it seems cleaner.
Commit: 7db40463229bb1c9fb15b2107d878fe70d1eda65
https://github.com/llvm/llvm-project/commit/7db40463229bb1c9fb15b2107d878fe70d1eda65
Author: Vadim Paretsky <vadim.paretsky at intel.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp_collapse.cpp
A openmp/runtime/test/worksharing/for/collapse_test.inc
A openmp/runtime/test/worksharing/for/omp_collapse_many_GELTGT_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_GTGEGT_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_LTLEGE_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_one_int.c
Log Message:
-----------
[OpenMP] add loop collapse tests (#86243)
This PR adds loop collapse tests ported from MSVC.
---------
Co-authored-by: Vadim Paretsky <b-vadipa at microsoft.com>
Commit: c43932ebdc407ed9633f7468dcb061b635e99a8d
https://github.com/llvm/llvm-project/commit/c43932ebdc407ed9633f7468dcb061b635e99a8d
Author: SevenIsSeven <150881358+SevenIsSeven at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
Log Message:
-----------
fix build error in MSVC build (#86622)
This commit(https://github.com/llvm/llvm-project/pull/84738) introduced
following compile warning then treated-as-error in MSVC build.
>>>"'^': unsafe mix of type 'unsigned int' and type 'bool' in operation"
---------
Co-authored-by: Seven <Seven.Li at amd.com>
Commit: 3324f4d4f4bd82bc9fd43062d21a450671a3531b
https://github.com/llvm/llvm-project/commit/3324f4d4f4bd82bc9fd43062d21a450671a3531b
Author: Aart Bik <ajcbik at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
A mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir
Log Message:
-----------
[mlir][sparse] avoid incompatible linalg fuse-into-consumer (#86752)
This fixes an "infinite" loop bug, where the incoming IR was repeatedly
rewritten while adding identical cast operations. The test for
compatible types should include the notion of an encoding. If it
differs, then a
naive fusion into the consumer is invalid.
Commit: 54a9f0e441c7cc3c954d24cfde00cb933306a9e9
https://github.com/llvm/llvm-project/commit/54a9f0e441c7cc3c954d24cfde00cb933306a9e9
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir
Log Message:
-----------
[RISCV][GISEL] Legalize, regbankselect, and instruction-select G_VSCALE (#85967)
G_VSCALE should be lowered using VLENB. If the type is not sXLen it
should be lowered using a G_VSCALE on the narrow type and a G_MUL.
regbank select and instruction select are straightforward so we really
only need to add tests to show it works.
Commit: 373d8755140df0c760e9c292c5f88479cdda6f4c
https://github.com/llvm/llvm-project/commit/373d8755140df0c760e9c292c5f88479cdda6f4c
Author: Pavel Kosov <kpdev42 at gmail.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExpr.cpp
A clang/test/CodeGen/cfi-check-attrs.c
M clang/test/CodeGen/cfi-check-fail.c
Log Message:
-----------
[cfi][CodeGen] Call SetLLVMFunctionAttributes{,ForDefinition} on __cf… (#78253)
…i_check
This causes __cfi_check, just as __cfi_check_fail, to get the proper
target-specific attributes, in particular uwtable for unwind table
generation. Previously, nounwind attribute could be inferred for
__cfi_check, which caused it to lose its unwind table even with
-funwind-table option.
~~
Huawei RRI, OS Lab
Co-authored-by: Nikolai Kholiavin <kholiavin.nikolai at huawei-partners.com>
Commit: d345599c2851c7ef25d2350244cbfe7cfef36386
https://github.com/llvm/llvm-project/commit/d345599c2851c7ef25d2350244cbfe7cfef36386
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
Log Message:
-----------
[GISEL][NFC] Use getElementCount instead of getNumElements in more places
These cases in particular are done as a precommit to support
legalization, regbank selection, and instruction selection for extends,
splat vectors, and integer compares in #85938.
Commit: d023995ae2cc6ab968ec305ea7b6f11b6ac2e78f
https://github.com/llvm/llvm-project/commit/d023995ae2cc6ab968ec305ea7b6f11b6ac2e78f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
AMDGPU: Simplify EmitAMDGPUBuiltinExpr for load transposes, NFC (#86707)
We should not manually get the types of the loading data.
Instead, we can get the types from the intrinsics directly.
Commit: 4720e3831b814fdd2e8441ee0ac05b6934fdf533
https://github.com/llvm/llvm-project/commit/4720e3831b814fdd2e8441ee0ac05b6934fdf533
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
Log Message:
-----------
[NFC][Sanitizer] Refine the restriction on SizeClassAllocator64::kRegionSize (#86270)
This patch replaces the `SANITIZER_WORDSIZE / 2` with
`sizeof(CompactPtrT) * 8`, replaces hardcoded `4` with
`kCompactPtrScale` in assertion.
Commit: 10b07f2324aa990664c4141ffab534603af35c7a
https://github.com/llvm/llvm-project/commit/10b07f2324aa990664c4141ffab534603af35c7a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
[mlir][Interfaces] `ValueBoundsConstraintSet`: Add `dump` helper function (#86634)
This commit adds a helper function that dumps the constraint set and the
mapping of columns to values/dims. For debugging only.
Example output:
```
==========
Columns:
(column dim value)
0 1 linalg.fill (result 0)
1 1 tensor.extract_slice (result 0)
2 n/a affine.min (result 0)
3 n/a scf.for (bbarg 0)
4 n/a func.func (bbarg 2)
Constraint set:
Domain: 0, Range: 1, Symbols: 4, Locals: 0
6 constraints
(None None None None None const)
1 -1 0 0 0 0 = 0
0 1 -1 0 0 0 = 0
0 0 -1 -1 1 0 >= 0
0 0 -1 0 0 4 >= 0
0 0 0 1 0 0 >= 0
0 0 0 -1 1 -1 >= 0
==========
```
Commit: fa1b807befdc7b31b1c0e0ab625170924f7b4951
https://github.com/llvm/llvm-project/commit/fa1b807befdc7b31b1c0e0ab625170924f7b4951
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/ops-invalid.mlir
Log Message:
-----------
[mlir] fix crash in transform.print verification (#86679)
Transform op trait verification calls `getEffects`, and since trait
verification runs before op verification, this call cannot assume the op
to be valid. However, the operand getters now return a `TypedValue` that
unconditionally casts the value to the expected type, leading to an
assertion failure. Use the untyped mechanism instead.
Fixes #84701.
Commit: 7545c635729a2055a429c5decd26a619a8d6e74b
https://github.com/llvm/llvm-project/commit/7545c635729a2055a429c5decd26a619a8d6e74b
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of the sext/zext with LMUL (#86617)
Use the destination data type to measure the LMUL size for
latency/throughput cost
Commit: 082e7c480e033c1b973b8379a31929d04e236868
https://github.com/llvm/llvm-project/commit/082e7c480e033c1b973b8379a31929d04e236868
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Remove empty edges once after cloning (#85320)
Restructure the handling of edges that become empty during the cloning
process. Instead of removing them as they become empty (no context ids
and alloc type), do this once after all cloning is complete.
This has no effect on the cloning result, but prepares for a follow on
change that does improve the cloning. The structural change here reduces
the diffs for the follow on change, which would be much more difficult
with the previous handling.
Commit: 4d03a9ecc697a11f0edd3c31440a7cae3398e24a
https://github.com/llvm/llvm-project/commit/4d03a9ecc697a11f0edd3c31440a7cae3398e24a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
Log Message:
-----------
[RISCV] Preserve MMO when expanding PseudoRV32ZdinxSD/PseudoRV32ZdinxLD. (#85877)
This allows the asm printer to print the stack spill/reload messages.
Commit: 9961c03e9ec2fc47cb42fd16141b89dd8d8e2c01
https://github.com/llvm/llvm-project/commit/9961c03e9ec2fc47cb42fd16141b89dd8d8e2c01
Author: Jeremy Day <jadaytime at gmail.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
Return `errc::no_such_file_or_directory` in `fs::access` if `GetFileAttributesW` fails (#83495)
Fixes https://github.com/llvm/llvm-project/issues/83046
There is a race condition when calling `GetFileAttributesW` that can
cause it to return `ERROR_ACCESS_DENIED` on a path which exists, which
is unexpected for callers using this function to check for file
existence by passing `AccessMode::Exist`. This was manifesting as a
compiler crash on Windows downstream in the Swift compiler when using
the `-index-store-path` flag (more information in
https://github.com/apple/llvm-project/issues/8224).
I looked for alternate APIs to avoid bringing in `shlwapi.h`, but didn't
see any good candidates. I'm not tied at all to this solution, any
feedback and alternative approaches are more than welcome.
Commit: fa9ee4a7f9f7fb9f586d40939269205fc3061c17
https://github.com/llvm/llvm-project/commit/fa9ee4a7f9f7fb9f586d40939269205fc3061c17
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp_collapse.cpp
Log Message:
-----------
[NFC][OpenMP] Silent unused variable in `kmp_collapse.cpp`
Commit: a7ac0dd624962de1ccb55f1ed1357f548477f593
https://github.com/llvm/llvm-project/commit/a7ac0dd624962de1ccb55f1ed1357f548477f593
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M openmp/runtime/src/kmp_csupport.cpp
Log Message:
-----------
[NFC][OpenMP] Use `SimpleVLA` to replace variable length arrays in C++
Commit: ecf6bb2b4dbd26bbff2cee79db010369faa2fe90
https://github.com/llvm/llvm-project/commit/ecf6bb2b4dbd26bbff2cee79db010369faa2fe90
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
A llvm/test/MC/RISCV/rvv/zvkned-invalid.s
A llvm/test/MC/RISCV/rvv/zvknh-invalid.s
A llvm/test/MC/RISCV/rvv/zvksed-invalid.s
A llvm/test/MC/RISCV/rvv/zvksh-invalid.s
M llvm/test/MC/RISCV/rvv/zvksh.s
Log Message:
-----------
[RISCV] Add register overlap checks to the assembler for some Zvk* instructions. (#86745)
>From the spec
| Instruction | Register | Cannot Overlap |
| ----------- | -------- | -------------- |
| vaes*.vs | vs2 | vd |
| vsm4r.vs | vs2 | vd |
| vsha2c[hl] | vs1, vs2 | vd |
| vsha2ms | vs1, vs2 | vd |
| sm3me | vs2 | vd |
| vsm3c | vs2 | vd |
Commit: 8a9c1701704182d551bf9df1ff43363db56caab4
https://github.com/llvm/llvm-project/commit/8a9c1701704182d551bf9df1ff43363db56caab4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll
Log Message:
-----------
[RISCV] Align stack size down to a multiple of 16 before using cm.push/pop. (#86073)
This an alternative to #84935 to fix the miscompile, but not be optimal.
The immediate for cm.push/pop must be a multiple of 16. For RVE, it
might not be. It's not easy to increase the stack size without messing
up cfa directives and maybe other things.
This patch rounds the stack size down to a multiple of 16 before
clamping it to 48. This causes an extra addi to be emitted to handle the
remainder.
Once this commited, I can commit #84989 to add verification for these
instructions being generated with valid offsets.
Commit: da3e58e74ad160c3dfa89e92f7dd31efeee6b258
https://github.com/llvm/llvm-project/commit/da3e58e74ad160c3dfa89e92f7dd31efeee6b258
Author: ShihPo Hung <shihpo.hung at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll
Log Message:
-----------
Revert "[RISCV][TTI] Scale the cost of the sext/zext with LMUL (#86617)"
This reverts commit 7545c635729a2055a429c5decd26a619a8d6e74b as it's
failing on the Linux bots.
Commit: f1dff836593d4601e3ad78117df1d980d284bb9c
https://github.com/llvm/llvm-project/commit/f1dff836593d4601e3ad78117df1d980d284bb9c
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Expose GPUCommonPass.h only by a single target. (#86730)
Move `GPUOpsLowering.cpp` from `//mlir:GPUCommonTransforms` to
`//mlir:GPUToGPURuntimeTransforms` to match the CMake setup.
Ideally, header files should be used by only one target, but this is
hard because CMake is less strict with headers (no layering check). But
even with bazel, headers should only be exported once in the `hdrs`
attribute. Other targets may use them in the `srcs` attribute to avoid
circular dependencies.
Commit: 9c0c98ed376f8705d0856f29a7ec659120187612
https://github.com/llvm/llvm-project/commit/9c0c98ed376f8705d0856f29a7ec659120187612
Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
A llvm/tools/llvm-debuginfo-analyzer/README.md
R llvm/tools/llvm-debuginfo-analyzer/README.txt
Log Message:
-----------
[llvm-debuginfo-analyzer][DOC] Convert 'README.txt' to markdown. (#86394)
As part of the WebAssembly support work
https://github.com/llvm/llvm-project/pull/85566
The README.txt is a bit odd since it only lists issues and problems
without talking about what works. It’s also hard to read on the GitHub
web view.
- Convert to Markdown and linking to the command docs
https://llvm.org/docs/CommandGuide/llvm-debuginfo-analyzer
- Rename some left 'elf reader' to 'DWARF reader'.
Commit: 22bfc58cd08cd58c8866ef79f3529d314dcb77e5
https://github.com/llvm/llvm-project/commit/22bfc58cd08cd58c8866ef79f3529d314dcb77e5
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
A llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
Log Message:
-----------
[RISCV] Teach RISCVMakeCompressible handle byte/half load/store for Zcb. (#83375)
For targets with Zcb, this patch makes llvm generate more compress
c.lb/lbu/lh/lhu/sb/sh instructions.
Commit: 16993c793a7d81771ea17a2991f76e87b4b0a6c0
https://github.com/llvm/llvm-project/commit/16993c793a7d81771ea17a2991f76e87b4b0a6c0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
Log Message:
-----------
[NFC][HWASAN] Regenerate test
Commit: 05a7b22a0132bebe99aabee591d3acc99d793ae1
https://github.com/llvm/llvm-project/commit/05a7b22a0132bebe99aabee591d3acc99d793ae1
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/Transforms/Inline/RISCV/inline-target-features.ll
A llvm/test/Transforms/Inline/RISCV/lit.local.cfg
Log Message:
-----------
[RISCV] Add areInlineCompatible for riscv target (#86639)
Inline a callee if its target-features are a subset of the callers
target-features.
Commit: 577e0ef94fb0b4ba9f97a6f58a1961f7ba247d21
https://github.com/llvm/llvm-project/commit/577e0ef94fb0b4ba9f97a6f58a1961f7ba247d21
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M clang/unittests/AST/DeclPrinterTest.cpp
Log Message:
-----------
[clang][AST] Silence unused-value warnings in unittest DeclPrinterTest
Commit: aa2d5d54130bd9c5e9efb9ae3eaec631f227f13b
https://github.com/llvm/llvm-project/commit/aa2d5d54130bd9c5e9efb9ae3eaec631f227f13b
Author: ShihPo Hung <shihpo.hung at sifive.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll
Log Message:
-----------
Recommit "[RISCV][TTI] Scale the cost of the sext/zext with LMUL (#86617)"
Changes in Recommit:
Add an additional check on sign/zero extend to the same type.
Original message:
Use the destination data type to measure the LMUL size for
latency/throughput cost
Commit: 6d13263d4a723689d025423562269ea6ccb6bfc2
https://github.com/llvm/llvm-project/commit/6d13263d4a723689d025423562269ea6ccb6bfc2
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/binop-zext.ll
Log Message:
-----------
[RISCV] Add tests for combineBinOpOfZExts. NFC (#86689)
Unlike add, sub and mul, we don't have widening instructions for div,
rem and logical ops, so we don't have any test coverage if we were to
extend combineBinOpOfZExts to handle them.
Adding tests coincidentally revealed that logical ops are already
narrowed as a generic DAG combine via
DAGCombiner::hoistLogicOpWithSameOpcodeHands. So we don't actually need
to run combineBinOpOfZExts on them.
Commit: defc4859b032ccaec69f24b6cfd9882fece5f093
https://github.com/llvm/llvm-project/commit/defc4859b032ccaec69f24b6cfd9882fece5f093
Author: Jack Styles <99514724+Stylie777 at users.noreply.github.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M clang/test/Driver/aarch64-sve.c
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/docs/ReleaseNotes.rst
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Remove Automatic Enablement of FEAT_F32MM (#85203)
When `+sve` is passed in the command line, if the Architecture being
targeted is V8.6A/V9.1A or later, `+f32mm` is also added. This enables
FEAT_32MM, however at the time of writing no CPU's support this. This
leads to the FEAT_32MM instructions being compiled for CPU's that do not
support them.
This commit removes the automatic enablement, however the option is
still able to be used by passing `+f32mm`.
Commit: 2938f1cff9f880d03c900a2bdcd078af937d9433
https://github.com/llvm/llvm-project/commit/2938f1cff9f880d03c900a2bdcd078af937d9433
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] Refactor powi(X,Y) / X to call foldPowiReassoc, NFC
Commit: bd9bb31bce0754c0a04d5c842ab3e7f8dd467861
https://github.com/llvm/llvm-project/commit/bd9bb31bce0754c0a04d5c842ab3e7f8dd467861
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/powi.ll
Log Message:
-----------
[InstCombine] add restrict reassoc for the powi(X,Y) / X
add restrict reassoc for the powi(X,Y) / X according the discuss on PR69998.
Commit: df75183d70e029352a49c93f275db703c81a65c1
https://github.com/llvm/llvm-project/commit/df75183d70e029352a49c93f275db703c81a65c1
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/include/llvm/IR/Verifier.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
M llvm/test/Verifier/tbaa-struct.ll
Log Message:
-----------
[TBAA] Add verifier for tbaa.struct metadata (#86709)
Adds logic to the IR verifier that checks whether !tbaa.struct nodes are
well-formed. That is, it checks that the operands of !tbaa.struct nodes
are in groups of three, that each group of three operands consists of
two integers and a valid tbaa node, and that the regions described by
the offset and size operands are non-overlapping.
PR: https://github.com/llvm/llvm-project/pull/86709
Commit: f15b7deeaaf9028a31f66110a10f1313ed5e57f7
https://github.com/llvm/llvm-project/commit/f15b7deeaaf9028a31f66110a10f1313ed5e57f7
Author: Luke Lau <luke at igalia.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
Log Message:
-----------
[RISCV] Add test case to show missing vmerge fold on tied pseudos. NFC
Note we can't use vwaddu.wv because it will get combined away with #78403
Commit: cc23ee8250c2eda3f28c4d25c412e68ec78ecbe1
https://github.com/llvm/llvm-project/commit/cc23ee8250c2eda3f28c4d25c412e68ec78ecbe1
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/test/COFF/exportas.test
Log Message:
-----------
[LLD][COFF] Add support for EXPORTAS import name type. (#86541)
#78772 added similar support for .def file parser and import library
writer. This PR adds missing bits in LLD to propagate EXPORTAS name and
allow it in `/export` parser. This is syntax is used by MSVC for ARM64EC
`__declspec(dllexport)` handling.
Commit: c9d12664f2f967ec170ed16d9a57af2f48e832c8
https://github.com/llvm/llvm-project/commit/c9d12664f2f967ec170ed16d9a57af2f48e832c8
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-lib/arm64ec-implib.test
Log Message:
-----------
[llvm-dlltool][llvm-lib][COFF] Don't override NONAME exports with demangled ARM64EC symbols. (#86722)
Commit: ab7dba233a058cc8310ef829929238b5d8440b30
https://github.com/llvm/llvm-project/commit/ab7dba233a058cc8310ef829929238b5d8440b30
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/CSKY/csky-abi.c
M clang/test/CodeGen/LoongArch/abi-lp64d.c
M clang/test/CodeGen/PowerPC/aix-altivec-vaargs.c
M clang/test/CodeGen/PowerPC/aix-vaargs.c
M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/WebAssembly/wasm-varargs.c
M clang/test/CodeGen/X86/va-arg-sse.c
M clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/arm-varargs.c
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGen/mips-varargs.c
M clang/test/CodeGen/pr53127.cpp
A clang/test/CodeGen/varargs-with-nonzero-default-address-space.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/ibm128-declarations.cpp
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
M clang/test/Modules/codegen.test
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/test/Bitcode/compatibility-3.6.ll
M llvm/test/Bitcode/compatibility-3.7.ll
M llvm/test/Bitcode/compatibility-3.8.ll
M llvm/test/Bitcode/compatibility-3.9.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/Bitcode/variableArgumentIntrinsic.3.2.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg-kernel.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/msan_debug_info.ll
M llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll
M llvm/test/Transforms/IROutliner/illegal-vaarg.ll
M llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
M llvm/test/Transforms/NewGVN/pr31483.ll
M llvm/test/Transforms/Reassociate/vaarg_movable.ll
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/basic.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[CodeGen][LLVM] Make the `va_list` related intrinsics generic. (#85460)
Currently, the builtins used for implementing `va_list` handling
unconditionally take their arguments as unqualified `ptr`s i.e. pointers
to AS 0. This does not work for targets where the default AS is not 0 or
AS 0 is not a viable AS (for example, a target might choose 0 to
represent the constant address space). This patch changes the builtins'
signature to take generic `anyptr` args, which corrects this issue. It
is noisy due to the number of tests affected. A test for an upstream
target which does not use 0 as its default AS (SPIRV for HIP device
compilations) is added as well.
Commit: ef316da4a2c5954a02c92707b5cb621402b76910
https://github.com/llvm/llvm-project/commit/ef316da4a2c5954a02c92707b5cb621402b76910
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
Log Message:
-----------
AMDGPU: Fix dead check prefixes in test
Commit: 1103a2a337e90d8c7cc417b89e43c7a33aaea21e
https://github.com/llvm/llvm-project/commit/1103a2a337e90d8c7cc417b89e43c7a33aaea21e
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
A llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
A llvm/test/MC/AMDGPU/hsa-tg-split.s
Log Message:
-----------
Reland [AMDGPU] MCExpr-ify MC layer kernel descriptor (#86494)
Kernel descriptor attributes, with their respective emit and asm parse functionality, converted to MCExpr.
Relands #80855 with fixes
Commit: 408c36522f7eb8638314b584995daf5790968842
https://github.com/llvm/llvm-project/commit/408c36522f7eb8638314b584995daf5790968842
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 1103a2a337e9
Commit: 51388fbab1b9454dfe24c4ac1c8b4a009162386a
https://github.com/llvm/llvm-project/commit/51388fbab1b9454dfe24c4ac1c8b4a009162386a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitSub - reuse existing SDLoc instead of regenerating it. NFC.
Commit: 9247f3185c7e1f7a2c1071fa61e283deb21091aa
https://github.com/llvm/llvm-project/commit/9247f3185c7e1f7a2c1071fa61e283deb21091aa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] foldAddSubOfSignBit - reuse existing SDLoc instead of regenerating it. NFC.
Commit: 875aed17b978bf58a01d31572af6964e91a9f641
https://github.com/llvm/llvm-project/commit/875aed17b978bf58a01d31572af6964e91a9f641
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add combineExtractFromVectorLoad helper - pulled out of combineExtractVectorElt
Prep work for #85419 to make it easier to reuse in other combines
Commit: e82765bf07a978674c0e75c8b2e20f154ae24a4c
https://github.com/llvm/llvm-project/commit/e82765bf07a978674c0e75c8b2e20f154ae24a4c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/test/CodeGen/X86/masked_store.ll
Log Message:
-----------
[X86] masked_store.ll - add nounwind to remove cfi noise
Commit: b8cc838427efa80eb5ca4ec7c8adb53e4adfc4c7
https://github.com/llvm/llvm-project/commit/b8cc838427efa80eb5ca4ec7c8adb53e4adfc4c7
Author: komalverma04 <komal148btit21 at igdtuw.ac.in>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
Log Message:
-----------
[analyzer][docs] Document the `optin.performance.Padding` checker (#86411)
Closes #73675
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Co-authored-by: NagyDonat <donat.nagy at ericsson.com>
Commit: 4f9aab2b500d3df0cc5d54f2d29c8199507af66c
https://github.com/llvm/llvm-project/commit/4f9aab2b500d3df0cc5d54f2d29c8199507af66c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M llvm/utils/TableGen/Common/CMakeLists.txt
A llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.cpp
M llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
A llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
A llvm/utils/TableGen/Common/GlobalISel/PatternParser.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[NFC][TableGen][GlobalISel] Move MIR pattern parsing out of combiner (#86789)
Reland of cfa0833ccc7450a322e709583e894e4c96ce682e
Commit: ce32678de5e8e67ead799ed8c6a81a1c7e3b95d0
https://github.com/llvm/llvm-project/commit/ce32678de5e8e67ead799ed8c6a81a1c7e3b95d0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
A .github/workflows/issue-write.yml
M .github/workflows/pr-code-format.yml
M bolt/docs/BAT.md
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
A bolt/test/X86/dwarf4-label-low-pc.s
A bolt/test/X86/dwarf5-debug-names-cross-cu.s
M bolt/test/X86/dwarf5-label-low-pc.s
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/test/inlayHints.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
M clang/CMakeLists.txt
M clang/cmake/caches/HLSL.cmake
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/Analysis/ArrayDelete.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/analyzer-display-progress.cpp
M clang/test/Analysis/analyzer-display-progress.m
A clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
A clang/test/Analysis/getline-cpp.cpp
A clang/test/C/C99/block-scopes.c
A clang/test/C/C99/n696.c
A clang/test/ClangScanDeps/modules-extension.c
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/CSKY/csky-abi.c
M clang/test/CodeGen/LoongArch/abi-lp64d.c
M clang/test/CodeGen/PowerPC/aix-altivec-vaargs.c
M clang/test/CodeGen/PowerPC/aix-vaargs.c
M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/WebAssembly/wasm-varargs.c
M clang/test/CodeGen/X86/va-arg-sse.c
A clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
A clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/arm-varargs.c
A clang/test/CodeGen/attr-counted-by-debug-info.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
A clang/test/CodeGen/cfi-check-attrs.c
M clang/test/CodeGen/cfi-check-fail.c
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGen/mips-varargs.c
M clang/test/CodeGen/pr53127.cpp
A clang/test/CodeGen/varargs-with-nonzero-default-address-space.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/ibm128-declarations.cpp
M clang/test/CodeGenCXX/mangle-ms-back-references.cpp
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
A clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/aarch64-sve.c
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
A clang/test/InstallAPI/extra-exclude-headers.test
M clang/test/Modules/codegen.test
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/attr-target-version.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/namespace-alias.cpp
M clang/test/SemaCXX/warn-exit-time-destructors.cpp
A clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
M clang/utils/analyzer/exploded-graph-rewriter.py
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/available_checks.html
M clang/www/c_status.html
M clang/www/cxx_status.html
A cmake/Modules/GetDarwinLinkerVersion.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/sanitizer/linux_syscall_hooks.h
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
M compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/string_utils.cpp
M compiler-rt/lib/scudo/standalone/string_utils.h
M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/vector.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/tsan/signal_errno.cpp
A compiler-rt/test/tsan/signal_in_futex_wait.cpp
A compiler-rt/test/tsan/signal_in_mutex_lock.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_sync.cpp
M compiler-rt/test/tsan/signal_thread.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
A flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/idioms.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Common/real.h
M flang/include/flang/Common/reference-wrapper.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/unwrap.h
A flang/include/flang/Common/variant.h
M flang/include/flang/Common/visit.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Decimal/decimal.h
M flang/include/flang/ISO_Fortran_binding_wrapper.h
A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
R flang/include/flang/Runtime/api-attrs.h
M flang/include/flang/Runtime/entry-names.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/iostat.h
M flang/include/flang/Runtime/memory.h
A flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/constant.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
R flang/lib/Lower/OpenMP/ClauseT.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.cpp
M flang/runtime/buffer.h
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/connection.cpp
M flang/runtime/connection.h
M flang/runtime/derived.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/emit-encoded.h
M flang/runtime/environment.h
M flang/runtime/external-unit.cpp
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
M flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/iostat.cpp
M flang/runtime/lock.h
M flang/runtime/memory.cpp
M flang/runtime/namelist.cpp
M flang/runtime/namelist.h
M flang/runtime/non-tbp-dio.h
M flang/runtime/numeric-templates.h
M flang/runtime/pointer.cpp
M flang/runtime/pseudo-unit.cpp
A flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/stat.h
M flang/runtime/terminator.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/runtime/utf.cpp
M flang/runtime/utf.h
M flang/test/Fir/boxproc-2.fir
A flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
A flang/test/Parser/unrecognized-dir.f90
A flang/test/Semantics/OpenMP/do20.f90
A flang/test/Semantics/deferred01.f90
M flang/test/Semantics/init01.f90
M flang/test/Semantics/resolve61.f90
M flang/test/Semantics/resolve81.f90
A flang/test/Semantics/structconst09.f90
M flang/unittests/Runtime/Reduction.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/docs/math/index.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/fsblkcnt_t.h
A libc/include/llvm-libc-types/fsfilcnt_t.h
A libc/include/llvm-libc-types/struct_statvfs.h
A libc/include/sys/statvfs.h.def
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/File/file.h
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
R libc/src/__support/OSUtil/baremetal/quick_exit.h
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/quick_exit.h
M libc/src/__support/OSUtil/gpu/CMakeLists.txt
M libc/src/__support/OSUtil/gpu/quick_exit.cpp
R libc/src/__support/OSUtil/gpu/quick_exit.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/quick_exit.cpp
R libc/src/__support/OSUtil/linux/quick_exit.h
M libc/src/__support/OSUtil/quick_exit.h
M libc/src/__support/macros/config.h
M libc/src/math/CMakeLists.txt
A libc/src/math/canonicalize.h
A libc/src/math/canonicalizef.h
A libc/src/math/canonicalizef128.h
A libc/src/math/canonicalizel.h
M libc/src/math/docs/add_math_function.md
A libc/src/math/fmaximum.h
A libc/src/math/fmaximum_mag.h
A libc/src/math/fmaximum_mag_num.h
A libc/src/math/fmaximum_mag_numf.h
A libc/src/math/fmaximum_mag_numf128.h
A libc/src/math/fmaximum_mag_numl.h
A libc/src/math/fmaximum_magf.h
A libc/src/math/fmaximum_magf128.h
A libc/src/math/fmaximum_magl.h
A libc/src/math/fmaximum_num.h
A libc/src/math/fmaximum_numf.h
A libc/src/math/fmaximum_numf128.h
A libc/src/math/fmaximum_numl.h
A libc/src/math/fmaximumf.h
A libc/src/math/fmaximumf128.h
A libc/src/math/fmaximuml.h
A libc/src/math/fminimum.h
A libc/src/math/fminimum_mag.h
A libc/src/math/fminimum_mag_num.h
A libc/src/math/fminimum_mag_numf.h
A libc/src/math/fminimum_mag_numf128.h
A libc/src/math/fminimum_mag_numl.h
A libc/src/math/fminimum_magf.h
A libc/src/math/fminimum_magf128.h
A libc/src/math/fminimum_magl.h
A libc/src/math/fminimum_num.h
A libc/src/math/fminimum_numf.h
A libc/src/math/fminimum_numf128.h
A libc/src/math/fminimum_numl.h
A libc/src/math/fminimumf.h
A libc/src/math/fminimumf128.h
A libc/src/math/fminimuml.h
A libc/src/math/fromfp.h
A libc/src/math/fromfpf.h
A libc/src/math/fromfpf128.h
A libc/src/math/fromfpl.h
A libc/src/math/fromfpx.h
A libc/src/math/fromfpxf.h
A libc/src/math/fromfpxf128.h
A libc/src/math/fromfpxl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/canonicalize.cpp
A libc/src/math/generic/canonicalizef.cpp
A libc/src/math/generic/canonicalizef128.cpp
A libc/src/math/generic/canonicalizel.cpp
A libc/src/math/generic/fmaximum.cpp
A libc/src/math/generic/fmaximum_mag.cpp
A libc/src/math/generic/fmaximum_mag_num.cpp
A libc/src/math/generic/fmaximum_mag_numf.cpp
A libc/src/math/generic/fmaximum_mag_numf128.cpp
A libc/src/math/generic/fmaximum_mag_numl.cpp
A libc/src/math/generic/fmaximum_magf.cpp
A libc/src/math/generic/fmaximum_magf128.cpp
A libc/src/math/generic/fmaximum_magl.cpp
A libc/src/math/generic/fmaximum_num.cpp
A libc/src/math/generic/fmaximum_numf.cpp
A libc/src/math/generic/fmaximum_numf128.cpp
A libc/src/math/generic/fmaximum_numl.cpp
A libc/src/math/generic/fmaximumf.cpp
A libc/src/math/generic/fmaximumf128.cpp
A libc/src/math/generic/fmaximuml.cpp
A libc/src/math/generic/fminimum.cpp
A libc/src/math/generic/fminimum_mag.cpp
A libc/src/math/generic/fminimum_mag_num.cpp
A libc/src/math/generic/fminimum_mag_numf.cpp
A libc/src/math/generic/fminimum_mag_numf128.cpp
A libc/src/math/generic/fminimum_mag_numl.cpp
A libc/src/math/generic/fminimum_magf.cpp
A libc/src/math/generic/fminimum_magf128.cpp
A libc/src/math/generic/fminimum_magl.cpp
A libc/src/math/generic/fminimum_num.cpp
A libc/src/math/generic/fminimum_numf.cpp
A libc/src/math/generic/fminimum_numf128.cpp
A libc/src/math/generic/fminimum_numl.cpp
A libc/src/math/generic/fminimumf.cpp
A libc/src/math/generic/fminimumf128.cpp
A libc/src/math/generic/fminimuml.cpp
A libc/src/math/generic/fromfp.cpp
A libc/src/math/generic/fromfpf.cpp
A libc/src/math/generic/fromfpf128.cpp
A libc/src/math/generic/fromfpl.cpp
A libc/src/math/generic/fromfpx.cpp
A libc/src/math/generic/fromfpxf.cpp
A libc/src/math/generic/fromfpxf128.cpp
A libc/src/math/generic/fromfpxl.cpp
A libc/src/math/generic/ufromfp.cpp
A libc/src/math/generic/ufromfpf.cpp
A libc/src/math/generic/ufromfpf128.cpp
A libc/src/math/generic/ufromfpl.cpp
A libc/src/math/generic/ufromfpx.cpp
A libc/src/math/generic/ufromfpxf.cpp
A libc/src/math/generic/ufromfpxf128.cpp
A libc/src/math/generic/ufromfpxl.cpp
A libc/src/math/ufromfp.h
A libc/src/math/ufromfpf.h
A libc/src/math/ufromfpf128.h
A libc/src/math/ufromfpl.h
A libc/src/math/ufromfpx.h
A libc/src/math/ufromfpxf.h
A libc/src/math/ufromfpxf128.h
A libc/src/math/ufromfpxl.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/exit.cpp
A libc/src/stdlib/strfromd.cpp
A libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfromf.h
A libc/src/stdlib/strfroml.cpp
A libc/src/stdlib/strfroml.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/statvfs/CMakeLists.txt
A libc/src/sys/statvfs/fstatvfs.h
A libc/src/sys/statvfs/linux/CMakeLists.txt
A libc/src/sys/statvfs/linux/fstatvfs.cpp
A libc/src/sys/statvfs/linux/statfs_utils.h
A libc/src/sys/statvfs/linux/statvfs.cpp
A libc/src/sys/statvfs/statvfs.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/arg_list_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/CanonicalizeTest.h
A libc/test/src/math/smoke/FMaximumMagNumTest.h
A libc/test/src/math/smoke/FMaximumMagTest.h
A libc/test/src/math/smoke/FMaximumNumTest.h
A libc/test/src/math/smoke/FMaximumTest.h
A libc/test/src/math/smoke/FMinimumMagNumTest.h
A libc/test/src/math/smoke/FMinimumMagTest.h
A libc/test/src/math/smoke/FMinimumNumTest.h
A libc/test/src/math/smoke/FMinimumTest.h
A libc/test/src/math/smoke/FromfpTest.h
A libc/test/src/math/smoke/FromfpxTest.h
A libc/test/src/math/smoke/UfromfpTest.h
A libc/test/src/math/smoke/UfromfpxTest.h
A libc/test/src/math/smoke/canonicalize_test.cpp
A libc/test/src/math/smoke/canonicalizef128_test.cpp
A libc/test/src/math/smoke/canonicalizef_test.cpp
A libc/test/src/math/smoke/canonicalizel_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_test.cpp
A libc/test/src/math/smoke/fmaximum_magf128_test.cpp
A libc/test/src/math/smoke/fmaximum_magf_test.cpp
A libc/test/src/math/smoke/fmaximum_magl_test.cpp
A libc/test/src/math/smoke/fmaximum_num_test.cpp
A libc/test/src/math/smoke/fmaximum_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_test.cpp
A libc/test/src/math/smoke/fmaximumf128_test.cpp
A libc/test/src/math/smoke/fmaximumf_test.cpp
A libc/test/src/math/smoke/fmaximuml_test.cpp
A libc/test/src/math/smoke/fminimum_mag_num_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
A libc/test/src/math/smoke/fminimum_mag_test.cpp
A libc/test/src/math/smoke/fminimum_magf128_test.cpp
A libc/test/src/math/smoke/fminimum_magf_test.cpp
A libc/test/src/math/smoke/fminimum_magl_test.cpp
A libc/test/src/math/smoke/fminimum_num_test.cpp
A libc/test/src/math/smoke/fminimum_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_numf_test.cpp
A libc/test/src/math/smoke/fminimum_numl_test.cpp
A libc/test/src/math/smoke/fminimum_test.cpp
A libc/test/src/math/smoke/fminimumf128_test.cpp
A libc/test/src/math/smoke/fminimumf_test.cpp
A libc/test/src/math/smoke/fminimuml_test.cpp
A libc/test/src/math/smoke/fromfp_test.cpp
A libc/test/src/math/smoke/fromfpf128_test.cpp
A libc/test/src/math/smoke/fromfpf_test.cpp
A libc/test/src/math/smoke/fromfpl_test.cpp
A libc/test/src/math/smoke/fromfpx_test.cpp
A libc/test/src/math/smoke/fromfpxf128_test.cpp
A libc/test/src/math/smoke/fromfpxf_test.cpp
A libc/test/src/math/smoke/fromfpxl_test.cpp
A libc/test/src/math/smoke/ufromfp_test.cpp
A libc/test/src/math/smoke/ufromfpf128_test.cpp
A libc/test/src/math/smoke/ufromfpf_test.cpp
A libc/test/src/math/smoke/ufromfpl_test.cpp
A libc/test/src/math/smoke/ufromfpx_test.cpp
A libc/test/src/math/smoke/ufromfpxf128_test.cpp
A libc/test/src/math/smoke/ufromfpxf_test.cpp
A libc/test/src/math/smoke/ufromfpxl_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/StrfromTest.h
A libc/test/src/stdlib/strfromd_test.cpp
M libc/test/src/stdlib/strfromf_test.cpp
A libc/test/src/stdlib/strfroml_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/statvfs/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
A libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/mismatch.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_starts_with.h
A libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__bit/bit_cast.h
M libcxx/include/__bit/countr.h
M libcxx/include/__config
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__ranges/as_rvalue_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/to.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_if_index.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_if_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_index.pass.cpp
M libcxx/test/std/utilities/variant/variant.get/get_type.pass.cpp
M libcxx/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.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 libcxx/test/support/variant_test_helpers.h
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/oss-fuzz.sh
M libcxx/utils/generate_escaped_output_table.py
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_width_estimation_table.py
M libcxx/utils/libcxx/test/features.py
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/SymbolTable.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
M lld/test/COFF/export.test
M lld/test/COFF/exportas.test
M lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable.s
M lld/test/ELF/aarch64-gnu-ifunc.s
M lld/test/ELF/arm-gnu-ifunc.s
M lld/test/ELF/driver.test
A lld/test/ELF/gc-sections-with-provide.s
M lld/test/ELF/gnu-ifunc-dyntags.s
M lld/test/ELF/gnu-ifunc-i386.s
M lld/test/ELF/linkerscript/symbolreferenced.s
M lld/test/ELF/lto/libcall-archive.ll
M lld/test/ELF/ppc32-ifunc-nonpreemptible-pic.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
M lld/test/ELF/riscv-tlsdesc-relax.s
M lld/test/ELF/riscv-tlsdesc.s
M lld/test/ELF/systemz-ifunc-nonpreemptible.s
M lld/test/ELF/x86-64-gotpc-relax-too-far.s
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/Core/Progress.h
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Interpreter/OptionArgParser.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/commands/target/modules/lookup/Makefile
A lldb/test/API/commands/target/modules/lookup/TestImageLookupPCExpression.py
A lldb/test/API/commands/target/modules/lookup/main.c
R lldb/test/API/debuginfod/Normal/Makefile
R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
R lldb/test/API/debuginfod/Normal/main.c
R lldb/test/API/debuginfod/SplitDWARF/Makefile
R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
R lldb/test/API/debuginfod/SplitDWARF/main.c
R lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test
M lldb/unittests/Core/ProgressReportTest.cpp
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ADT/SCCIterator.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
A llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DiagnosticHandler.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/Verifier.h
M llvm/include/llvm/MC/DXContainerPSVInfo.h
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/BalancedPartitioning.h
M llvm/include/llvm/Support/DXILABI.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/TextAPI/Utils.h
M llvm/include/llvm/Transforms/Scalar/Float2Int.h
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InlineOrder.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/CodeGen/ExpandLargeFpConvert.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegisterBankInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCParser/MCTargetAsmParser.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/RawMemProfReader.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedAmpere1.td
M llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
A llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
A llvm/lib/Target/BPF/BPFPassRegistry.def
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/CMakeLists.txt
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
A llvm/lib/Target/Hexagon/HexagonPassRegistry.def
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
A llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
A llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86SchedBroadwell.td
M llvm/lib/Target/X86/X86SchedHaswell.td
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TextAPI/Utils.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fmaximum.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fminimum.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/Bitcode/compatibility-3.6.ll
M llvm/test/Bitcode/compatibility-3.7.ll
M llvm/test/Bitcode/compatibility-3.8.ll
M llvm/test/Bitcode/compatibility-3.9.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/Bitcode/variableArgumentIntrinsic.3.2.ll
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-nneg-disjoint.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unreachable.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-exceptions.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector-widen-crash.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-trap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
M llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/CodeGen/AArch64/arm64-anyregcc.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/arm64-patchpoint.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bswap.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/hadd-combine.ll
M llvm/test/CodeGen/AArch64/insert-subvector.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
M llvm/test/CodeGen/AArch64/shift.ll
A llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
A llvm/test/CodeGen/AArch64/srem-vec-crash.ll
M llvm/test/CodeGen/AArch64/stack-tagging-stack-coloring.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.format.ll
A llvm/test/CodeGen/AMDGPU/add_sub_u64_pseudos.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.single.2b.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.ll
A llvm/test/CodeGen/AMDGPU/merge-buffer-gfx12.mir
A llvm/test/CodeGen/AMDGPU/merge-buffer.mir
M llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
M llvm/test/CodeGen/AMDGPU/schedule-addrspaces.ll
M llvm/test/CodeGen/AMDGPU/scratch-pointer-sink.ll
A llvm/test/CodeGen/DirectX/dot2_error.ll
A llvm/test/CodeGen/DirectX/dot3_error.ll
A llvm/test/CodeGen/DirectX/dot4_error.ll
A llvm/test/CodeGen/DirectX/fdot.ll
A llvm/test/CodeGen/DirectX/log-vec.ll
A llvm/test/CodeGen/DirectX/log.ll
A llvm/test/CodeGen/DirectX/log10.ll
A llvm/test/CodeGen/DirectX/log2.ll
A llvm/test/CodeGen/DirectX/log2_error.ll
A llvm/test/CodeGen/DirectX/sqrt.ll
A llvm/test/CodeGen/DirectX/sqrt_error.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_commutative.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_constant.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_invalid.ll
M llvm/test/CodeGen/Hexagon/hvx-loopidiom-memcpy.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove1.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/lcssa.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/memmove-rt-check.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/nullptr-crash.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-infinite-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-long-loop.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy.ll
A llvm/test/CodeGen/Mips/GlobalISel/instruction-select/trap.mir
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/ctpop.mir
R llvm/test/CodeGen/Mips/GlobalISel/legalizer/trap.mir
M llvm/test/CodeGen/Mips/atomic-min-max.ll
A llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
A llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/select.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vscale64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/trap.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-implicit-def.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-select.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/implicit-def.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/select.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vscale-rv64.mir
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
A llvm/test/CodeGen/RISCV/make-compressible-zbc.mir
M llvm/test/CodeGen/RISCV/misched-postra-direction.mir
A llvm/test/CodeGen/RISCV/rvv/abd.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
A llvm/test/CodeGen/RISCV/rvv/binop-zext.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
A llvm/test/CodeGen/RISCV/strip-w-suffix.ll
M llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll
M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
M llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
M llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
M llvm/test/CodeGen/SPIRV/assume.ll
M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
M llvm/test/CodeGen/SPIRV/expect.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_arbitrary_precision_integers.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative1.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative2.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative3.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv-negative4.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_no_integer_wrap_decoration.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
A llvm/test/CodeGen/SPIRV/extensions/both-allowed-disallowed-extension-error.ll
A llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
A llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions.ll
A llvm/test/CodeGen/SPIRV/extensions/invalid-extension-list-format.ll
A llvm/test/CodeGen/SPIRV/extensions/unknown-extension-name.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll
M llvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/add.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/and.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fadd.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmaximum.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fminimum.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmul.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/mul.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/or.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umax.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umin.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/xor.ll
M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
M llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
M llvm/test/CodeGen/SPIRV/transcoding/NoSignedUnsignedWrap.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
A llvm/test/CodeGen/SystemZ/readcyclecounter.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alias.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-debuginfo.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj.ll
A llvm/test/CodeGen/X86/GlobalISel/legalize-icmp-vec.mir
M llvm/test/CodeGen/X86/GlobalISel/x86-select-trap.mir
M llvm/test/CodeGen/X86/avgceilu.ll
M llvm/test/CodeGen/X86/extractelement-load.ll
A llvm/test/CodeGen/X86/isel-traps.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/masked_store.ll
A llvm/test/CodeGen/X86/pr86305.ll
M llvm/test/CodeGen/X86/sar_fold.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
A llvm/test/DebugInfo/X86/dbg-value-funcarg-duplicates.ll
A llvm/test/ExecutionEngine/JITLink/AArch64/ELF_section_start_and_stop_symbols.s
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_section_start_and_stop_symbols.s
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/SystemZ/vararg-kernel.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/msan_debug_info.ll
A llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
A llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
A llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
A llvm/test/MC/AMDGPU/hsa-tg-split.s
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/load-store-acquire-release-v8-thumb.s
M llvm/test/MC/ARM/load-store-acquire-release-v8.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
A llvm/test/MC/RISCV/rvv/zvkned-invalid.s
A llvm/test/MC/RISCV/rvv/zvknh-invalid.s
A llvm/test/MC/RISCV/rvv/zvksed-invalid.s
A llvm/test/MC/RISCV/rvv/zvksh-invalid.s
M llvm/test/MC/RISCV/rvv/zvksh.s
A llvm/test/MachineVerifier/test_g_ubsantrap.mir
A llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
A llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-fptoui129.ll
M llvm/test/Transforms/Float2Int/basic.ll
M llvm/test/Transforms/Float2Int/pr79158.ll
M llvm/test/Transforms/GlobalOpt/inalloca-varargs.ll
M llvm/test/Transforms/IROutliner/illegal-vaarg.ll
M llvm/test/Transforms/IROutliner/outline-vaarg-intrinsic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
A llvm/test/Transforms/Inline/RISCV/inline-target-features.ll
A llvm/test/Transforms/Inline/RISCV/lit.local.cfg
M llvm/test/Transforms/InstCombine/powi.ll
M llvm/test/Transforms/InstCombine/scalarization.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
M llvm/test/Transforms/LoopLoadElim/versioning-scev-invalidation.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-opaque-pointers.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/NewGVN/pr31483.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/Reassociate/vaarg_movable.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
A llvm/test/Verifier/tbaa-struct.ll
M llvm/test/tools/dxil-dis/debug-info.ll
M llvm/test/tools/llvm-lib/arm64ec-implib.test
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s
M llvm/test/tools/llvm-readobj/ELF/reloc-types-aarch64.test
A llvm/tools/llvm-debuginfo-analyzer/README.md
R llvm/tools/llvm-debuginfo-analyzer/README.txt
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/Linker/LinkModulesTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/ThreadPool.cpp
M llvm/unittests/TableGen/CMakeLists.txt
M llvm/unittests/TableGen/CodeExpanderTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
R llvm/utils/TableGen/AsmWriterInst.cpp
R llvm/utils/TableGen/AsmWriterInst.h
A llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
A llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
A llvm/utils/TableGen/Basic/SDNodeProperties.cpp
A llvm/utils/TableGen/Basic/SDNodeProperties.h
A llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/CMakeLists.txt
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
R llvm/utils/TableGen/CodeGenDAGPatterns.cpp
R llvm/utils/TableGen/CodeGenDAGPatterns.h
R llvm/utils/TableGen/CodeGenHwModes.cpp
R llvm/utils/TableGen/CodeGenHwModes.h
R llvm/utils/TableGen/CodeGenInstAlias.cpp
R llvm/utils/TableGen/CodeGenInstAlias.h
R llvm/utils/TableGen/CodeGenInstruction.cpp
R llvm/utils/TableGen/CodeGenInstruction.h
R llvm/utils/TableGen/CodeGenIntrinsics.cpp
R llvm/utils/TableGen/CodeGenIntrinsics.h
M llvm/utils/TableGen/CodeGenMapTable.cpp
R llvm/utils/TableGen/CodeGenRegisters.cpp
R llvm/utils/TableGen/CodeGenRegisters.h
R llvm/utils/TableGen/CodeGenSchedule.cpp
R llvm/utils/TableGen/CodeGenSchedule.h
R llvm/utils/TableGen/CodeGenTarget.cpp
R llvm/utils/TableGen/CodeGenTarget.h
A llvm/utils/TableGen/Common/AsmWriterInst.cpp
A llvm/utils/TableGen/Common/AsmWriterInst.h
A llvm/utils/TableGen/Common/CMakeLists.txt
A llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
A llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
A llvm/utils/TableGen/Common/CodeGenHwModes.cpp
A llvm/utils/TableGen/Common/CodeGenHwModes.h
A llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
A llvm/utils/TableGen/Common/CodeGenInstAlias.h
A llvm/utils/TableGen/Common/CodeGenInstruction.cpp
A llvm/utils/TableGen/Common/CodeGenInstruction.h
A llvm/utils/TableGen/Common/CodeGenRegisters.cpp
A llvm/utils/TableGen/Common/CodeGenRegisters.h
A llvm/utils/TableGen/Common/CodeGenSchedule.cpp
A llvm/utils/TableGen/Common/CodeGenSchedule.h
A llvm/utils/TableGen/Common/CodeGenTarget.cpp
A llvm/utils/TableGen/Common/CodeGenTarget.h
A llvm/utils/TableGen/Common/DAGISelMatcher.cpp
A llvm/utils/TableGen/Common/DAGISelMatcher.h
A llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
A llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
A llvm/utils/TableGen/Common/GlobalISel/CodeExpander.cpp
A llvm/utils/TableGen/Common/GlobalISel/CodeExpander.h
A llvm/utils/TableGen/Common/GlobalISel/CodeExpansions.h
A llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.cpp
A llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
A llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
A llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
A llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
A llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
A llvm/utils/TableGen/Common/GlobalISel/PatternParser.h
A llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
A llvm/utils/TableGen/Common/GlobalISel/Patterns.h
A llvm/utils/TableGen/Common/InfoByHwMode.cpp
A llvm/utils/TableGen/Common/InfoByHwMode.h
A llvm/utils/TableGen/Common/OptEmitter.cpp
A llvm/utils/TableGen/Common/OptEmitter.h
A llvm/utils/TableGen/Common/PredicateExpander.cpp
A llvm/utils/TableGen/Common/PredicateExpander.h
A llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
A llvm/utils/TableGen/Common/SubtargetFeatureInfo.h
A llvm/utils/TableGen/Common/Types.cpp
A llvm/utils/TableGen/Common/Types.h
A llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
A llvm/utils/TableGen/Common/VarLenCodeEmitterGen.h
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelEmitter.cpp
R llvm/utils/TableGen/DAGISelMatcher.cpp
R llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
R llvm/utils/TableGen/GlobalISel/CMakeLists.txt
R llvm/utils/TableGen/GlobalISel/CXXPredicates.cpp
R llvm/utils/TableGen/GlobalISel/CXXPredicates.h
R llvm/utils/TableGen/GlobalISel/CodeExpander.cpp
R llvm/utils/TableGen/GlobalISel/CodeExpander.h
R llvm/utils/TableGen/GlobalISel/CodeExpansions.h
R llvm/utils/TableGen/GlobalISel/CombinerUtils.h
R llvm/utils/TableGen/GlobalISel/MatchDataInfo.cpp
R llvm/utils/TableGen/GlobalISel/MatchDataInfo.h
R llvm/utils/TableGen/GlobalISel/Patterns.cpp
R llvm/utils/TableGen/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
R llvm/utils/TableGen/GlobalISelMatchTable.cpp
R llvm/utils/TableGen/GlobalISelMatchTable.h
R llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.cpp
R llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.h
R llvm/utils/TableGen/InfoByHwMode.cpp
R llvm/utils/TableGen/InfoByHwMode.h
M llvm/utils/TableGen/InstrDocsEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
R llvm/utils/TableGen/OptEmitter.cpp
R llvm/utils/TableGen/OptEmitter.h
M llvm/utils/TableGen/OptParserEmitter.cpp
M llvm/utils/TableGen/OptRSTEmitter.cpp
R llvm/utils/TableGen/PredicateExpander.cpp
R llvm/utils/TableGen/PredicateExpander.h
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/RegisterBankEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
R llvm/utils/TableGen/SDNodeProperties.cpp
R llvm/utils/TableGen/SDNodeProperties.h
M llvm/utils/TableGen/SearchableTableEmitter.cpp
R llvm/utils/TableGen/SequenceToOffsetTable.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
R llvm/utils/TableGen/SubtargetFeatureInfo.cpp
R llvm/utils/TableGen/SubtargetFeatureInfo.h
R llvm/utils/TableGen/Types.cpp
R llvm/utils/TableGen/Types.h
R llvm/utils/TableGen/VarLenCodeEmitterGen.cpp
R llvm/utils/TableGen/VarLenCodeEmitterGen.h
M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
M llvm/utils/TableGen/X86MnemonicTables.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
M llvm/utils/bisect-skip-count
M llvm/utils/git/code-format-helper.py
M llvm/utils/git/github-automation.py
M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
A llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
A llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
R llvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
M mlir/docs/DataLayout.md
M mlir/include/mlir/Analysis/Presburger/Matrix.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Dialect/Arith/Transforms/BufferViewFlowOpInterfaceImpl.h
A mlir/include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.h
A mlir/include/mlir/Dialect/Bufferization/IR/BufferViewFlowOpInterface.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.h
M mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
A mlir/include/mlir/Dialect/MemRef/Transforms/BufferViewFlowOpInterfaceImpl.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Transform/IR/CMakeLists.txt
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
A mlir/lib/Dialect/Arith/Transforms/BufferViewFlowOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Bufferization/IR/BufferViewFlowOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
A mlir/lib/Dialect/MemRef/Transforms/BufferViewFlowOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Transforms/InlinerPass.cpp
M mlir/test/Conversion/ArithToSPIRV/fast-math.mlir
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
A mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-loops.mlir
M mlir/test/Dialect/Bufferization/Transforms/buffer-deallocation-simplification.mlir
M mlir/test/Dialect/Complex/canonicalize.mlir
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
A mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Transform/ops-invalid.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/fill-1d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
M mlir/test/Target/LLVMIR/Import/basic.ll
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M openmp/libomptarget/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/OMPT/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/host/src/rtl.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_collapse.cpp
M openmp/runtime/src/kmp_csupport.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/z_Linux_util.cpp
M openmp/runtime/test/lit.cfg
A openmp/runtime/test/worksharing/for/collapse_test.inc
A openmp/runtime/test/worksharing/for/omp_collapse_many_GELTGT_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_GTGEGT_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_LTLEGE_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_many_int.c
A openmp/runtime/test/worksharing/for/omp_collapse_one_int.c
A polly/include/polly/Support/PollyDebug.h
M polly/lib/Analysis/DependenceInfo.cpp
M polly/lib/Analysis/PolyhedralInfo.cpp
M polly/lib/Analysis/PruneUnprofitable.cpp
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CMakeLists.txt
M polly/lib/CodeGen/CodeGeneration.cpp
M polly/lib/CodeGen/IslAst.cpp
A polly/lib/Support/PollyDebug.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/FlattenAlgo.cpp
M polly/lib/Transform/FlattenSchedule.cpp
M polly/lib/Transform/ForwardOpTree.cpp
M polly/lib/Transform/ManualOptimizer.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
M polly/lib/Transform/ScheduleTreeTransform.cpp
M polly/lib/Transform/ScopInliner.cpp
M polly/lib/Transform/Simplify.cpp
M polly/lib/Transform/ZoneAlgo.cpp
A polly/test/Support/pollyDebug.ll
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/third_party_build/pfm.BUILD
Log Message:
-----------
Rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/7c582a3d9c6f...ce32678de5e8
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