[all-commits] [llvm/llvm-project] de375f: [RISCV] Move OrderedExtensionMap typedef to RISCVI...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Wed May 1 14:39:30 PDT 2024
Branch: refs/heads/users/vitalybuka/spr/msan-dont-modify-cfg-iterating-it
Home: https://github.com/llvm/llvm-project
Commit: de375fbc713b7c5cd0e3377a49f0773300203b63
https://github.com/llvm/llvm-project/commit/de375fbc713b7c5cd0e3377a49f0773300203b63
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
M lld/ELF/Arch/RISCV.cpp
M llvm/include/llvm/Support/RISCVISAUtils.h
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Move OrderedExtensionMap typedef to RISCVISAUtils.h. NFC
Commit: d6bf04f4760b0dff3c3d3ff9b560c04438cc25ac
https://github.com/llvm/llvm-project/commit/d6bf04f4760b0dff3c3d3ff9b560c04438cc25ac
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths:
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[LTO] Remove extraneous ArrayRef (NFC) (#90306)
We don't need to explicitly create these instances of ArrayRef because
Hasher::update takes ArrayRef, and ArrayRef can be implicitly
constructed from C arrays.
Commit: e04df693bf5b38099ef1d7ab8e6ce6a1469597e2
https://github.com/llvm/llvm-project/commit/e04df693bf5b38099ef1d7ab8e6ce6a1469597e2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Introduce FrameIdConverter and CallStackIdConverter (#90307)
Currently, we convert FrameId to Frame and CallStackId to a call stack
at several places. This patch unifies those into function objects --
FrameIdConverter and CallStackIdConverter.
The existing implementation of CallStackIdConverter, being removed in
this patch, handles both FrameId and CallStackId conversions. This
patch splits it into two phases for flexibility (but make them
composable) because some places only require the FrameId conversion.
Commit: 315dc4bbc730a3c672967c27587088cfe9752fe6
https://github.com/llvm/llvm-project/commit/315dc4bbc730a3c672967c27587088cfe9752fe6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add a space after a word token only if required (#90161)
Fixes #78166.
Commit: cb508a0032eb2d11391214864f408261158361bf
https://github.com/llvm/llvm-project/commit/cb508a0032eb2d11391214864f408261158361bf
Author: Perry MacMurray <pmacmurr at quicinc.com>
Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
A llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
Log Message:
-----------
[Hexagon] Add Hexagon Copy Hoisting pass (#89313)
Adds the HexagonCopyHoisting pass, which moves a common copy instruction
into a basic block if it is present in all successor basic blocks.
---------
Co-authored-by: Jyotsna Verma <jverma at quicinc.com>
Commit: 338561657685c1831a53563b1bc36ffc7470239e
https://github.com/llvm/llvm-project/commit/338561657685c1831a53563b1bc36ffc7470239e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port cb508a0032eb
Commit: 90a959a8c978671467041c865509a0e1823c5115
https://github.com/llvm/llvm-project/commit/90a959a8c978671467041c865509a0e1823c5115
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Add llvm-mca unittests (#90309)
This patch refactors the llvm-mca rules slightly so that the source
files within the tool source directory but not the library source
directory are included in a separate cc_library. This patch also adds
the llvm-mca unittests.
Commit: 85a9528aa1f2d54379bf972908e12ee2a6f07b4b
https://github.com/llvm/llvm-project/commit/85a9528aa1f2d54379bf972908e12ee2a6f07b4b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths:
M libcxx/include/__utility/no_destroy.h
M libcxx/test/libcxx/transitive_includes/cxx20.csv
A libcxx/test/libcxx/utilities/no_destroy.pass.cpp
Log Message:
-----------
[libcxx] Remove empty ~__no_destroy (#89882)
Primary motivation: is that after #84651 msan will
complain if fields accessed after ~__no_destroy.
My understanding of the https://eel.is/c++draft/basic.life#10
Static object with trivial destruction has program lifetime.
Static object with empty destuctor has implicit lifetime, and
accessing the object after lifetime is UB.
It was UB before #84651, it's just msan ignored union members.
Existing code with unions uses empty destructor, so accessing after
the main() can cause UB.
"placement new" version can have trivial destructor, so there is no end
of lifetime.
Secondary motivation: empty destructor will register __cxa_atexit with
-O0.
https://gcc.godbolt.org/z/hce587b65
We can not remove the destructor with union where
_Tp can have non-trivial destructor.
But we can remove destructor if we use in-place
new instead of union.
https://gcc.godbolt.org/z/Yqxx57eEd - empty even with -O0.
New test fails without the patch on
https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-bootstrap-msan
Commit: 9145514fde484916971e6bb147c18f9235a9f2b5
https://github.com/llvm/llvm-project/commit/9145514fde484916971e6bb147c18f9235a9f2b5
Author: Semyon Khechnev <91785625+s-khechnev at users.noreply.github.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] fix canonicalization of mulsi_extended for i1 (#90150)
There is the `MulSIExtendedRHSOne` canonicalization for
arith.mulsi_extended that is defined as follows: `mulsi_extended(x, 1)
-> [x, extsi(cmpi slt, x, 0)]`. In the implementation of this, there is
a `IsScalarOrSplatOne` constraint for the second argument. However, this
constraint does not correctly handle situation when multiplying i1
values. Therefore, an additional constraint has been added which checks
the second argument for strict positivity.
fix #88732
Commit: bc349cea7ad83bba9614e82f695d4b608f801102
https://github.com/llvm/llvm-project/commit/bc349cea7ad83bba9614e82f695d4b608f801102
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
Log Message:
-----------
[GlobalIsel] combine insert vector element (#89363)
preliminary steps
poison symbols
Commit: 7aa6896dd7bcdcb1d09f4f98e356c43d723d9d6b
https://github.com/llvm/llvm-project/commit/7aa6896dd7bcdcb1d09f4f98e356c43d723d9d6b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
Revert "[memprof] Introduce FrameIdConverter and CallStackIdConverter" (#90318)
Reverts llvm/llvm-project#90307
Breaks bots https://lab.llvm.org/buildbot/#/builders/5/builds/42943
Commit: 9bb84cec1b5375c24e5fa9cf7700070d9d1b4184
https://github.com/llvm/llvm-project/commit/9bb84cec1b5375c24e5fa9cf7700070d9d1b4184
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
M llvm/unittests/ADT/StringRefTest.cpp
Log Message:
-----------
[ADT] Add StringRef::{starts,ends}_with(char) (#90311)
This patch adds to StringRef the equivalent of
std::string_view::{starts,ends}_with(char) in C++20.
Commit: 840032419d3717a81e48db6c165dab006252936b
https://github.com/llvm/llvm-project/commit/840032419d3717a81e48db6c165dab006252936b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__string/char_traits.h
Log Message:
-----------
[libc++][NFC] Rename __find_impl to __find (#90163)
For most algorithms we've just added underscores to the detail function.
This changes `std::find` to match that pattern.
Commit: 715219482b99ceef9bf83a2ff68c64c8faa930cd
https://github.com/llvm/llvm-project/commit/715219482b99ceef9bf83a2ff68c64c8faa930cd
Author: Cinhi Young <cyanoxygen at aosc.io>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
A llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
Log Message:
-----------
[MIPS] match llvm.{min,max}num with {min,max}.fmt for R6 (#89021)
- The behavior is similar to UCOMISD on x86, which is also used to
compare two fp values, specifically on handling of NaNs.
- Update related tests regarding this change.
- The further goal is to implement `llvm.minimum` and `llvm.maximum`
intrinsics for MIPS R6 and Pre-R6.
Part of https://github.com/llvm/llvm-project/issues/64207
Commit: c229f767e48c7190b7568e6ebd1688bb08795744
https://github.com/llvm/llvm-project/commit/c229f767e48c7190b7568e6ebd1688bb08795744
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Log Message:
-----------
[DFAJumpThreading] Avoid exploring the paths that never come back (#85505)
This patch does:
- Preserve loop info when unfolding selects.
- Reduce the search space for loop paths.
Commit: b2c9f7d3188e41163574a83a835437955cf4b80f
https://github.com/llvm/llvm-project/commit/b2c9f7d3188e41163574a83a835437955cf4b80f
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
Log Message:
-----------
[clang-tidy] Ensure nullable variable is not accessed without validity test (#90173)
Commit: 9e30c96aee5c85b4a5b7efa79cc7c94c1edb9d5b
https://github.com/llvm/llvm-project/commit/9e30c96aee5c85b4a5b7efa79cc7c94c1edb9d5b
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/fpmode.ll
Log Message:
-----------
[AArch64] Lowering of fpmode intrinsics in DAG (#80611)
LLVM intrinsics `get_fpmode`, `set_fpmode` and `reset_fpmode` operate
control modes, the bits of FP environment that affect FP operations. On
AArch64 these bits are in FPCR. The lowering implemented to produce code
close to that of GLIBC.
Commit: b5e8555607ed39816dd05e8b6fafa2774305e825
https://github.com/llvm/llvm-project/commit/b5e8555607ed39816dd05e8b6fafa2774305e825
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Log Message:
-----------
[MemCpyOpt][NFC] Format codebase (#90225)
This patch automatically formats the code.
Commit: 7b5b5214a6f905be67e3c2ecb9b4887eaa3406c3
https://github.com/llvm/llvm-project/commit/7b5b5214a6f905be67e3c2ecb9b4887eaa3406c3
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Log Message:
-----------
[DFAJumpThreading][NFC] Use const reference as range variable (#90342)
Fixes #90286
Commit: ff03f23be8bc6df701efd9e1093779fbcf382d87
https://github.com/llvm/llvm-project/commit/ff03f23be8bc6df701efd9e1093779fbcf382d87
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/CMakeLists.txt
M llvm/lib/Target/WebAssembly/WebAssembly.h
A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/unreachable.ll
M llvm/test/MC/WebAssembly/global-ctor-dtor.ll
Log Message:
-----------
[WebAssembly] remove instruction after builtin trap (#90207)
`llvm.trap` will be convert as `unreachable` which is terminator.
Instruction after terminator will cause validation failed.
This PR introduces a pass to clean instruction after terminator.
Fixes: #68770.
Commit: 738c135ee09de66a26805530d314c2f28d1eca02
https://github.com/llvm/llvm-project/commit/738c135ee09de66a26805530d314c2f28d1eca02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
Log Message:
-----------
SystemZ: Add more tests for fp128 atomics (#90269)
These did not have proper floating point uses so weren't representative
samples. The bitcast inserted by lowering could be absorbed by the
load/store on the source/use.
Commit: 803cbcbc4029fc65188f6c1083a230341279b2d2
https://github.com/llvm/llvm-project/commit/803cbcbc4029fc65188f6c1083a230341279b2d2
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c
Log Message:
-----------
[clang-tidy] Enable C23 support in modernize-use-nullptr (#89990)
C23 introduces the `nullptr` constant similar to C++11 which means that
the checker `modernize-use-nullptr` can be used on C23 code as well.
This PR enables the checker to be run on C23 and adds testcases.
See N3042:
https://open-std.org/JTC1/SC22/WG14/www/docs/n3042.htm
Commit: 0336328e970e7e809d52a33a704bb7c05f6e170e
https://github.com/llvm/llvm-project/commit/0336328e970e7e809d52a33a704bb7c05f6e170e
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][DOC] Minor fixes to release notes
Fix minor style problems in release notes.
Commit: 38a2051c5222b3e5245043a3056b3a1e89f69b22
https://github.com/llvm/llvm-project/commit/38a2051c5222b3e5245043a3056b3a1e89f69b22
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/CMakeLists.txt
M llvm/lib/Target/WebAssembly/WebAssembly.h
R llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/unreachable.ll
M llvm/test/MC/WebAssembly/global-ctor-dtor.ll
Log Message:
-----------
Revert "[WebAssembly] remove instruction after builtin trap" (#90354)
Reverts llvm/llvm-project#90207
LLD Bots are broken.
Commit: 6084dcbfce6a54f6cb88e40ef490e0dd25984f81
https://github.com/llvm/llvm-project/commit/6084dcbfce6a54f6cb88e40ef490e0dd25984f81
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
A llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
A llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
Log Message:
-----------
[LV] Add additional cost model coverage for loops with casted inds.
Add test coverage for cost-model code-paths not covered by current unit
tests in preparation for
https://github.com/llvm/llvm-project/pull/67934.
Commit: b4af01bada0c945906d85c364e12aceaf98b0fae
https://github.com/llvm/llvm-project/commit/b4af01bada0c945906d85c364e12aceaf98b0fae
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
Log Message:
-----------
[clang-format][NFC] Don't repeat Changes[i]/Changes[i - 1]
Commit: 53ff002c6f7ec64a75ab0990b1314cc6b4bb67cf
https://github.com/llvm/llvm-project/commit/53ff002c6f7ec64a75ab0990b1314cc6b4bb67cf
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M clang/cmake/caches/Release.cmake
M llvm/utils/release/test-release.sh
Log Message:
-----------
[CMake][Release] Enable CMAKE_POSITION_INDEPENDENT_CODE (#90139)
Set this in the cache file directly instead of via the test-release.sh
script so that the release builds can be reproduced with just the cache
file.
Commit: ad1e10ae1109fa7204ab70422bb611fe88391228
https://github.com/llvm/llvm-project/commit/ad1e10ae1109fa7204ab70422bb611fe88391228
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-04-27 (Sat, 27 Apr 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] Add ClangIR codeowners (#86089)
Commit: 1a462296360f311d4593694aefd30c6b3e969460
https://github.com/llvm/llvm-project/commit/1a462296360f311d4593694aefd30c6b3e969460
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M lld/test/wasm/init-fini.ll
M llvm/lib/Target/WebAssembly/CMakeLists.txt
M llvm/lib/Target/WebAssembly/WebAssembly.h
A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/unreachable.ll
M llvm/test/MC/WebAssembly/global-ctor-dtor.ll
Log Message:
-----------
Revert "Revert "[WebAssembly] remove instruction after builtin trap" (#90354)" (#90366)
`llvm.trap` will be convert as unreachable which is terminator.
Instruction after terminator will cause validation failed.
This PR introduces a pass to clean instruction after terminator.
Fixes: https://github.com/llvm/llvm-project/issues/68770
Reapply: #90207
Commit: 679e99d6667343e32f418d249e1af1cd76f1c08a
https://github.com/llvm/llvm-project/commit/679e99d6667343e32f418d249e1af1cd76f1c08a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Log Message:
-----------
[gn build] Port 1a462296360f
Commit: 7037878d2b4afbda436ec61008ac907bd782bdd8
https://github.com/llvm/llvm-project/commit/7037878d2b4afbda436ec61008ac907bd782bdd8
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV][TableGen] Get right experimental extension name
We should remove the `experimental-` prefix when printing march
string.
We didn't meet this problem because there is no processor containing
experimental extensions.
Reviewers: fpetrogalli, asb, topperc
Reviewed By: topperc, asb
Pull Request: https://github.com/llvm/llvm-project/pull/90185
Commit: f86d264dfdd6d1fa2fc6f933c9ae7b5db50a770b
https://github.com/llvm/llvm-project/commit/f86d264dfdd6d1fa2fc6f933c9ae7b5db50a770b
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
A llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Add subtarget features for profiles
This may simplify the usage of tools like `opt`, `llc`, etc.
Reviewers: michaelmaitland, 4vtomat, preames, asb
Reviewed By: michaelmaitland, preames, 4vtomat
Pull Request: https://github.com/llvm/llvm-project/pull/84877
Commit: c705c6847633ae3ef6711f911b829521463b24b4
https://github.com/llvm/llvm-project/commit/c705c6847633ae3ef6711f911b829521463b24b4
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Generate profiles from RISCVProfiles.td
So we can only mantain one place.
Reviewers: preames, yetingk, topperc
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/90187
Commit: 2c1c887c8e6baf39a58a2ec18a43ed4101422e2a
https://github.com/llvm/llvm-project/commit/2c1c887c8e6baf39a58a2ec18a43ed4101422e2a
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
Log Message:
-----------
[RISCV] Make fixed-point instructions commutable (#90035)
This PR includes:
* vsadd.vv/vsaddu.vv
* vaadd.vv/vaaddu.vv
* vsmul.vv
Commit: 37eb9c9632fb5e82827d1a0559f2279e9a9f1969
https://github.com/llvm/llvm-project/commit/37eb9c9632fb5e82827d1a0559f2279e9a9f1969
Author: Zhijin Zeng <zhijin.zeng at spacemit.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISC-V][ISel] Remove redundant czero.eqz like 'czero.eqz a0, a0, a0' (#90208)
In RISC-V ISel, the instruction `czero.eqz a0, a0, a0` is meaningless.
This patch does the following folds in ISel:
```
czero_eqz x, (setcc x, 0, ne) -> x
czero_nez x, (setcc x, 0, eq) -> x
```
---------
Signed-off-by: Zhijin Zeng <zhijin.zeng at spacemit.com>
Commit: 487967af82053cd08022635a2ff768385d936c80
https://github.com/llvm/llvm-project/commit/487967af82053cd08022635a2ff768385d936c80
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclContextInternals.h
A clang/test/Modules/pr88400.cppm
Log Message:
-----------
[Modules] Don't replace local declarations with external declaration with lower visibility
Close https://github.com/llvm/llvm-project/issues/88400
For the reproducer:
```
//--- header.h
namespace N {
template<typename T>
concept X = true;
template<X T>
class Y {
public:
template<X U>
friend class Y;
};
inline Y<int> x;
}
//--- bar.cppm
module;
export module bar;
namespace N {
// To make sure N::Y won't get elided.
using N::x;
}
//--- foo.cc
// expected-no-diagnostics
import bar;
void y() {
N::Y<int> y{};
};
```
it will crash. The root cause is that in
`StoredDeclsList::replaceExternalDecls`, we will replace the
existing declarations with external declarations.
Then for the reproducer, the redecl chain for Y is like:
```
Y (Local) -> Y (Local, friend) -> Y (Imported) -> Y(Imported, friend)
```
Before the lookup, the stored lookup result is `Y(Local)` then we find
`Y(Imported)`. And now we repalce `Y(Local)` with `Y(Imported)`. But
`Y(Imported)` is not visible. So we tried to find if there is any
redeclarations visible but we find `Y(Local, friend)`, then problem
happens.
The solution is try to avoid the replace to happen if the external
declaration has lower visibility then we can always find the local
declarations. This may help the lookup performance slightly.
Also I found the implementation of
`StoredDeclsList::replaceExternalDecls` is not efficiency. It has an
`O(n*m)` complexities. But let's improve that in the future.
Commit: 5820ad92456dfb68bd964fb2bfa0fa783a5b99fe
https://github.com/llvm/llvm-project/commit/5820ad92456dfb68bd964fb2bfa0fa783a5b99fe
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[NFC][RISCV] Keep AVLReg define instr inside VSETVLInfo (#89180)
Currently, the vsetvli pass tracks the define instruction through
`MRI->getVRegDef` due to the SSA form.
This patch keeps the AVLReg DefMI within VSETVLInfo during construction.
And replace `MRI->getVRegDef(AVLReg)` with `getAVLRegDefMI()`.
This information is useful when vsetvli pass live in post-ra situation.
The testcases don't change because the VReg always has a unique def in
SSA.
Commit: 0a0f1f9f1db0546084e9a62ec370025ec23be8f2
https://github.com/llvm/llvm-project/commit/0a0f1f9f1db0546084e9a62ec370025ec23be8f2
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
A llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
A llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir
Log Message:
-----------
[PPC]add DEBUG_COUNTER for PPCMIPeephole pass
Commit: e3dea5e3410fd6a1e549cfa7021c4f8652b36095
https://github.com/llvm/llvm-project/commit/e3dea5e3410fd6a1e549cfa7021c4f8652b36095
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/format
A libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
M libcxx/utils/generate_escaped_output_table.py
Log Message:
-----------
[libc++][format] Improves escaping performance. (#88533)
The previous patch implemented
- P2713R1 Escaping improvements in std::format
- LWG3965 Incorrect example in [format.string.escaped] p3 for formatting
of combining characters
These changes were correct, but had a size and performance penalty. This
patch improves the size and performance of the previous patch. The
performance is still worse than before since the lookups may require two
property lookups instead of one before implementing the paper. The
changes give a tighter coupling between the Unicode data and the
algorithm. Additional tests are added to notify about changes in future
Unicode updates.
Before
```
-----------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char> 110704 ns 110696 ns 6206
BM_unicode_escaped<char> 101371 ns 101374 ns 6862
BM_cyrillic_escaped<char> 63329 ns 63327 ns 11013
BM_japanese_escaped<char> 41223 ns 41225 ns 16938
BM_emoji_escaped<char> 111022 ns 111021 ns 6304
BM_ascii_escaped<wchar_t> 112441 ns 112443 ns 6231
BM_unicode_escaped<wchar_t> 102776 ns 102779 ns 6813
BM_cyrillic_escaped<wchar_t> 58977 ns 58975 ns 11868
BM_japanese_escaped<wchar_t> 36885 ns 36886 ns 18975
BM_emoji_escaped<wchar_t> 115885 ns 115881 ns 6051
```
The first change is to manually encode the entire last area and make a
manual exception for the 240 excluded entries. This reduced the table
from 1077 to 729 entries and gave the following benchmark results.
```
-----------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char> 104777 ns 104776 ns 6550
BM_unicode_escaped<char> 96980 ns 96982 ns 7238
BM_cyrillic_escaped<char> 60254 ns 60251 ns 11670
BM_japanese_escaped<char> 44452 ns 44452 ns 15734
BM_emoji_escaped<char> 104557 ns 104551 ns 6685
BM_ascii_escaped<wchar_t> 107456 ns 107454 ns 6505
BM_unicode_escaped<wchar_t> 96219 ns 96216 ns 7301
BM_cyrillic_escaped<wchar_t> 56921 ns 56904 ns 12288
BM_japanese_escaped<wchar_t> 39530 ns 39529 ns 17492
BM_emoji_escaped<wchar_t> 108494 ns 108496 ns 6408
```
An entry in the table can only contain 2048 code points. For larger
ranges there are multiple entries split in chunks with a maximum size of
2048 entries. To encode the entire Unicode code point range 21 bits are
required. The manual part starts at 0x323B0 this means all entries in
the table fit in 18 bits. This allows to allocate 3 additional bits for
the range. This allows entries to have 16384 elements. This range always
avoids splitting the range in multiple chunks.
This reduces the number of table elements from 729 to 711 and gives the
following benchmark results.
```
-----------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char> 104289 ns 104289 ns 6619
BM_unicode_escaped<char> 96682 ns 96681 ns 7215
BM_cyrillic_escaped<char> 59673 ns 59673 ns 11732
BM_japanese_escaped<char> 41983 ns 41982 ns 16646
BM_emoji_escaped<char> 104119 ns 104120 ns 6683
BM_ascii_escaped<wchar_t> 104503 ns 104505 ns 6693
BM_unicode_escaped<wchar_t> 93426 ns 93423 ns 7489
BM_cyrillic_escaped<wchar_t> 54858 ns 54859 ns 12742
BM_japanese_escaped<wchar_t> 36385 ns 36384 ns 19259
BM_emoji_escaped<wchar_t> 105608 ns 105610 ns 6592
```
Commit: 367efa0b0542e6f4171e8c914728946c302ab24b
https://github.com/llvm/llvm-project/commit/367efa0b0542e6f4171e8c914728946c302ab24b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclContextInternals.h
Log Message:
-----------
[NFC] [Modules] Avoid scanning the stored decl list twice when replace
external decls
This patch fixes a FIXME in StoredDeclList::replaceExternalDecls.
StoredDeclList::replaceExternalDecls will iterate the list first to
remove some declarations and iterate the list again to get the tail of
the list.
It should be better to avoid the second iterations.
Commit: bfd269d0d0d6cb58235a838eb659eef97e4f2ebf
https://github.com/llvm/llvm-project/commit/bfd269d0d0d6cb58235a838eb659eef97e4f2ebf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M clang/test/Driver/amdgpu-toolchain.c
Log Message:
-----------
[AMDGPU] Fix test failing on Windows for `ld.lld.exe`
Commit: 46321395ce5c13079322ab0d965967fb60472fd2
https://github.com/llvm/llvm-project/commit/46321395ce5c13079322ab0d965967fb60472fd2
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
R flang/test/Lower/OpenMP/FIR/array-bounds.f90
R flang/test/Lower/OpenMP/FIR/atomic-capture.f90
R flang/test/Lower/OpenMP/FIR/atomic-read.f90
R flang/test/Lower/OpenMP/FIR/atomic-update.f90
R flang/test/Lower/OpenMP/FIR/atomic-write.f90
R flang/test/Lower/OpenMP/FIR/copyin.f90
R flang/test/Lower/OpenMP/FIR/critical.f90
R flang/test/Lower/OpenMP/FIR/declare-target-data.f90
R flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
R flang/test/Lower/OpenMP/FIR/default-clause.f90
R flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
R flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
R flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
R flang/test/Lower/OpenMP/FIR/flush.f90
R flang/test/Lower/OpenMP/FIR/if-clause.f90
R flang/test/Lower/OpenMP/FIR/is-device.f90
R flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
R flang/test/Lower/OpenMP/FIR/location.f90
R flang/test/Lower/OpenMP/FIR/loop-combined.f90
R flang/test/Lower/OpenMP/FIR/map-component-ref.f90
R flang/test/Lower/OpenMP/FIR/master.f90
R flang/test/Lower/OpenMP/FIR/omp-declare-target-program-var.f90
R flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
R flang/test/Lower/OpenMP/FIR/ordered-threads.f90
R flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
R flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
R flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
R flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
R flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
R flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
R flang/test/Lower/OpenMP/FIR/parallel-sections.f90
R flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
R flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
R flang/test/Lower/OpenMP/FIR/parallel.f90
R flang/test/Lower/OpenMP/FIR/pre-fir-tree-loop.f90
R flang/test/Lower/OpenMP/FIR/pre-fir-tree01.f90
R flang/test/Lower/OpenMP/FIR/private-commonblock.f90
R flang/test/Lower/OpenMP/FIR/requires-common.f90
R flang/test/Lower/OpenMP/FIR/requires-notarget.f90
R flang/test/Lower/OpenMP/FIR/requires.f90
R flang/test/Lower/OpenMP/FIR/rtl-flags.f90
R flang/test/Lower/OpenMP/FIR/sections-pft.f90
R flang/test/Lower/OpenMP/FIR/sections.f90
R flang/test/Lower/OpenMP/FIR/simd.f90
R flang/test/Lower/OpenMP/FIR/simple-barrier.f90
R flang/test/Lower/OpenMP/FIR/single.f90
R flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
R flang/test/Lower/OpenMP/FIR/target.f90
R flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
R flang/test/Lower/OpenMP/FIR/task.f90
R flang/test/Lower/OpenMP/FIR/taskgroup.f90
R flang/test/Lower/OpenMP/FIR/taskwait.f90
R flang/test/Lower/OpenMP/FIR/taskyield.f90
R flang/test/Lower/OpenMP/FIR/teams.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
R flang/test/Lower/OpenMP/FIR/unstructured.f90
R flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
R flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
R flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
R flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
R flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
R flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
R flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
R flang/test/Lower/OpenMP/FIR/wsloop.f90
Log Message:
-----------
[Flang][OpenMP] Remove deprecated FIR lowering tests (#90188)
Remove OpenMP FIR lowering tests. These are now replaced by HLFIR based
tests. This might hopefully speedup testing as well.
Commit: 19d2d3fe50c301272350d12c53c801b17e29e64e
https://github.com/llvm/llvm-project/commit/19d2d3fe50c301272350d12c53c801b17e29e64e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Generic-cxx20.cmake
M libcxx/cmake/caches/Generic-cxx23.cmake
M libcxx/cmake/caches/Generic-cxx26.cmake
M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
M libcxx/cmake/caches/Generic-no-exceptions.cmake
M libcxx/cmake/caches/Generic-no-experimental.cmake
M libcxx/cmake/caches/Generic-no-filesystem.cmake
M libcxx/cmake/caches/Generic-no-localization.cmake
M libcxx/cmake/caches/Generic-no-random_device.cmake
M libcxx/cmake/caches/Generic-no-threads.cmake
M libcxx/cmake/caches/Generic-no-unicode.cmake
M libcxx/cmake/caches/Generic-no-wide-characters.cmake
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/ReleaseNotes/19.rst
Log Message:
-----------
[libc++][modules] Enable installation by default. (#90094)
This was suggested during the review of
https://github.com/llvm/llvm-project/pull/89413
This does not change the experimental state of modules.
Commit: b6a8f5486bc12b132ec984bc8767506e3bcb6694
https://github.com/llvm/llvm-project/commit/b6a8f5486bc12b132ec984bc8767506e3bcb6694
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
Log Message:
-----------
[LV] Consider all exit branch conditions uniform.
If we vectorize a loop with multiple exits, all exiting branches should
be considered uniform, as the resulting loop will be controlled by the
canonical IV only. Previously we were overestimating the cost of values
contributing to the other exits.
Commit: dc6ce60801ede0c6423470961d3728596ee46b04
https://github.com/llvm/llvm-project/commit/dc6ce60801ede0c6423470961d3728596ee46b04
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
Log Message:
-----------
[mlir][gpu] Remove `offloadingHandler` from `ModuleToBinary` (#90368)
This patch removes the `offloadingHandler` option from the
`ModuleToBinary` pass. The option is removed as it cannot be parsed from
textual form.
This fixes issue #90344.
Commit: 4cec3b36f6d6c858992530fa5592824622ada9c7
https://github.com/llvm/llvm-project/commit/4cec3b36f6d6c858992530fa5592824622ada9c7
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
Log Message:
-----------
[MLIR][Linalg] More Linalg named ops (#90236)
Adding `min` that was already implemented but not exposed.
Adding a few additional unary ops:
* Reciprocal as `arith.div(1,arg)`
* Round as `math.round(arg)`
* Sqrt as `math.sqrt(arg)`
* Rsqrt as `math.rsqrt(arg)`
* Square as `math.powf(arg, 2)`
* TanH as `math.tanh(arg)`
All with the agreed semantics at the round table: no implicit
broadcast/type cast.
Commit: 256d76f48060a353ba3bb885698e2ba8d1c87ec6
https://github.com/llvm/llvm-project/commit/256d76f48060a353ba3bb885698e2ba8d1c87ec6
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/docs/ConvergenceAndUniformity.rst
M llvm/docs/ConvergentOperations.rst
Log Message:
-----------
[Docs] Improve the description of convergence (#89038)
- Clarify convergence of threads v/s convergence of operations.
- Explicitly address operations that are not in any cycle.
This was inspired by a discussion on Discourse:
https://discourse.llvm.org/t/llvm-convergence-semantics/77642
Commit: 98001a662c28c7e7d36b13be3073d41dbcd961b0
https://github.com/llvm/llvm-project/commit/98001a662c28c7e7d36b13be3073d41dbcd961b0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix tabs/spaces typo. NFC.
Commit: a1aea37fd1fe6a61342f6ca672581c3641efaaeb
https://github.com/llvm/llvm-project/commit/a1aea37fd1fe6a61342f6ca672581c3641efaaeb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/cmp.ll
Log Message:
-----------
[X86] cmp.ll - update check prefixes to share common CHECK
Split ndd/no-ndd check prefix cases
Commit: 8ad092f126bd1d6f9fe6006eba1e3115a080235e
https://github.com/llvm/llvm-project/commit/8ad092f126bd1d6f9fe6006eba1e3115a080235e
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
A clang/test/Misc/cc1as-relax-all.s
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
[cc1as] Respect -mrelax-all
So that `clang -c -mrelax-all a.s` sets MCRelaxAll and assembles JMP/JCC
to a near jump instead of silently ignoring `-mrelax-all`.
Commit: 216787cffc4a864e0effb165c1c32b92328a0a06
https://github.com/llvm/llvm-project/commit/216787cffc4a864e0effb165c1c32b92328a0a06
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Add tests for i0 canonicalization (#89665)
Before #87193, the canonicalizer in arith crashed when attempting signed
extension on an i0 value. To hopefully avoid it happening again, this PR
introduces tests for canonicalization of arith operations with i0
values, focusing on operations related to bit width or signedness.
Commit: 6dd90616c477d83c156eed62c880e951bb508cfd
https://github.com/llvm/llvm-project/commit/6dd90616c477d83c156eed62c880e951bb508cfd
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/SemaCXX/unused.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement C++26 Attributes for Structured Bindings (P0609R3) (#89906)
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0609r3.pdf
We support this feature in all language mode.
maybe_unused applied to a binding makes the whole declaration unused.
Commit: 352602010fac5c7e07bc6b992848ab746d0c2857
https://github.com/llvm/llvm-project/commit/352602010fac5c7e07bc6b992848ab746d0c2857
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
Repply [memprof] Introduce FrameIdConverter and CallStackIdConverter (#90307)
Currently, we convert FrameId to Frame and CallStackId to a call stack
at several places. This patch unifies those into function objects --
FrameIdConverter and CallStackIdConverter.
The existing implementation of CallStackIdConverter, being removed in
this patch, handles both FrameId and CallStackId conversions. This
patch splits it into two phases for flexibility (but make them
composable) because some places only require the FrameId conversion.
This iteration fixes a problem uncovered with ubsan, where we were
dereferencing an uninitialized std::unique_ptr.
Commit: c9dae43438897590a21edbc89003bd6704659c7c
https://github.com/llvm/llvm-project/commit/c9dae43438897590a21edbc89003bd6704659c7c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add access checks to PortableMemInfoBlock::get* (#90121)
commit 4c8ec8f8bc3fb4dda4fd36c3b2ad745bd3451970
Author: Kazu Hirata <kazu at google.com>
Date: Wed Apr 24 16:25:35 2024 -0700
introduced the idea of serializing/deserializing a subset of the
fields in PortableMemInfoBlock. While it reduces the size of the
indexed MemProf profile file, we now could inadvertently access
unavailable fields and go without noticing.
To protect ourselves from the risk, this patch adds access checks to
PortableMemInfoBlock::get* methods by embedding a bit set representing
available fields into PortableMemInfoBlock.
Commit: fac349a169976f822fb27f03e623fa0d28aec1f3
https://github.com/llvm/llvm-project/commit/fac349a169976f822fb27f03e623fa0d28aec1f3
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M flang/include/flang/Lower/Mangler.h
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Tools/PointerModels.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/VectorSubscripts.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/BoxValue.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/Complex.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CGOps.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/FortranVariableInterface.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/RTBuilder.cpp
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/IR/BuiltinLocationAttributes.td
M mlir/include/mlir/IR/Value.h
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
Log Message:
-----------
Reapply "[mlir] Mark `isa/dyn_cast/cast/...` member functions depreca… (#90406)
…ted. (#89998)" (#90250)
This partially reverts commit 7aedd7dc754c74a49fe84ed2640e269c25414087.
This change removes calls to the deprecated member functions. It does
not mark the functions deprecated yet and does not disable the
deprecation warning in TypeSwitch. This seems to cause problems with
MSVC.
Commit: aafed3408e7269c42f974189198a47eb6dd2fc84
https://github.com/llvm/llvm-project/commit/aafed3408e7269c42f974189198a47eb6dd2fc84
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Make createScalarIVSteps return VPScalarIVStepsRecipe (NFC).
This avoids the need for using getVPSingleValue/getDefiningRecipe at the
place the return value is used.
Commit: 9c1de620344b2518bb171be51066e1ec9a5be623
https://github.com/llvm/llvm-project/commit/9c1de620344b2518bb171be51066e1ec9a5be623
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Return early in isWordLike() for non-Verilog (#90363)
Commit: aa596fa4d974f75ed8d2db3f4880ec0e5be3e176
https://github.com/llvm/llvm-project/commit/aa596fa4d974f75ed8d2db3f4880ec0e5be3e176
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Set Change.TokenLength to ColumnWidth (#90378)
Fixes #37705.
Fixes #47333.
Fixes #47624.
Fixes #58850.
Fixes #75929.
Fixes #87885.
Fixes #89916.
Commit: 145176dc0c93566ce4aef721044d49ab8ba50f87
https://github.com/llvm/llvm-project/commit/145176dc0c93566ce4aef721044d49ab8ba50f87
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
A mlir/test/Dialect/Polynomial/ops.mlir
A mlir/test/Dialect/Polynomial/ops_errors.mlir
M mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
polynomial: Add basic ops (#89525)
Adds a few basic polynomial ops.
- add, sub, mul
- mul_scalar
- leading_term, monomial_mul, monomial (useful for lowering `mul` to
standard MLIR)
- from_tensor, to_tensor, constant
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: 35b89dda2b9734917824b1457f149192669b314c
https://github.com/llvm/llvm-project/commit/35b89dda2b9734917824b1457f149192669b314c
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/test/CodeGen/X86/avx512bwvl-arith.ll
Log Message:
-----------
[X86][EVEX512] Check hasEVEX512 for canExtendTo512DQ (#90390)
Fixes #90356
Commit: feaddc10194e54a5ef977320134956ad91591324
https://github.com/llvm/llvm-project/commit/feaddc10194e54a5ef977320134956ad91591324
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/array.ll
Log Message:
-----------
[InstCombine] Preserve inbounds when canonicalizing gep+add (#90160)
When canonicalizing gep+add into gep+gep we can preserve inbounds if the
add is also nsw and both add operands are non-negative (or both
negative, but I don't think that's practically relevant).
Proof: https://alive2.llvm.org/ce/z/tJLBta
Commit: 3c553fc9e0503240c9fa6d937de0cbcb956303ce
https://github.com/llvm/llvm-project/commit/3c553fc9e0503240c9fa6d937de0cbcb956303ce
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/mul.ll
Log Message:
-----------
[InstCombine] Infer nuw on mul nsw with non-negative operands (#90170)
If a mul nsw has non-negative operands, it's also nuw.
Proof: https://alive2.llvm.org/ce/z/2Dz9Uu
Fixes https://github.com/llvm/llvm-project/issues/90020.
Commit: 2951dba98beb97a73da3443dcdb2eb09069e1aca
https://github.com/llvm/llvm-project/commit/2951dba98beb97a73da3443dcdb2eb09069e1aca
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx512bwvl-arith.ll
Log Message:
-----------
[X86] Fix prefix type, NFC
Commit: da213d77c026ded4e13911959c4a6ff24a6a0d73
https://github.com/llvm/llvm-project/commit/da213d77c026ded4e13911959c4a6ff24a6a0d73
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix linking error of PolynomialDialect on MacOS (NFC)
ld64.lld: error: undefined symbol: mlir::detail::verifyInferredResultTypes(mlir::Operation*)
>>> referenced by tools/mlir/lib/Dialect/Polynomial/IR/CMakeFiles/obj.MLIRPolynomialDialect.dir/PolynomialDialect.cpp.o:(symbol mlir::Op<mlir::polynomial::AddOp, mlir::OpTrait::ZeroRegions, mlir::OpTrait::OneResult, mlir::OpTrait::OneTypedResult<mlir::Type>::Impl, mlir::OpTrait::ZeroSuccessors, mlir::OpTrait::NOperands<2u>::Impl, mlir::OpTrait::OpInvariants, mlir::OpTrait::IsCommutative, mlir::ConditionallySpeculatable::Trait, mlir::OpTrait::AlwaysSpeculatableImplTrait, mlir::MemoryEffectOpInterface::Trait, mlir::OpTrait::SameOperandsAndResultType, mlir::OpTrait::Elementwise, mlir::OpTrait::Scalarizable, mlir::OpTrait::Vectorizable, mlir::OpTrait::Tensorizable, mlir::InferTypeOpInterface::Trait>::verifyRegionInvariants(mlir::Operation*)+0x14)
>>> referenced by tools/mlir/lib/Dialect/Polynomial/IR/CMakeFiles/obj.MLIRPolynomialDialect.dir/PolynomialDialect.cpp.o:(symbol mlir::Op<mlir::polynomial::MonicMonomialMulOp, mlir::OpTrait::ZeroRegions, mlir::OpTrait::OneResult, mlir::OpTrait::OneTypedResult<mlir::Type>::Impl, mlir::OpTrait::ZeroSuccessors, mlir::OpTrait::NOperands<2u>::Impl, mlir::OpTrait::OpInvariants, mlir::ConditionallySpeculatable::Trait, mlir::OpTrait::AlwaysSpeculatableImplTrait, mlir::MemoryEffectOpInterface::Trait, mlir::InferTypeOpInterface::Trait>::verifyRegionInvariants(mlir::Operation*)+0x14)
Commit: 42bc4f692dfe699b90f4609b7ad7c6708cf3fc43
https://github.com/llvm/llvm-project/commit/42bc4f692dfe699b90f4609b7ad7c6708cf3fc43
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
Log Message:
-----------
Reland "[X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)"
Fixes compile time regression in previous commit.
Commit: 53cda4ca3b97b3787e5bf8738119dab2d5bd1889
https://github.com/llvm/llvm-project/commit/53cda4ca3b97b3787e5bf8738119dab2d5bd1889
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
[Transforms] Use LLVMContext::MD_loop (NFC)
Commit: 3785d7424680e0bcb914a485af61be51559ab1ba
https://github.com/llvm/llvm-project/commit/3785d7424680e0bcb914a485af61be51559ab1ba
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
A flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
Log Message:
-----------
[flang][OpenMP][LLVMIR] Support CFG and LLVM IR conversion for `omp.p… (#90164)
…rivate`
Adds support for CFG conversion and conversion to LLVM IR for
`omp.private` ops. This bridges a gap between FIR and LLVM to provide
more support for lowering `omp.private` ops for things like
allocatables.
Commit: fa8fda85c6792d9078922ab8658c321c4939e63a
https://github.com/llvm/llvm-project/commit/fa8fda85c6792d9078922ab8658c321c4939e63a
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Add missing dependency after 145176dc0c93566ce4aef721044d49ab8ba50f87
Commit: 501cfd5243c025b22075e1f13817a0a37fef96a6
https://github.com/llvm/llvm-project/commit/501cfd5243c025b22075e1f13817a0a37fef96a6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/X86RegisterInfo.cpp
Log Message:
-----------
[X86] Use static_asserts instead of assert (NFC)
Identified with misc-static-assert.
Commit: 6cd6bde3090a405e4091ef6f743cb2e56b376a55
https://github.com/llvm/llvm-project/commit/6cd6bde3090a405e4091ef6f743cb2e56b376a55
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
Log Message:
-----------
[RISCV] Remove -riscv-v-fixed-length-vector-lmul-max from arith tests (#89886)
This patch splits off from #89170 to clean up the tests.
Commit: b3c55b707110084a9f50a16aade34c3be6fa18da
https://github.com/llvm/llvm-project/commit/b3c55b707110084a9f50a16aade34c3be6fa18da
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
Log Message:
-----------
[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)
[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison
Handle SELECT_CC similarly as SETCC.
Handle these operations that only propagate poison/undef based on the
input operands:
SADDSAT, UADDSAT, SSUBSAT, USUBSAT, MULHU, MULHS,
SMIN, SMAX, UMIN, UMAX
These operations may create poison based on shift amount and exact
flag being violated:
SRL, SRA
One goal here is to allow pushing freeze through these operations
when allowed, as well as letting analyses such as
isGuaranteedNotToBeUndefOrPoison to not break on such operations.
Since some problems have been observed with pushing freeze through
SRA/SRL we block that explicitly in DAGCombiner::visitFreeze now.
That way we can still model SRA/SRL properly in
SelectionDAG::canCreateUndefOrPoison, e.g. when used by
isGuaranteedNotToBeUndefOrPoison, even if we do not want to push
freeze through those instructions.
Commit: dc7834b76c187bdf3b260c66445b750ed8d99507
https://github.com/llvm/llvm-project/commit/dc7834b76c187bdf3b260c66445b750ed8d99507
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-28 (Sun, 28 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[ProfileData] Use static_assert instead of assert (NFC)
Identified with misc-static-assert.
Commit: ec6c0a2b7da4a23a33de049ab9a07fd30fff56b8
https://github.com/llvm/llvm-project/commit/ec6c0a2b7da4a23a33de049ab9a07fd30fff56b8
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/sextw-removal.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for OptWInstrs. NFC
Commit: 66274eb9f7e7fc4b023343476c4d066e4413180a
https://github.com/llvm/llvm-project/commit/66274eb9f7e7fc4b023343476c4d066e4413180a
Author: Tim Creech <timothy.m.creech at intel.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
Improve documented sampling profiler steps to best known methods (#88438)
1. Add `-fdebug-info-for-profiling -funique-internal-linkage-names`,
which improve the usefulness of debug info for profiling.
2. Recommend the use of `br_inst_retired.near_taken:uppp`, which
provides the most precise results on supporting hardware. Mention
`branches:u` as a more portable backup.
Both should portray execution counts better than the default event
(`cycles`) and have a better chance of working as an unprivileged user
due to the `:u` modifier.
Commit: e2b8af7e149c38e3b7ab0d25f86792fcbdd06507
https://github.com/llvm/llvm-project/commit/e2b8af7e149c38e3b7ab0d25f86792fcbdd06507
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Don't use MachineInstr::isIdenticalTo in hasSameAVL (#90431)
MachineInstr::isIdenticalTo compares that the operands and flags are the
same IIUC, but I think we actually want to check that it's the same
MachineInstr * with respect to position in the block etc.
Commit: 4a8f2f2e1aab027a559c71d4e055db3205ec2e32
https://github.com/llvm/llvm-project/commit/4a8f2f2e1aab027a559c71d4e055db3205ec2e32
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
A llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
A llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
Log Message:
-----------
[Legalizer] Expand fmaximum and fminimum (#67301)
According to langref, llvm.maximum/minimum has -0.0 < +0.0 semantics and
propagates NaN.
Expand the nodes on targets not supporting the operation, by adding
extra check for NaN and using is_fpclass to check zero signs.
Commit: bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a
https://github.com/llvm/llvm-project/commit/bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
Log Message:
-----------
[flang] Use `isa/dyn_cast/cast/...` free functions. (#90432)
The corresponding member functions are deprecated.
Commit: e1622e189e8c0ef457bfac528f90a7a930d9aad2
https://github.com/llvm/llvm-project/commit/e1622e189e8c0ef457bfac528f90a7a930d9aad2
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Add tests for trunc nuw/nsw in icmp (NFC)
Commit: 5f79f7506a495872be431a4607a33fa717fda2eb
https://github.com/llvm/llvm-project/commit/5f79f7506a495872be431a4607a33fa717fda2eb
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/MCA/InstrBuilder.cpp
A llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
M llvm/tools/llvm-mca/CodeRegion.h
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[llvm-mca] Add -skip-unsupported-instructions option (#89733)
Prior to this patch, if llvm-mca encountered an instruction which parses
but has no scheduler info, the instruction is always reported as
unsupported, and llvm-mca halts with an error.
However, it would still be useful to allow MCA to continue even in the
case of instructions lacking scheduling information. Obviously if
scheduling information is lacking, it's not possible to give an accurate
analysis for those instructions, and therefore a warning is emitted.
A user could previously have worked around such unsupported instructions
manually by deleting such instructions from the input, but this provides
them a way of doing this for bulk inputs where they may not have a list
of such unsupported instructions to drop up front.
Note that this behaviour of instructions with no scheduling information
under -skip-unsupported-instructions is analagous to current
instructions which fail to parse: those are currently dropped from the
input with a message printed, after which the analysis continues.
~Testing the feature is a little awkward currently, it relies on an
instruction
which is currently marked as unsupported, which may not remain so;
should the
situation change it would be necessary to find an alternative
unsupported
instruction or drop the test.~
A test is added to check that analysis still reports an error if all
instructions are removed from the input, to mirror the current behaviour
of giving an error if no instructions are supplied.
Commit: 41942c852e2be6c7c37f41e5128d446182fc9763
https://github.com/llvm/llvm-project/commit/41942c852e2be6c7c37f41e5128d446182fc9763
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb[Docs] Reduce title noise in packets doc (#90183)
This removes the "Brief" and "Description" subtitles and merges the text
of both so that the contents listing is clearer.
Commit: ab12bba0aad800c1805eca2ea937da958c1854c8
https://github.com/llvm/llvm-project/commit/ab12bba0aad800c1805eca2ea937da958c1854c8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
A llvm/test/Transforms/CodeGenPrepare/RISCV/convert-to-eqz.ll
Log Message:
-----------
[CGP] Drop poison-generating flags after hoisting (#90382)
See the following case:
```
define i8 @src1(i8 %x) {
entry:
%cmp = icmp eq i8 %x, -1
br i1 %cmp, label %exit, label %if.then
if.then:
%inc = add nuw nsw i8 %x, 1
br label %exit
exit:
%retval = phi i8 [ %inc, %if.then ], [ -1, %entry ]
ret i8 %retval
}
define i8 @tgt1(i8 %x) {
entry:
%inc = add nuw nsw i8 %x, 1
%0 = icmp eq i8 %inc, 0
br i1 %0, label %exit, label %if.then
if.then: ; preds = %entry
br label %exit
exit: ; preds = %if.then, %entry
%retval = phi i8 [ %inc, %if.then ], [ -1, %entry ]
ret i8 %retval
}
```
`optimizeBranch` converts `icmp eq X, -1` into cmp to zero on RISC-V and
hoists the add into the entry block. Poison-generating flags should be
dropped as they don't still hold.
Proof: https://alive2.llvm.org/ce/z/sP7mvK
Fixes https://github.com/llvm/llvm-project/issues/90380
Commit: a19a4113df3e9a3ca3747075da6de21901796524
https://github.com/llvm/llvm-project/commit/a19a4113df3e9a3ca3747075da6de21901796524
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
Log Message:
-----------
[llvm-mca] Fix -skip-unsupported-instruction tests on Windows
Builder alerted me to the failing test, attempt #1 in the blind.
Commit: f029da5cfce66e2d460d5f54b17582810a9111ad
https://github.com/llvm/llvm-project/commit/f029da5cfce66e2d460d5f54b17582810a9111ad
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Transforms/debug-fn-info.f90
M flang/test/Transforms/debug-line-table-inc-file.fir
Log Message:
-----------
[flang] Improve debug info for functions. (#90083)
This PR improves the debug information for functions in the following
ways:
1. Get line number information from FuncOp and remove hard-coded line
numbers.
2. Use proper type for function signature. I have a added a type
converter. Currently, it is very limited but will be enhanced with time.
3. Use de-constructed function name.
Commit: 16bd10a38730fed27a3bf111076b8ef7a7e7b3ee
https://github.com/llvm/llvm-project/commit/16bd10a38730fed27a3bf111076b8ef7a7e7b3ee
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/combine-mul.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/RISCV/alu64.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
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/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/abdu-vector-128.ll
M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
M llvm/test/CodeGen/X86/combine-mul.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-combine.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/test/CodeGen/X86/pr62286.ll
M llvm/test/CodeGen/X86/scheduler-backtracking.ll
M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
M llvm/test/CodeGen/X86/vec_saddo.ll
M llvm/test/CodeGen/X86/vec_ssubo.ll
M llvm/test/CodeGen/X86/vec_uaddo.ll
M llvm/test/CodeGen/X86/vec_usubo.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
Log Message:
-----------
Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more...
This reverts:
b3c55b707110084a9f50a16aade34c3be6fa18da - "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)"
(because it updates a test case that I don't know how to resolve the conflict for)
8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 - "[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)"
73472c5996716cda0dbb3ddb788304e0e7e6a323 - "[SelectionDAG] Treat CopyFromReg as freezing the value (#85932)"
Due to a test suite failure on AArch64 when compiling for SVE.
https://lab.llvm.org/buildbot/#/builders/197/builds/13955
clang: ../llvm/llvm/include/llvm/CodeGen/ValueTypes.h:307: MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.
Commit: bfc0317153dca75137fba00b5c28758d6f720963
https://github.com/llvm/llvm-project/commit/bfc0317153dca75137fba00b5c28758d6f720963
Author: Maciej Gabka <maciej.gabka at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Analysis/CostModel/AArch64/getIntrinsicInstrCost-vector-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/splice.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/splice.ll
A llvm/test/Bitcode/upgrade-vector-interleave2-deinterleave2-intrinsics.ll
A llvm/test/Bitcode/upgrade-vector-reverse-intrinsic.ll
A llvm/test/Bitcode/upgrade-vector-splice-intrinsic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-neon.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-neon.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse-bitrotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
M llvm/test/CodeGen/X86/named-vector-shuffle-reverse.ll
M llvm/test/Transforms/InstCombine/vector-reverse.ll
M llvm/test/Transforms/InstSimplify/named-vector-shuffle-reverse.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Verifier/invalid-splice.ll
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
Log Message:
-----------
Move several vector intrinsics out of experimental namespace (#88748)
This patch is moving out following intrinsics:
* vector.interleave2/deinterleave2
* vector.reverse
* vector.splice
from the experimental namespace.
All these intrinsics exist in LLVM for more than a year now, and are
widely used, so should not be considered as experimental.
Commit: d30f6bc5cd9579204864c944f127011be70b2c74
https://github.com/llvm/llvm-project/commit/d30f6bc5cd9579204864c944f127011be70b2c74
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__type_traits/datasizeof.h
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
Log Message:
-----------
[libc++][NFC] Refactor __libcpp_datasizeof to be a variable template (#87769)
This decreases memory consumption and compiles times slightly and
removes a bit of boilderplate.
Commit: 75d52f5797c367488c5623fefb02b32dea25fbb1
https://github.com/llvm/llvm-project/commit/75d52f5797c367488c5623fefb02b32dea25fbb1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] matchTruncateWithPACK - merge equivalent calls to getSizeInBits/getScalarSizeInBits. NFC.
Commit: bf57d2e57c3e708a32c1f8a273b0e3465078d7b5
https://github.com/llvm/llvm-project/commit/bf57d2e57c3e708a32c1f8a273b0e3465078d7b5
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Log Message:
-----------
[AArch64][GlobalISel] Enable computeNumSignBits for G_XOR, G_AND, G_OR (#89896)
Commit: 0edb5c3be56a07ddaad26ffbb270b4aa2308d03a
https://github.com/llvm/llvm-project/commit/0edb5c3be56a07ddaad26ffbb270b4aa2308d03a
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
R flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
R flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
R flang/test/Transforms/debug-fn-info.f90
M flang/test/Transforms/debug-line-table-inc-file.fir
Log Message:
-----------
Revert "[flang] Improve debug info for functions." (#90444)
Reverts llvm/llvm-project#90083 due to a test suite failure:
https://lab.llvm.org/buildbot/#/builders/184/builds/11961
```
flang-new: ../llvm/mlir/lib/IR/Types.cpp:126: unsigned int mlir::Type::getIntOrFloatBitWidth() const: Assertion `isIntOrFloat() && "only integers and floats have a bitwidth"' failed.
```
Commit: 93e69abfc77b0bd90f3669e36e510dd4f45aab14
https://github.com/llvm/llvm-project/commit/93e69abfc77b0bd90f3669e36e510dd4f45aab14
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/avgceils.ll
M llvm/test/CodeGen/X86/avgceilu.ll
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/avgflooru.ll
Log Message:
-----------
[X86] avg*.ll - add nounwind to silence cfi noise
Commit: df762a1643bb5b0b3c907611d118c82d4b68a39d
https://github.com/llvm/llvm-project/commit/df762a1643bb5b0b3c907611d118c82d4b68a39d
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
Log Message:
-----------
[SemaCXX] Recognise initializer_list injected-class-name types as initializer_lists (#90210)
This allows the implicitly-generated deduction guide for the copy
constructor to be recognised as an initializer-list constructor,
allowing CTAD for std::initializer_list
Commit: d72146f47156dc645b1c0a4cb9c72f01e6d6dd0e
https://github.com/llvm/llvm-project/commit/d72146f47156dc645b1c0a4cb9c72f01e6d6dd0e
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGenCXX/blocks.cpp
A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
M clang/test/CodeGenObjC/arc-blocks-exceptions.m
M clang/test/CodeGenObjC/arc-blocks.m
Log Message:
-----------
Re-apply "Emit missing cleanups for stmt-expr" and other commits (#89154)
Latest diff:
https://github.com/llvm/llvm-project/pull/89154/files/f1ab4c2677394bbfc985d9680d5eecd7b2e6a882..adf9bc902baddb156c83ce0f8ec03c142e806d45
We address two additional bugs here:
### Problem 1: Deactivated normal cleanup still runs, leading to
double-free
Consider the following:
```cpp
struct A { };
struct B { B(const A&); };
struct S {
A a;
B b;
};
int AcceptS(S s);
void Accept2(int x, int y);
void Test() {
Accept2(AcceptS({.a = A{}, .b = A{}}), ({ return; 0; }));
}
```
We add cleanups as follows:
1. push dtor for field `S::a`
2. push dtor for temp `A{}` (used by ` B(const A&)` in `.b = A{}`)
3. push dtor for field `S::b`
4. Deactivate 3 `S::b`-> This pops the cleanup.
5. Deactivate 1 `S::a` -> Does not pop the cleanup as *2* is top. Should
create _active flag_!!
6. push dtor for `~S()`.
7. ...
It is important to deactivate **5** using active flags. Without the
active flags, the `return` will fallthrough it and would run both `~S()`
and dtor `S::a` leading to **double free** of `~A()`.
In this patch, we unconditionally emit active flags while deactivating
normal cleanups. These flags are deleted later by the `AllocaTracker` if
the cleanup is not emitted.
### Problem 2: Missing cleanup for conditional lifetime extension
We push 2 cleanups for lifetime-extended cleanup. The first cleanup is
useful if we exit from the middle of the expression (stmt-expr/coro
suspensions). This is deactivated after full-expr, and a new cleanup is
pushed, extending the lifetime of the temporaries (to the scope of the
reference being initialized).
If this lifetime extension happens to be conditional, then we use active
flags to remember whether the branch was taken and if the object was
initialized.
Previously, we used a **single** active flag, which was used by both
cleanups. This is wrong because the first cleanup will be forced to
deactivate after the full-expr and therefore this **active** flag will
always be **inactive**. The dtor for the lifetime extended entity would
not run as it always sees an **inactive** flag.
In this patch, we solve this using two separate active flags for both
cleanups. Both of them are activated if the conditional branch is taken,
but only one of them is deactivated after the full-expr.
---
Fixes https://github.com/llvm/llvm-project/issues/63818
Fixes https://github.com/llvm/llvm-project/issues/88478
---
Previous PR logs:
1. https://github.com/llvm/llvm-project/pull/85398
2. https://github.com/llvm/llvm-project/pull/88670
3. https://github.com/llvm/llvm-project/pull/88751
4. https://github.com/llvm/llvm-project/pull/88884
Commit: 0c8151ac809c283187e9b19d0cbe72a09c8d74e0
https://github.com/llvm/llvm-project/commit/0c8151ac809c283187e9b19d0cbe72a09c8d74e0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py
Log Message:
-----------
[lldb][Test] Disable concurrent vfork tests on Arm and AArch64 Linux (again)
5f3e106de3cd5ce6d7ba37fb11f6ad740cb430c5 made them a lot more stable but
there are still occasions where they will timeout and leave behind stale
processes.
For example https://lab.llvm.org/buildbot/#/builders/96/builds/56699.
Commit: 2914a11e3fad5d5634272f028b2765ac182d6b20
https://github.com/llvm/llvm-project/commit/2914a11e3fad5d5634272f028b2765ac182d6b20
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx10.mir
A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx11.mir
A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx12.mir
M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
Log Message:
-----------
[AMDGPU] Fix hard clausing for image instructions on gfx12 (#90221)
Also updated hard-clauses.mir to have separate versions for gfx11 and
gfx12 since
the MIR instructions are different for each of them.
Commit: 5b187751452e0702fc9c29b64ab301737718e604
https://github.com/llvm/llvm-project/commit/5b187751452e0702fc9c29b64ab301737718e604
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Fix typo in #89773
Fixes #90281
Commit: f2452d4b689469b6da63d9e8ffa96eaf4b39ac5d
https://github.com/llvm/llvm-project/commit/f2452d4b689469b6da63d9e8ffa96eaf4b39ac5d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Implement zero-init for record types
Commit: 37f2928ce382603fdadd7bae87fa245ac65b7d4f
https://github.com/llvm/llvm-project/commit/37f2928ce382603fdadd7bae87fa245ac65b7d4f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/CXX/drs/cwg2149.cpp
M clang/test/CXX/drs/dr20xx.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Use `cwg_index.html` from GitHub for DR status page (#90352)
Currently we're using official publication of CWG issue list available
at https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_index.html.
Unfortunately, it's not updated as frequently as we sometimes need. For
instance, recently there was a confusion during review of CWG2149 test
(https://github.com/llvm/llvm-project/pull/90079#discussion_r1580174003).
This patch changes our `make_cxx_dr_status` script to use issue list
from CWG GitHub repository. I confirmed with CWG chair that this is the
most up-to-date source of information on CWG issues.
Changing the source of issue list uncovered previously unhandled
"tentatively ready" status of an issue. This status is considered
unresolved by the script (like `open`, `drafting`, and `review`), as the
resolution might change during face-to-face CWG meeting.
I also noticed that CWG decided to handle 2561 differently from what
we're doing, so this DR is now considered not available in Clang,
despite being declared as available since 18. CC @cor3ntin.
This patch also brings new issues into our DR list, so if someone was
waiting for a newly-filed issue to appear on our status page, it should
appear with this PR.
Commit: b35bdb1d7b31c2267af14ee7e097c78d89c3ddb0
https://github.com/llvm/llvm-project/commit/b35bdb1d7b31c2267af14ee7e097c78d89c3ddb0
Author: oltolm <oleg.tolmatcev at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/tools/llvm-rc/Inputs/dialog-with-menu.rc
A llvm/test/tools/llvm-rc/dialog-with-menu.test
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.h
M llvm/tools/llvm-rc/ResourceScriptParser.cpp
M llvm/tools/llvm-rc/ResourceScriptParser.h
M llvm/tools/llvm-rc/ResourceScriptStmt.cpp
M llvm/tools/llvm-rc/ResourceScriptStmt.h
M llvm/tools/llvm-rc/ResourceVisitor.h
Log Message:
-----------
llvm-rc: add support for MENU in DIALOG(EX) (#89409)
Adds support for `MENU` in `DIALOG(EX)` to `llvm-rc`. Fixes #49559.
Commit: 95395ee51124792302390305b02cbeace5f07611
https://github.com/llvm/llvm-project/commit/95395ee51124792302390305b02cbeace5f07611
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/memcmp-minsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-minsize.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
Log Message:
-----------
[X86] memcmp tests - merge check-prefixes. NFC.
Commit: 55c6bda01ef5a166a69b43956775272d9d67bda5
https://github.com/llvm/llvm-project/commit/55c6bda01ef5a166a69b43956775272d9d67bda5
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/combine-mul.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/RISCV/alu64.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
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/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/abdu-vector-128.ll
M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
M llvm/test/CodeGen/X86/combine-mul.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/fold-masked-merge.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-combine.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/test/CodeGen/X86/pr62286.ll
M llvm/test/CodeGen/X86/scheduler-backtracking.ll
M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
M llvm/test/CodeGen/X86/vec_saddo.ll
M llvm/test/CodeGen/X86/vec_ssubo.ll
M llvm/test/CodeGen/X86/vec_uaddo.ll
M llvm/test/CodeGen/X86/vec_usubo.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
Log Message:
-----------
Revert "Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more..."
This reverts commit 16bd10a38730fed27a3bf111076b8ef7a7e7b3ee.
Re-applies:
b3c55b707110084a9f50a16aade34c3be6fa18da - "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)"
8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 - "[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)"
73472c5996716cda0dbb3ddb788304e0e7e6a323 - "[SelectionDAG] Treat CopyFromReg as freezing the value (#85932)"
with a fix in DAGCombiner::visitFREEZE.
Commit: 179e174945b6c0da462c534504720c9544aebf84
https://github.com/llvm/llvm-project/commit/179e174945b6c0da462c534504720c9544aebf84
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
Log Message:
-----------
[mlir][bufferization][NFC] More documentation for `runOneShotBufferize` (#90445)
Commit: cb3174bd7895535d2f397695b5b20b1e90876997
https://github.com/llvm/llvm-project/commit/cb3174bd7895535d2f397695b5b20b1e90876997
Author: nihui <shuizhuyuanluo at 126.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
Log Message:
-----------
[clang][CodeGen] fix UB in aarch64 bfloat16 scalar conversion (#89062)
do not bitcast 16bit `bfloat16` to 32bit `int32_t` directly
bitcast to `int16_t`, and then upcast to `int32_t`
Fix ASAN runtime error when calling vcvtah_f32_bf16
`==21842==ERROR: AddressSanitizer: stack-buffer-overflow on address
0x007fda1dd063 at pc 0x005c0361c234 bp 0x007fda1dd030 sp 0x007fda1dd028
`
without patch
```c
__ai __attribute__((target("bf16"))) float32_t vcvtah_f32_bf16(bfloat16_t __p0) {
float32_t __ret;
bfloat16_t __reint = __p0;
int32_t __reint1 = *(int32_t *) &__reint << 16;
__ret = *(float32_t *) &__reint1;
return __ret;
}
```
with this patch
```c
__ai __attribute__((target("bf16"))) float32_t vcvtah_f32_bf16(bfloat16_t __p0) {
float32_t __ret;
bfloat16_t __reint = __p0;
int32_t __reint1 = (int32_t)(*(int16_t *) &__reint) << 16;
__ret = *(float32_t *) &__reint1;
return __ret;
}
```
fix issue https://github.com/llvm/llvm-project/issues/61983
Commit: 959d98c05ecacf79bbe78bc83e6dd99a3d58cab2
https://github.com/llvm/llvm-project/commit/959d98c05ecacf79bbe78bc83e6dd99a3d58cab2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix a typo
Commit: 6e473307ab74263e3b72e67b592579e36cee5b6b
https://github.com/llvm/llvm-project/commit/6e473307ab74263e3b72e67b592579e36cee5b6b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Ignore FunctionDecls in compound statements
Commit: f5ed9170464b73a7a0a386358e995ce8373ef153
https://github.com/llvm/llvm-project/commit/f5ed9170464b73a7a0a386358e995ce8373ef153
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix creating variables for TemplateParamObjectDecls
Actually initialize them with their value. While at it, fix doing
it for non-primitive (only struct so far) types as well.
Commit: 217c099eadfb9f2c5b5caf1af7b1ceb6a632cf74
https://github.com/llvm/llvm-project/commit/217c099eadfb9f2c5b5caf1af7b1ceb6a632cf74
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
Log Message:
-----------
[SLP][NFC]Add a test for strided stores support, NFC.
Commit: e5c92c51e9869a6f109381d9e565b36cd4fb7b34
https://github.com/llvm/llvm-project/commit/e5c92c51e9869a6f109381d9e565b36cd4fb7b34
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/test/MC/AMDGPU/ds-err.s
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
Log Message:
-----------
[AMDGPU][AsmParser] Do not use predicates for validation of NamedIntOperands. (#90251)
Their job is to discriminate between different types of operands, not to
check if they are valid. For validation we can use conversion functions.
Clears the road to generating predicates automatically.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 8e17c84836b08be9a23d76c2cc234777712347de
https://github.com/llvm/llvm-project/commit/8e17c84836b08be9a23d76c2cc234777712347de
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll
Log Message:
-----------
[AMDGPU][ISel] Set trunc store action to expand for v4f32->v4bf16 (#90427)
Commit: de6b2b9dbf9a18e9e160cff60f7eb238909a931c
https://github.com/llvm/llvm-project/commit/de6b2b9dbf9a18e9e160cff60f7eb238909a931c
Author: Kohei Asano <32860920+khei4 at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/LibTooling.rst
Log Message:
-----------
[Clang][Docs] use CommonOptionsParser::create instead of protected constructor on libTooling tutorial (NFC) (#70427)
This patch fixes the code example on CommonOptionParser on
https://intel.github.io/llvm-docs/clang/LibTooling.html
CommonOptionParser's constructor is protected, and we can use
`CommonOptionParser::create` instead of that.
It seems like the LibASTMatcher tutorial already uses that.
https://clang.llvm.org/docs/LibASTMatchersTutorial.html
---------
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 8d5386669ed63548daf1bee415596582d6d78d7d
https://github.com/llvm/llvm-project/commit/8d5386669ed63548daf1bee415596582d6d78d7d
Author: David Truby <david.truby at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/FlangDriver.md
M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
A flang/include/flang/Optimizer/Builder/Runtime/Main.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
A flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/runtime/CMakeLists.txt
R flang/runtime/FortranMain/CMakeLists.txt
R flang/runtime/FortranMain/Fortran_main.c
M flang/test/CMakeLists.txt
A flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/dynamic-linker.f90
M flang/test/Driver/emit-mlir.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/no-duplicate-main.f90
M flang/tools/flang-driver/CMakeLists.txt
M lld/COFF/MinGW.cpp
Log Message:
-----------
[flang] Generate main only when a Fortran program statement is present (#89938)
This patch changes the behaviour for flang to only create and link to a
`main` entry point when the Fortran code has a program statement in it.
This means that flang-new can be used to link even when the program is
a mixed C/Fortran code with `main` present in C and no entry point
present in Fortran.
This also removes the `-fno-fortran-main` flag as this no longer has any
functionality.
Commit: e57b8724140664da408da92d5d50f9a1e0c9828a
https://github.com/llvm/llvm-project/commit/e57b8724140664da408da92d5d50f9a1e0c9828a
Author: Danial Klimkin <dklimkin at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
Avoid unusable variable in ByteCodeExprGen.cpp (#90469)
Inline assert to avoid unusable variable warning/error when asserts are
disabled.
Commit: caa902613a96f63c3855b3a0bcd82d1b1db49408
https://github.com/llvm/llvm-project/commit/caa902613a96f63c3855b3a0bcd82d1b1db49408
Author: offsetof <131769984+offsetof at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
M clang/test/CXX/expr/expr.const/p5-26.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Allow constexpr cast from `void*` in more cases (#89484)
[[expr.const]/5.14](https://eel.is/c++draft/expr.const#5.14) says that
constexpr cast from <code>*cv* void\*</code> to `T*` is OK if the
pointee type is similar to `T`, but Clang currently only permits the
conversion if the types are the same except top-level cv-qualifiers.
This patch also allows casting `(void*)nullptr`, implementing the
resolution of [CWG2819](https://cplusplus.github.io/CWG/issues/2819).
---------
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Commit: 5f9ae61dee0f6432c1dcc16b4412bb99803fa7d5
https://github.com/llvm/llvm-project/commit/5f9ae61dee0f6432c1dcc16b4412bb99803fa7d5
Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/YAMLTraits.h
M llvm/lib/Support/YAMLTraits.cpp
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-hs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ps.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-vs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-usersgpr-init.ll
M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
M llvm/test/CodeGen/AMDGPU/extra-lds-size.ll
M llvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
M llvm/test/MC/AMDGPU/pal-msgpack.s
M llvm/unittests/Support/YAMLIOTest.cpp
Log Message:
-----------
[Support][YamlTraits] Add quoting for keys in textual YAML representation (#88763)
The support library contains helpers to parse and emit YAML documents.
In the textual YAML representation, some strings need to be quoted, e.g.
when containing unprintable characters.
We already have such quoting implemented for YAML values.
This patch applies the same quoting to YAML *keys*.
One affected case is output of control registers in AMDGPU Msgpack
metadata, which are printed in a format like this:
```
0x2cca (SPI_SHADER_PGM_RSRC1_ES): 42
```
With this patch, the key is quoted:
```
'0x2cca (SPI_SHADER_PGM_RSRC1_ES)': 42
```
Most test changes come from this pattern.
Commit: 86b9a4f892b9fc6cf5929f33a529570acd7abc71
https://github.com/llvm/llvm-project/commit/86b9a4f892b9fc6cf5929f33a529570acd7abc71
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
Log Message:
-----------
[SLP][NFC]Add a test with the skipped gather node, which is same, as vectorized node.
Commit: 040b5a1255dba79f6e6819ac4864256127f810a0
https://github.com/llvm/llvm-project/commit/040b5a1255dba79f6e6819ac4864256127f810a0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
Log Message:
-----------
[SLP]Fix PR90211: vectorized node must match completely to be reused.
If the gather node matches the vectorized node, it must also match with
the scalars completely. Otherwise, need to revectorize the gather node
to generate correct code.
Commit: 37ae4ad0eef338776c7e2cffb3896153d43dcd90
https://github.com/llvm/llvm-project/commit/37ae4ad0eef338776c7e2cffb3896153d43dcd90
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
Log Message:
-----------
[SLP]Support minbitwidth analisys for buildvector nodes.
Metric: size..text
Program size..text
exp ref diff
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 42906.00 42986.00 0.2%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 42909.00 42989.00 0.2%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664581.00 664661.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664581.00 664661.00 0.0%
Less is better.
Replaces `buildvector <p x in> + trunc <p x in> to <p x im>` sequences to
`buildvector <p x im> of { trunc in to im }` scalars, which is free in
most cases, results in better code.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88504
Commit: e71840305d621dcc43d5253e332db990220b7fcb
https://github.com/llvm/llvm-project/commit/e71840305d621dcc43d5253e332db990220b7fcb
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaInit.cpp
M clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/stmt.stmt/stmt.return/p6.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement C++26 P2748R5 "Disallow Binding a Returned Glvalue to a Temporary" (#89942)
Implement P2748R5 "Disallow Binding a Returned Glvalue to a Temporary"
https://wg21.link/P2748R5
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: c4c8d08b81e622529aaf0bfc3020d2b9e87267b3
https://github.com/llvm/llvm-project/commit/c4c8d08b81e622529aaf0bfc3020d2b9e87267b3
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
A clang/test/AST/ast-dump-pragma-unroll.cpp
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/CodeGenCXX/pragma-unroll.cpp
M clang/test/Parser/pragma-unroll.cpp
Log Message:
-----------
[Clang] Fix incorrect handling of #pragma {GCC} unroll N in dependent context (#90240)
PR https://github.com/llvm/llvm-project/pull/89567 fix the `#pragma
unroll N` crash issue in dependent context, but it's introduce an new
issue:
Since https://github.com/llvm/llvm-project/pull/89567, if `N` is value
dependent, 'option' and 'state' were ` (LoopHintAttr::Unroll,
LoopHintAttr::Enable)`. Therefor, clang's code generator generated
incorrect IR metadata.
For the situation `#pragma {GCC} unroll {0|1}`, before template
instantiation, this PR tweak the 'option' to `LoopHintAttr::UnrollCount`
and 'state' to `LoopHintAttr::Numeric`. During template instantiation
and if unroll count is 0 or 1 this PR tweak 'option' to
`LoopHintAttr::Unroll` and 'state' to `LoopHintAttr::Disable`. We don't
use `LoopHintAttr::UnrollCount` here because it's will emit an redundant
LLVM IR metadata `!{!"llvm.loop.unroll.count", i32 1}` when unroll count
is 1.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 6561fa3d02b746743139212f31f24c4a81e5138c
https://github.com/llvm/llvm-project/commit/6561fa3d02b746743139212f31f24c4a81e5138c
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll
Log Message:
-----------
[LoopUnswitch] Allow i1 truncs in loop unswitch (#89738)
With the addition of #84628, truncs to i1 are being emitted as
conditions to branch instructions. This caused significant regressions
in cases which were previously improved by loop unswitch. Adding truncs
to i1 restore the previous performance seen.
Commit: bb770deb9acf554a17ad49c0b3af9b8cf83ec221
https://github.com/llvm/llvm-project/commit/bb770deb9acf554a17ad49c0b3af9b8cf83ec221
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Reject void-typed InitListExprs
Commit: e34b41c707a8cc589725d5f996e1a40e9631a495
https://github.com/llvm/llvm-project/commit/e34b41c707a8cc589725d5f996e1a40e9631a495
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Support CXXParenListInitExprs for non-record types
Merge the non-record code paths into visitInitList().
Commit: 45bd85e4815254a4528cc337447fd6a8eb6fd583
https://github.com/llvm/llvm-project/commit/45bd85e4815254a4528cc337447fd6a8eb6fd583
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix casting function pointers to integers
Commit: 5e3032638e2df5f301dee21f072acc4d6cc806c8
https://github.com/llvm/llvm-project/commit/5e3032638e2df5f301dee21f072acc4d6cc806c8
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
Log Message:
-----------
[MLIR][Linalg] Left over Linalg named ops from previous PR (#90405)
Adding `erf` as unary and `powf` as binary.
Same as `max(arg, 0.0)` for `ReLU`, `powf(arg, const)` can be either a
generic (with broadcast) or a pair (`linalg.broadcast + linalg.powf`)
and then lowered "correctly". Either way, the lower dialects need to
know what kind of broadcast anyway, so no materialization of the
constant tensors should remain.
I want to flush the easy ones before we start working on type cast &
softmax.
Commit: bd07c22e5372789c3eb47b9009029d5e99e0ef9f
https://github.com/llvm/llvm-project/commit/bd07c22e5372789c3eb47b9009029d5e99e0ef9f
Author: Lawrence Benson <github at lawben.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins-reduction-math.c
Log Message:
-----------
[Clang] Add support for scalable vectors in __builtin_reduce_* functions (#87750)
Currently, a lot of `__builtin_reduce_*` function do not support
scalable vectors, i.e., ARM SVE and RISCV V. This PR adds support for
them. The main code change is to use a different path to extract the
type from the vectors, the rest is the same and LLVM supports the reduce
functions for `vscale` vectors.
This PR adds scalable vector support for:
- `__builtin_reduce_add`
- `__builtin_reduce_mul`
- `__builtin_reduce_xor`
- `__builtin_reduce_or`
- `__builtin_reduce_and`
- `__builtin_reduce_min`
- `__builtin_reduce_max`
Note: For all except `min/max`, the element type must still be an
integer value. Adding floating point support for `add` and `mul` is
still an open TODO.
Commit: ef78edafabe72fac1dad1675a5a25d7e2d62bb2c
https://github.com/llvm/llvm-project/commit/ef78edafabe72fac1dad1675a5a25d7e2d62bb2c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll
Log Message:
-----------
[SLP][NFC]Add a test with the optimizable and and final ext, NFC.
Commit: 3044eaf40932c23d668483c6557fa3877f979e62
https://github.com/llvm/llvm-project/commit/3044eaf40932c23d668483c6557fa3877f979e62
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
Log Message:
-----------
[Flang][OpenMP] Use a label to avoid complexity of too many CHECK-DAGs in a test (#90190)
This speeds up the test.
Commit: d486a4c29a331d3bfb3649a8a0aa2ba4970a6455
https://github.com/llvm/llvm-project/commit/d486a4c29a331d3bfb3649a8a0aa2ba4970a6455
Author: David Green <david.green at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
Log Message:
-----------
[ARM] Ensure extra uses are not dead in tail-folding-counting-down.ll. NFC
This might help keep the test valid if vplan is removing dead intructions.
Commit: f6187c76595d576ee75252eee3bf199e91bd276f
https://github.com/llvm/llvm-project/commit/f6187c76595d576ee75252eee3bf199e91bd276f
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/cmake/modules/llvm-driver-template.cpp.in
Log Message:
-----------
[llvm-driver] Fix header order of llvm-driver-template
Commit: b811ad6f348db076b995fdd8f688d72e5a40f7f9
https://github.com/llvm/llvm-project/commit/b811ad6f348db076b995fdd8f688d72e5a40f7f9
Author: Brian Gesiak <brian at modocache.io>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Transport.h
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/unittests/CMakeLists.txt
A mlir/unittests/Tools/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[mlir-lsp] Un-revert unit test additions (#90232)
This reverts the revert commit 6844c2feae93dd4251, which was comprised
of the following commits:
1. f3f6f22dfcced - [mlir-lsp] Initialize `Reply::method` member (#89857)
2. 37e13d4924841 - [mlir-lsp] Log invalid notification params (#89856)
3. ba1b52e6e764a - [mlir-lsp] Add `outgoingNotification` unit test
4. 84bc21f910173 - [mlir-lsp] Add transport unit tests (#89855)
Of these, (4) specifically caused issues in Windows pre-merge buildbots,
in the `TransportTest.MethodNotFound` unit test that it added. The
failure was caused by a statement that asserted that opening a file
stream on a newly created temporary file did not result in an error, but
this assert failed on Windows.
This patch adds additional error logging for failures, to make it
clearer what went wrong when failures occur. This patch also addresses
the Windows failure by ensuring temporary files are created in the
system temporary directory.
Commit: 91f251c31fbbc9b9d8ce69fce4fb50faa0179ef4
https://github.com/llvm/llvm-project/commit/91f251c31fbbc9b9d8ce69fce4fb50faa0179ef4
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/AST/Type.h
Log Message:
-----------
[clang] Fix `remove{CVR|Fast}Qualifiers` with 64-bit `Qualifiers::Mask` (#90329)
After #84384, `Qualifiers::Mask` becomes 64-bit. So, operations like
`Mask &= ~U32` where `U32` is `unsigned` produce undesirable results
since higher 32 bits of `Mask` become zeroed while they should be
preserved. Fix that by explicitly casting `unsigned` values to
`uint64_t` in such operations. Signatures of fixed functions are
intentionally left intact instead of changing the argument itself to
`uint64_t` to keep things consistent with other functions working with
the same qualifiers and to emphasize that 64-bit masks should not be
used for these types of qualifiers.
Commit: 3ba079183f82191d8b6a26dedfebc4a031a3fb6d
https://github.com/llvm/llvm-project/commit/3ba079183f82191d8b6a26dedfebc4a031a3fb6d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
M flang/runtime/file.cpp
M flang/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Added missing routines into CUDA build. (#90272)
Apparently, nvcc does not compile for device the routines whose
definitions
are not marked with device attribute (note that the forward declarations
are already marked). It looks like it is different for class members,
i.e. marking just the declarations is enough.
Commit: 1563a8752b33a854c3ab5a4e8b3dce39ac9831b8
https://github.com/llvm/llvm-project/commit/1563a8752b33a854c3ab5a4e8b3dce39ac9831b8
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/runtime/environment.cpp
M flang/runtime/unit.cpp
M flang/runtime/utf.cpp
Log Message:
-----------
[flang][runtime] Allow building CUDA PTX library without global vars definitions. (#90280)
Commit: 11f4f458d985ba20aae58df1c3092655ec2310bd
https://github.com/llvm/llvm-project/commit/11f4f458d985ba20aae58df1c3092655ec2310bd
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/flags.inc
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Support setting default value of ReleaseToOsIntervalMs in config (#90256)
Commit: 6f02120ac4463e5e0cda25e2aafc485a4fe634ea
https://github.com/llvm/llvm-project/commit/6f02120ac4463e5e0cda25e2aafc485a4fe634ea
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[llvm][RISCV] Improve error message for invalid extension letters (#90468)
Previously you got:
clang: error: invalid arch name 'rv64v', first letter should be 'e', 'i'
or 'g'
Which to me, unfamiliar with riscv, reads as if I should have used
"[eig]rv64v". Which is not what clang means.
Include the first bit in the error message to make this clearer:
clang: error: invalid arch name 'rv64v', first letter after 'rv64'
should be 'e', 'i' or 'g'
Commit: 1e174a7656f943fa2cad2489a226c90e03ca29ac
https://github.com/llvm/llvm-project/commit/1e174a7656f943fa2cad2489a226c90e03ca29ac
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter-frameindex.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Handle frameindex/tframeindex (#90475)
Support patterns like
Pat<(p0 frameindex:$fi), (ADD tframeindex:$fi, 0)>;
in the GlobalISel emitter in TableGen. Currently, using such a pattern
results in an error message.
Commit: df6d2faa22bf19fb27b5c083e590d13024a8d7cd
https://github.com/llvm/llvm-project/commit/df6d2faa22bf19fb27b5c083e590d13024a8d7cd
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[Object] Provide operator< for ELFSymbolRef (#89861)
Normally, operator< accepting DataRefImpl is used when comparing
SymbolRef/ELFSymbolRef. However, it uses std::memcmp which interprets
DataRefImpl union as char string so that the result depends on host
endianness.
For ELFSymbolRef a specialized operator< can be used instead to produce
consistent ordering regardless of endianness by comparing the symbol
table index and symbol index fields separately.
Commit: 2903df02fb3c057849aaa796a91289b01950a5f0
https://github.com/llvm/llvm-project/commit/2903df02fb3c057849aaa796a91289b01950a5f0
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ExprConstant.cpp
A clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/convertvector.c
Log Message:
-----------
Squashed commit of the following:
commit 8d41d93e3fceb3f3af77266f5a8388fc585150a5
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Sat Apr 20 12:19:49 2024 +0200
Address some misc comments; added a diagnostic and expanded macros in
testing.
commit 9493c0f290b558947d8b3ae8e1adf909b0fb9dcd
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Sun Mar 31 18:18:45 2024 +0200
Following the review of sethp, I have made the following changes:
-- Added diagnostic for the undefined shuffle of -1
-- Validated support for _BitInt
-- A bunch of other minnor tweaks here and there
commit 8273abc8d56ef8225cf4dba84f66a1e54a2ef036
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Thu Jan 4 12:31:08 2024 +0100
Fix typo in file name
commit ff68f23921966c7d9605f91a47d6b481bf1d7a7b
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Thu Jan 4 11:26:08 2024 +0100
Address suggestions from RKSimon
commit c14783de45687c754253c0cbf8a7834c7f986d80
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date: Sat Dec 30 13:59:00 2023 +0100
[clang] Constexpr for __builtin_shufflevector and __builtin_convertvector
Summary:
This patch adds constexpr support for __builtin_shufflevector
and __builtin_convertvector.
A small oddity encountered was that the arg to the intrinsics may be an
lvalue without any sort of implicit cast of any kind. I solved this
through the EvaluateVectorOrLValue function, which treats the lvalue as
if it was in an rvalue cast, which gets me the desired vector.
Co-Authored-By: Seth Pellegrino <seth at codecopse.net>
Commit: e3750fb65acf0f7447f6a49a0ba5d3197f4d9766
https://github.com/llvm/llvm-project/commit/e3750fb65acf0f7447f6a49a0ba5d3197f4d9766
Author: Jared Grubb <jaredgrubb at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaObjC/format-strings-oslog.m
Log Message:
-----------
[Clang] Add diagnostic about "%P" specifier with Objective-C pointers (#89977)
A Darwin extension '%P' combined with an Objective-C pointer seems to
always be a bug.
'%P' will dump bytes at the pointed-to address (in contrast to '%p'
which dumps the pointer itself). This extension is only allowed in "OS
Log" contexts and is intended to be used like `%{uuid_t}.*16P` or
`%{timeval}.*P`. If an ObjC pointer is used, then the internal runtime
structure (aka, the is-a pointer and other runtime metadata) will be
dumped, which (IMO) is never the expectation.
A simple diagnostic can help flag these scenarios.
Resolves https://github.com/llvm/llvm-project/issues/89968
Co-authored-by: Jared Grubb <jgrubb at apple.com>
Commit: b07177fb68d396cc9063ac4899e4d67f6765597f
https://github.com/llvm/llvm-project/commit/b07177fb68d396cc9063ac4899e4d67f6765597f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M offload/CMakeLists.txt
A offload/include/Shared/Targets.def.in
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/src/PluginManager.cpp
Log Message:
-----------
[Libomptarget] Rework interface for enabling plugins (#86875)
Summary:
Previously we would build all of the plugins by default and then only
load some using the `LIBOMPTARGET_PLUGINS_TO_LOAD` variable. This patch
renamed this to `LIBOMPTARGET_PLUGINS_TO_BUILD` and changes whether or
not it will include the plugin in CMake.
Additionally this patch creates a new `Targets.def` file that allows us
to enumerate all of the enabled plugins. This is somewhat different from
the old method, and it's done this way for future use that will need to
be shared. This follows the same method that LLVM uses for its targets,
however it does require adding an extra include path.
Depends on https://github.com/llvm/llvm-project/pull/86868
Commit: 4c701577cd4175068e4f8dda250f2a5f5aefbe24
https://github.com/llvm/llvm-project/commit/4c701577cd4175068e4f8dda250f2a5f5aefbe24
Author: yonghong-song <yhs at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
Log Message:
-----------
BPF: Use DebugLoc to find Filename for BTF line info (#90302)
Andrii found an issue where the BTF line info may have empty source
which seems wrong. The program is a Meta internal bpf program. I can
reproduce with latest upstream compiler as well. Let the bpf program
built without this patch and then with the following veristat check
where veristat is a bpf verifier tool to do kernel verification for bpf
programs:
$ veristat -vl2 yhs.bpf.o --log-size=150000000 >& log
$ rg '^;' log | sort | uniq -c | sort -nr | head -n10
4206 ; } else if (action->dry_run) { @ src_mitigations.h:57
3907 ; if (now < start_allow_time) { @ ban.h:17
3674 ; @ src_mitigations.h:0
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
1737 ; pkt_info->is_dry_run_drop = action->dry_run; @
src_mitigations.h:26
1737 ; if (mitigation == ALLOW) { @ src_mitigations.h:28
1737 ; enum match_action mitigation = action->action; @
src_mitigations.h:25
1727 ; void* res = bpf_map_lookup_elem(bpf_map, key); @
filter_helpers.h:498
1691 ; bpf_map_lookup_elem(&rate_limit_config_map, rule_id); @
rate_limit.h:76
1688 ; if (throttle_cfg) { @ rate_limit.h:85
You can see
3674 ; @ src_mitigations.h:0
where we do not have proper line information and line number.
In LLVM Machine IR, some instructions may carry DebugLoc information
to specify where the corresponding source is for this instruction.
The information includes file_name, line_num and col_num.
Each instruction may also attribute to a function in debuginfo.
So there are two ways to find file_name for a particular insn:
(1) find the corresponding function in debuginfo
(MI->getMF()->getFunction().getSubprogram()) and then
find the file_name from DISubprogram.
(2) find the corresponding file_name from DebugLoc.
The option (1) is used in current implementation. This mostly works.
But if one instruction is somehow generated from multiple functions,
the compiler has to pick just one. This may cause a mismatch between
file_name and line_num/col_num.
Besides potential incorrect mismatch of file_name vs. line_num/col_num,
There is another issue where some DebugLoc has line number 0. For
example,
I dumped the dwarf line table for the above bpf program:
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- -------
-------------
0x0000000000000000 96 0 17 0 0 0 is_stmt
0x0000000000000010 100 12 17 0 0 0 is_stmt prologue_end
0x0000000000000020 0 12 17 0 0 0
0x0000000000000058 37 7 17 0 0 0 is_stmt
0x0000000000000060 0 0 17 0 0 0
0x0000000000000088 37 7 17 0 0 0
0x0000000000000090 42 75 17 0 0 0 is_stmt
0x00000000000000a8 42 52 17 0 0 0
0x00000000000000c0 120 9 17 0 0 0 is_stmt
0x00000000000000c8 0 9 17 0 0 0
0x00000000000000d0 106 21 17 0 0 0 is_stmt
0x00000000000000d8 106 3 17 0 0 0
0x00000000000000e0 110 25 17 0 0 0 is_stmt
0x00000000000000f8 110 36 17 0 0 0
0x0000000000000100 0 36 17 0 0 0
...
These DebugLoc with line number 0 needs to be skipped since we cannot
map them to the correct source code. Note that selftest
offset-reloc-basic.ll
has this issue as well which is adjusted by this patch.
With the above two fixes, empty lines for source annotation are removed.
$ veristat -vl2 yhs.bpf.o --log-size=150000000 >& log
$ rg '^;' log.latest | sort | uniq -c | sort -nr | head -n10
4206 ; } else if (action->dry_run) { @ src_mitigations.h:57
3907 ; if (now < start_allow_time) { @ ban.h:17
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
1737 ; pkt_info->is_dry_run_drop = action->dry_run; @
src_mitigations.h:26
1737 ; if (mitigation == ALLOW) { @ src_mitigations.h:28
1737 ; enum match_action mitigation = action->action; @
src_mitigations.h:25
1727 ; void* res = bpf_map_lookup_elem(bpf_map, key); @
filter_helpers.h:498
1691 ; bpf_map_lookup_elem(&rate_limit_config_map, rule_id); @
rate_limit.h:76
1688 ; if (throttle_cfg) { @ rate_limit.h:85
1670 ; if (rl_cfg) { @ rate_limit.h:77
You can see that we do not have empty line any more.
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
Signed-off-by: Yonghong Song <yonghong.song at linux.dev>
Commit: 3590ede848d67cf7d49d43e1830f90b053e3e76f
https://github.com/llvm/llvm-project/commit/3590ede848d67cf7d49d43e1830f90b053e3e76f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
A clang/test/AST/Interp/opencl.cl
M clang/test/SemaOpenCL/vec_step.cl
Log Message:
-----------
[clang][Interp] Support vec_step
Commit: dede19caf0da31d9b8b69d014602cde41ab9a96e
https://github.com/llvm/llvm-project/commit/dede19caf0da31d9b8b69d014602cde41ab9a96e
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/Utils/GlobalStatus.cpp
M llvm/test/Transforms/GlobalOpt/basictest.ll
M llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
M llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
M llvm/test/Transforms/GlobalOpt/tls.ll
Log Message:
-----------
GlobalOpt: Handle threadlocal.address intrinsic (#88454)
This changes `GlobalOpt` to skip/look-through `threadlocal.address`
intrinsic where apropriate.
This fixes issue #73314
Commit: e441363f7da2da50449917f17ab4ed412f9e7cb3
https://github.com/llvm/llvm-project/commit/e441363f7da2da50449917f17ab4ed412f9e7cb3
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-regression-traverse-decl-crash.cpp
Log Message:
-----------
Fix a crash introduced by 3d5e9ab by adding a nullptr check. (#90301)
Commit: b7248d53637fb534d35554f1ddda8e50fe85fa63
https://github.com/llvm/llvm-project/commit/b7248d53637fb534d35554f1ddda8e50fe85fa63
Author: Lei Wang <wlei at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll
Log Message:
-----------
[PseudoProbe] Add an option to remove pseudo probes after profile annotation (#90293)
This can be used for testing perf overhead of pseudo-probe.
Commit: 6d8cae7f8bd47d7cf9ea447531f8810b66870ebe
https://github.com/llvm/llvm-project/commit/6d8cae7f8bd47d7cf9ea447531f8810b66870ebe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerShift - use DAG::getNegative() helper. NFC.
Commit: 54f09be90f5e8bcb9c25b1827d11ed0ac7f3b887
https://github.com/llvm/llvm-project/commit/54f09be90f5e8bcb9c25b1827d11ed0ac7f3b887
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerABS - use DAG::getNegative() helper. NFC.
Commit: a025ef193c0775dc24df156510c49cd4528a127a
https://github.com/llvm/llvm-project/commit/a025ef193c0775dc24df156510c49cd4528a127a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerSELECT - use DAG::getNegative() helper. NFC.
Commit: 5b1cc58b3c72f51b8a1ce27e5fba15783d447d7c
https://github.com/llvm/llvm-project/commit/5b1cc58b3c72f51b8a1ce27e5fba15783d447d7c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getOnesVector - use getAllOnesConstant helper. NFC.
Commit: 99df06ac71b12bc5a38240e71cfc37383687b48e
https://github.com/llvm/llvm-project/commit/99df06ac71b12bc5a38240e71cfc37383687b48e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
Log Message:
-----------
[AST] Dump explicit template arguments for UnreslovedLookupExpr. (#90466)
Having them dump is useful for ad-hoc debugging (context:
https://github.com/llvm/llvm-project/issues/90046)
Commit: 618adc762e95b33576c42be8912bb48dd0fdff94
https://github.com/llvm/llvm-project/commit/618adc762e95b33576c42be8912bb48dd0fdff94
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/RISCV/large-instructions.s
Log Message:
-----------
[RISCV] Support instruction sizes up to 176-bits in disassembler. (#90371)
We don't have any instructions defined yet, but that we can still read the correct number of bytes when disassembling. This should better match GNU objdump behavior.
Commit: f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc
https://github.com/llvm/llvm-project/commit/f9d4d54aa0cb6fbeee1e8744b379b1eac59c3afc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Break the (czero_eqz x, (setne x, 0)) -> x combine into 2 combines. (#90428)
We can think of this as two separate combines
(czero_eqz x, (setne y, 0)) -> (czero_eqz x, y)
and
(czero_eqz x, x) -> x
Similary the (czero_nez x, (seteq x, 0)) -> x combine can be broken into
(czero_nez x, (seteq y, 0)) -> (czero_eqz x, y)
and
(czero_eqz x, x) -> x
isel already does the (czero_eqz x, (setne y, 0)) -> (czero_eqz x, y)
and (czero_nez x, (seteq y, 0)) -> (czero_eqz x, y) combines, but doing
them early could expose other opportunities.
Commit: fe3f6c63cd6b75433a72b980a23d9848d19abdc2
https://github.com/llvm/llvm-project/commit/fe3f6c63cd6b75433a72b980a23d9848d19abdc2
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/Unit/lit.cfg.py
Log Message:
-----------
[Clang] Propagate 'SystemDrive' environment variable for unit tests (#90478)
On Windows, running unit tests by directly invoking `llvm-lit.py` (e.g.
`python3 llvm-lit.py clang/test/Unit`) may create a folder named `%SystemDrive%`
in the current working directory. This appears to happen because `lit.cfg.py` in
`clang/test/Unit` does not propagate the `SystemDrive` environment variable.
Commit: cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe
https://github.com/llvm/llvm-project/commit/cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
A clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
[Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link pipeline (#90310)
Skip CoroSplit and CoroCleanup in LTO pre-link pipeline so that
CoroElide can happen after callee coroutine is imported into caller's
module in ThinLTO.
Commit: d566a5cd22b4a653f10698f90c691a1452dad5ce
https://github.com/llvm/llvm-project/commit/d566a5cd22b4a653f10698f90c691a1452dad5ce
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/test/Dialect/GPU/outlining.mlir
Log Message:
-----------
[MLIR] Improve KernelOutlining to avoid introducing an extra block (#90359)
This fixes a TODO in the code.
Commit: 7e2eeb5753dee9719054a0a9c2315a82a2afbf32
https://github.com/llvm/llvm-project/commit/7e2eeb5753dee9719054a0a9c2315a82a2afbf32
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
Log Message:
-----------
[mlir][sparse] use ValueRange instead of std::pair for iterator position. (#90243)
`ValueRange` is more easy to be extended (e.g., for padded iterator).
Commit: a1e9608b0ff8054abb62d35147a04dd65d965a3e
https://github.com/llvm/llvm-project/commit/a1e9608b0ff8054abb62d35147a04dd65d965a3e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/NameResolver.h
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/fragment-lite.s
Log Message:
-----------
[BOLT] Use symbol table info in registerFragment (#89648)
Fragment matching relies on symbol names to identify and register split
function fragments. However, as split fragments are often local symbols,
name aliasing is possible. For such cases, use symbol table to resolve
ambiguities.
This requires the presence of FILE symbols in the input binary. As BOLT
requires non-stripped binary, this is a reasonable assumption. Note that
`strip -g` removes FILE symbols by default, but `--keep-file-symbols`
can be used to preserve them.
Depends on: https://github.com/llvm/llvm-project/pull/89861
Test Plan:
Updated X86/fragment-lite.s
Commit: 9c3f5fe88f19820360981d0798392799e1924cb7
https://github.com/llvm/llvm-project/commit/9c3f5fe88f19820360981d0798392799e1924cb7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
Log Message:
-----------
[LV] Don't consider the latch block as ScalarPredicatedBB.
The conditional branch from the loop latch will be replaced by a
single branch controlling the loop, so there is no extra overhead from
scalarization. This improves the cost esimates in some cases.
Commit: ca257022aa130f95b2530f9aba98af8d63027b0d
https://github.com/llvm/llvm-project/commit/ca257022aa130f95b2530f9aba98af8d63027b0d
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir
Log Message:
-----------
[AArch64] Regenerate `machine-combiner-subadd2.mir` test (NFC)
llvm-clang-x86_64-expensive-checks-debian buildbot was previously failing.
Fixes: https://lab.llvm.org/buildbot/#/builders/16/builds/64701.
Commit: c3598b161a4d868b1cd10a7ee7ac37d68e5a36fe
https://github.com/llvm/llvm-project/commit/c3598b161a4d868b1cd10a7ee7ac37d68e5a36fe
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp
Log Message:
-----------
[libc++] Improve libc++ tests when using optimizations (#88897)
Some tests were missing DoNotOptimize annotations.
Commit: 413f6b95a4360fc9854ca775027913a633835cfa
https://github.com/llvm/llvm-project/commit/413f6b95a4360fc9854ca775027913a633835cfa
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel][NFC] clang-tidy GlobalISelEmitter.cpp (#90492)
Fixes a couple of style issues, such as:
- unused includes
- variable naming
- `else if` after `return`
Commit: 7eac39f650227427a32b0db1a511b2b12c48a0fc
https://github.com/llvm/llvm-project/commit/7eac39f650227427a32b0db1a511b2b12c48a0fc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/mutex
M libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
R libcxx/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.verify.cpp
Log Message:
-----------
[libc++] Mark scoped_lock and unique_lock constructors as [[nodiscard]] (#89397)
It's basically always a bug to discard a scoped_lock or a unique_lock.
Fixes #89388
Commit: 3ab4ae9e58c09dfd8203547ba8916f3458a0a481
https://github.com/llvm/llvm-project/commit/3ab4ae9e58c09dfd8203547ba8916f3458a0a481
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
Log Message:
-----------
[clang codegen] Fix MS ABI detection of user-provided constructors. (#90151)
In the context of determining whether a class counts as an "aggregate",
a constructor template counts as a user-provided constructor.
Fixes #86384
Commit: b83e65dcf87925efe6b6623b15a160981422b1bb
https://github.com/llvm/llvm-project/commit/b83e65dcf87925efe6b6623b15a160981422b1bb
Author: Pol M <polmarcetsarda at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
Log Message:
-----------
[clang] Constexpr for __builtin_shufflevector and __builtin_convertvector (#76615)
This patch adds constexpr support for __builtin_shufflevector and
__builtin_convertvector.
NB: the changes went in under 2903df02fb3c057849aaa796a91289b01950a5f0 , this commit is just github PR bookkeepping.
Commit: 99ce84cef0185fe9eaec51e40ea80f69f06981f0
https://github.com/llvm/llvm-project/commit/99ce84cef0185fe9eaec51e40ea80f69f06981f0
Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/Lex/Pragma.cpp
Log Message:
-----------
[clang][NFC] Reformat suspicious condition (#89923)
Addresses issue #89805.
Assignment + comparison performed in conditional statement. Resolved by
parenthesizing comparison operation.
Fixes #89805.
---------
Signed-off-by: Troy-Butler <squintik at outlook.com>
Commit: 359ab3aebba302fb4c37373b9907bc8880be7363
https://github.com/llvm/llvm-project/commit/359ab3aebba302fb4c37373b9907bc8880be7363
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Log Message:
-----------
[CIR] Add options to emit ClangIR and enable the ClangIR pipeline
Introduce just the option definitions and support for their existance at
a few different points in the frontend. This will be followed soon by
functionality that uses it.
Reviewers: bcardosolopes, jansvoboda11, AaronBallman, erichkeane, MaskRay
Reviewed By: erichkeane
Pull Request: https://github.com/llvm/llvm-project/pull/89030
Commit: 326657f5679889e3374354ba3243e27bda2080f4
https://github.com/llvm/llvm-project/commit/326657f5679889e3374354ba3243e27bda2080f4
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/Sema/DeclSpec.h
M clang/lib/AST/DeclBase.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Address post commit feedbacks in #89906 (#90495)
* Fix a leak
* Fix a maybe unused warning
* Fix incorrect cxx_status entry
Commit: a5cc95147ed549e850b4e9641e84641e781e0ceb
https://github.com/llvm/llvm-project/commit/a5cc95147ed549e850b4e9641e84641e781e0ceb
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/BinaryFormat/ELF.cpp
M llvm/unittests/BinaryFormat/CMakeLists.txt
A llvm/unittests/BinaryFormat/ELFTest.cpp
Log Message:
-----------
[BinaryFormat] Adjust OSABI functions and add unittests
Adjust #89280:
* ELFOSABI_LINUX is a historical alias that should not be used in new
code. readelf -h displays "UNIX - GNU" instead of "Linux".
* "OS" is inappropriate. Some values are architecture-specific, e.g.
ELFOSABI_ARM.
* Drop lowercase, which seems a job of the caller.
Add some unittests.
Pull Request: https://github.com/llvm/llvm-project/pull/90270
Commit: e5907c88594133e45b8d1d4e29702b96d7f45c77
https://github.com/llvm/llvm-project/commit/e5907c88594133e45b8d1d4e29702b96d7f45c77
Author: Jorge Pinto Sousa <jorge.pinto.sousa at protonmail.ch>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/include/clang/AST/NestedNameSpecifier.h
Log Message:
-----------
[NFC] Fix hasQualifier comment (#90485)
operator bool from NestedNameSpecifierLoc and
member function hasQualifier both do the same thing, returning true if
the private data member Qualifier is not nullptr, so clearly one of the
comments is wrong, and in this case it is the second one.
fixes https://github.com/llvm/llvm-project/issues/90472
Commit: 8ba880b587074ad6c8624ed45ea2b289f653667f
https://github.com/llvm/llvm-project/commit/8ba880b587074ad6c8624ed45ea2b289f653667f
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fp-model.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/solaris-ld.c
Log Message:
-----------
[Driver] Clean up denormal handling with fast-math-related options (#89477)
This change cleans up the clang driver handling of umbrella options like
-ffast-math, -funsafe-math-optimizations, and -ffp-model, and aligns the
behavior of -ffp-model=fast with -ffast-math with regard to the linking
of crtfastmath.o.
We agreed in a previous review that the fast-math options should not
attempt to change the -fdenormal-fp-math option, which is inherently
target-specific.
The clang user's manual claims that -ffp-model=fast "behaves identically
to specifying both -ffast-math and -ffp-contract=fast." Since
-ffast-math causes crtfastmath.o to be linked if it is available, that should
also happen with -ffp-model=fast.
I am going to be proposing further changes to -ffp-model=fast,
decoupling it from -ffast-math and introducing a new
-ffp-model=aggressive that matches the current behavior, but I wanted
to solidfy the current behavior before I do that.
Commit: 975eca0e6a3459e59e96b0df33ea0cfbd157c597
https://github.com/llvm/llvm-project/commit/975eca0e6a3459e59e96b0df33ea0cfbd157c597
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/include/lldb/Expression/Expression.h
M lldb/include/lldb/Expression/LLVMUserExpression.h
M lldb/include/lldb/Expression/UserExpression.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-private-types.h
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBExpressionOptions.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Expression/UtilityFunction.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Target/Language.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/utils/TableGen/CMakeLists.txt
A lldb/utils/TableGen/LLDBSBAPIDWARFEnum.cpp
M lldb/utils/TableGen/LLDBTableGen.cpp
M lldb/utils/TableGen/LLDBTableGenBackends.h
Log Message:
-----------
Add a new SBExpressionOptions::SetLanguage() API (NFCI) (#89981)
that separates out language and version. To avoid reinventing the wheel
and introducing subtle incompatibilities, this API uses the table of
languages and versiond defined by the upcoming DWARF 6 standard
(https://dwarfstd.org/languages-v6.html). While the DWARF 6 spec is not
finialized, the list of languages is broadly considered stable.
The primary motivation for this is to allow the Swift language plugin to
switch between language dialects between, e.g., Swift 5.9 and 6.0 with
out introducing a ton of new language codes. On the main branch this
change is considered NFC.
Depends on https://github.com/llvm/llvm-project/pull/89980
Commit: 9d955a63c7b0d2d547a63d4074e03cd5ebd1f162
https://github.com/llvm/llvm-project/commit/9d955a63c7b0d2d547a63d4074e03cd5ebd1f162
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lld/tools/lld/CMakeLists.txt
M llvm/test/tools/llvm-driver/passthrough-lld.test
M llvm/tools/llvm-driver/CMakeLists.txt
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
Log Message:
-----------
[driver] Allow `ld` as a driver alias to lld (#90515)
This adds a "hidden" alias kind that allows using LLD when symlinked as
`ld`; however, it does not install `ld` as a symlink. This is to allow
either using a mixed toolchain with both LLD and GNU ld, or a pure LLD
toolchain where LLD has been installed (or symlinked) to `ld` for
compatibility w/ older tools that expect `ld`.
Commit: 35fa46a56ae2a220de514e5de5c5e6b4607f5ebb
https://github.com/llvm/llvm-project/commit/35fa46a56ae2a220de514e5de5c5e6b4607f5ebb
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
Log Message:
-----------
Improve comment
Commit: 347a02b408567ba15fdc68646129c1f5de97ab7e
https://github.com/llvm/llvm-project/commit/347a02b408567ba15fdc68646129c1f5de97ab7e
Author: Seth Pellegrino <seth at codecopse.net>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/Sema/constant_builtins_vector.cpp
Log Message:
-----------
[clang][NFC] Repair tests for __builtin_convertvector on big-endian
Previously, the macro expansion to be explicit for the test cases had
unintentionally forced the tests to always run in little-endian mode.
This change restores the tests' endianness switch, and ensures that
the tests always run on both a little- and big-endian platform.
Commit: 6f390ea60d987f6e1e027d1c72982c2eb7896005
https://github.com/llvm/llvm-project/commit/6f390ea60d987f6e1e027d1c72982c2eb7896005
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/Lex/Pragma.cpp
Log Message:
-----------
[Lex] Fix clang -Wparentheses after #89923
Commit: 5bbf1ea8f18d1f99637b7b8bf6b985c186c808f6
https://github.com/llvm/llvm-project/commit/5bbf1ea8f18d1f99637b7b8bf6b985c186c808f6
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Enable multivalue and reference-types in generic CPU config (#80923)
This enables multivalue and reference-types in `-mcpu=generic`
configuration. These proposals have been standardized and supported in
all major browsers for several years at this point:
https://github.com/WebAssembly/proposals/blob/main/finished-proposals.md
Commit: 3a0d894fafddace75f03fa7df25022cadbe2dffc
https://github.com/llvm/llvm-project/commit/3a0d894fafddace75f03fa7df25022cadbe2dffc
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Add support for BOLT-reserved space in a binary (#90300)
Allow the user to allocate space in a binary that could be used by BOLT
for allocating new sections. The reservation is specified by two special
symbols recognizable by BOLT: __bolt_reserved_{start,end}.
The reserved space will be useful for optimizing the Linux kernel where
we cannot allocate a new executable segment. However, the support is not
limited to kernel binaries as some user-space application may find it
useful too.
Commit: 869ffcf3f6ca74c8a0ec6eb250d45e6ea0680c81
https://github.com/llvm/llvm-project/commit/869ffcf3f6ca74c8a0ec6eb250d45e6ea0680c81
Author: Kees Cook <keescook at chromium.org>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/regparm-flag.c
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
Log Message:
-----------
[CodeGen][i386] Move -mregparm storage earlier and fix Runtime calls (#89707)
When building the Linux kernel for i386, the -mregparm=3 option is
enabled. Crashes were observed in the sanitizer handler functions, and
the problem was found to be mismatched calling convention.
As was fixed in commit c167c0a4dcdb ("[BuildLibCalls] infer inreg param
attrs from NumRegisterParameters"), call arguments need to be marked as
"in register" when -mregparm is set. Use the same helper developed there
to update the function arguments.
Since CreateRuntimeFunction() is actually part of CodeGenModule, storage
of the -mregparm value is also moved to the constructor, as doing this
in Release() is too late.
Fixes: https://github.com/llvm/llvm-project/issues/89670
Commit: 028546cce2316a1074aa27001450295d856e1fdc
https://github.com/llvm/llvm-project/commit/028546cce2316a1074aa27001450295d856e1fdc
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/source/Expression/UserExpression.cpp
Log Message:
-----------
Simplify condition (NFC)
Commit: 1f44a0b1ff2daebe10b9916da228f7c0ba66827c
https://github.com/llvm/llvm-project/commit/1f44a0b1ff2daebe10b9916da228f7c0ba66827c
Author: Reid Kleckner <rnk at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/utils/creduce-clang-crash.py
Log Message:
-----------
Make minor improvements to the creduce wrapper script
Use shlex.quote instead of pipes.quote. We don't need to support Python
2.7 anymore.
Remove -fcolor-diagnostics first, because that can sometimes interfere
with the interestingness test.
Commit: d47c4984e9ea80ffd01efb084df9485d314d1d14
https://github.com/llvm/llvm-project/commit/d47c4984e9ea80ffd01efb084df9485d314d1d14
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
R llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll
A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp32_to_bf16.ll
A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
Log Message:
-----------
[AMDGPU][ISel] Add more trunc store actions regarding bf16 (#90493)
Commit: e24a7bbf4515213f44d410bfc41b3dff27c49c86
https://github.com/llvm/llvm-project/commit/e24a7bbf4515213f44d410bfc41b3dff27c49c86
Author: Brian Gesiak <brian at modocache.io>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Transport.h
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/unittests/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[mlir-lsp] Support outgoing requests (#90078)
Add support for outgoing requests to `lsp::MessageHandler`. Much like
`MessageHandler::outgoingNotification`, this allows for the message
handler to send outgoing messages via its JSON transport, but in this
case, those messages are requests, not notifications.
Requests receive responses (also referred to as "replies" in
`MLIRLspServerSupportLib`). These were previously unsupported, and
`lsp::MessageHandler` would log an error each time it processed a JSON
message that appeared to be a response (something with an "id" field,
but no "method" field). However, the `outgoingRequest` method now
handles response callbacks: an outgoing request with a given ID is set
up such that a callback function is invoked when a response with that ID
is received.
Commit: 1b70580dd867195b0442e582eccd42abc41ee12d
https://github.com/llvm/llvm-project/commit/1b70580dd867195b0442e582eccd42abc41ee12d
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/driver/batch_mode/TestBatchMode.py
M lldb/test/API/driver/job_control/TestJobControl.py
M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
M lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
Log Message:
-----------
Skip various tests under ASAN on green dragon (#90531)
using the macOS version as a proxy. I can't reproduce any of these
failures locally, but the tests all use pexpect and probably have bad
timeout behavior under high load.
Commit: c4c4e17c99f8d4f79bb9e1e3819d1d76e5e09ed1
https://github.com/llvm/llvm-project/commit/c4c4e17c99f8d4f79bb9e1e3819d1d76e5e09ed1
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/register-fragments-bolt-symbols.s
Log Message:
-----------
[BOLT] Use heuristic for matching split local functions (#90424)
Use known order of BOLT split function symbols: fragment symbols
immediately precede the parent fragment symbol.
Depends On: https://github.com/llvm/llvm-project/pull/89648
Test Plan: Added register-fragments-bolt-symbols.s
Commit: 5e9937d1b3ada9c686505c5f2c1e1b054ad9edc2
https://github.com/llvm/llvm-project/commit/5e9937d1b3ada9c686505c5f2c1e1b054ad9edc2
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nearbyintf128.cpp
A libc/src/math/generic/scalbnf128.cpp
A libc/src/math/nearbyintf128.h
A libc/src/math/scalbnf128.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/scalbnf128_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/NearbyIntTest.h
A libc/test/src/math/smoke/nearbyint_test.cpp
A libc/test/src/math/smoke/nearbyintf128_test.cpp
A libc/test/src/math/smoke/nearbyintf_test.cpp
A libc/test/src/math/smoke/nearbyintl_test.cpp
A libc/test/src/math/smoke/scalbnf128_test.cpp
Log Message:
-----------
[libc][math] Adds entrypoint and tests for nearbyintf128,scalbnf128 (#88443)
Closes #84689.
Adding @lntue for review.
I was curious about the implementation of
`round_using_current_rounding_mode` used for the `nearbyint` functions.
It has one of the rounding modes as unreachable
([here](https://github.com/llvm/llvm-project/blob/main/libc/src/__support/FPUtil/NearestIntegerOperations.h#L243)),
and I was wondering if this was okay for the `nearbyint` functions.
---------
Co-authored-by: Michael Flanders <mkf727 at cs.washington.edu>
Commit: ae7ce1c6e728a262049c998c667b79165b285bd8
https://github.com/llvm/llvm-project/commit/ae7ce1c6e728a262049c998c667b79165b285bd8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
Log Message:
-----------
[CodeGen] Remove extraneous ArrayRef (NFC) (#90423)
We don't need to explicitly create an instance of ArrayRef here
because getIndexedOffsetInType takes ArrayRef, and ArrayRef can be
implicitly constructed from a C array.
Commit: 1cb33713910501c6352d0eb2a15b7a15e6e18695
https://github.com/llvm/llvm-project/commit/1cb33713910501c6352d0eb2a15b7a15e6e18695
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
Log Message:
-----------
Ensure test writes objects to test temp dir
Commit: 6566ffdf8a543f50b75e9b3c66d771a3a9eb1560
https://github.com/llvm/llvm-project/commit/6566ffdf8a543f50b75e9b3c66d771a3a9eb1560
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
Log Message:
-----------
Clean up the GSym error aggregation code, and pass the aggregator by reference (#89688)
There was a problem with `llvm-gsymutil`s error aggregation code not
properly collecting aggregate errors. The was that the output aggregator
collecting errors from other threads wasn't being passed by reference,
so it was merging them into a copy of the app-wide output aggregator.
While I was at it, I added a better comment above the "Merge" code and
made it a bit more efficient, after learning more details about
`emplace` vs. `insert` or `operator[]` on `std::map`'s.
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: ce3485a0cd12b45c725f008a7836e71a1d72df49
https://github.com/llvm/llvm-project/commit/ce3485a0cd12b45c725f008a7836e71a1d72df49
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/atexit-dtor.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[llvm][GlobalOpt] Remove empty atexit destructors/handlers (#88836)
https://godbolt.org/z/frjhqMKqc for an example.
Removal of allocations due to empty `__cxa_atexit` destructor calls is
done by the following globalopt pass.
This pass currently does not look for `atexit` handlers generated for
platforms that do not use `__cxa_atexit`.
By default Win32 and AIX use `atexit`.
I don't see an easy way to only remove `atexit` calls that the compiler
generated without looking at the generated mangled name of the atexit
handler that is being registered.
However we can easily remove all `atexit` calls that register empty
handlers since it is trivial to ensure the removed call still returns
`0` which is the value for success.
Commit: 9a1386e5fabb0d2741f2f7c873342eb86e350e9e
https://github.com/llvm/llvm-project/commit/9a1386e5fabb0d2741f2f7c873342eb86e350e9e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
Log Message:
-----------
[NFC] Remove method from FoldingSet that already existed in APInt. (#90486)
Noticed that there already was a function in APInt that updated a
FoldingSet so there was no need for me to add it in
https://github.com/llvm/llvm-project/pull/84617.
Commit: 65ee8f10b2017349b7742843fbe4accb172736e9
https://github.com/llvm/llvm-project/commit/65ee8f10b2017349b7742843fbe4accb172736e9
Author: Aart Bik <ajcbik at google.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
A mlir/test/Dialect/SparseTensor/sparse_matmul_one.mlir
Log Message:
-----------
[mlir][sparse] fold explicit value during sparsification (#90530)
This ensures the explicit value is generated (and not a load into the
values array). Note that actually not storing values array at all is
still TBD, this is just the very first step.
Commit: b1867e18c346e9621e14270bea2d1acb7d2a9ce0
https://github.com/llvm/llvm-project/commit/b1867e18c346e9621e14270bea2d1acb7d2a9ce0
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Parse/Parser.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Parse/ParseDecl.cpp
A clang/test/Driver/experimental-late-parse-attributes.c
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[Attributes] Support Attributes being declared as supporting an experimental late parsing mode "extension" (#88596)
This patch changes the `LateParsed` field of `Attr` in `Attr.td` to be
an instantiation of the new `LateAttrParseKind` class. The instation can be one of the following:
* `LateAttrParsingNever` - Corresponds with the false value of `LateParsed` prior to this patch (the default for an attribute).
* `LateAttrParseStandard` - Corresponds with the true value of `LateParsed` prior to this patch.
* `LateAttrParseExperimentalExt` - A new mode described below.
`LateAttrParseExperimentalExt` is an experimental extension to
`LateAttrParseStandard`. Essentially this allows
`Parser::ParseGNUAttributes(...)` to distinguish between these cases:
1. Only `LateAttrParseExperimentalExt` attributes should be late parsed.
2. Both `LateAttrParseExperimentalExt` and `LateAttrParseStandard`
attributes should be late parsed.
Callers (and indirect callers) of `Parser::ParseGNUAttributes(...)`
indicate the desired behavior by setting a flag in the
`LateParsedAttrList` object that is passed to the function.
In addition to the above, a new driver and frontend flag
(`-fexperimental-late-parse-attributes`) with a corresponding LangOpt
(`ExperimentalLateParseAttributes`) is added that changes how
`LateAttrParseExperimentalExt` attributes are parsed.
* When the flag is disabled (default), in cases where only
`LateAttrParsingExperimentalOnly` late parsing is requested, the
attribute will be parsed immediately (i.e. **NOT** late parsed). This
allows the attribute to act just like a `LateAttrParseStandard`
attribute when the flag is disabled.
* When the flag is enabled, in cases where only
`LateAttrParsingExperimentalOnly` late parsing is requested, the
attribute will be late parsed.
The motivation behind this change is to allow the new `counted_by`
attribute (part of `-fbounds-safety`) to support late parsing but
**only** when `-fexperimental-late-parse-attributes` is enabled. This
attribute needs to support late parsing to allow it to refer to fields
later in a struct definition (or function parameters declared later).
However, there isn't a precedent for supporting late attribute parsing
in C so this flag allows the new behavior to exist in Clang but not be
on by default. This behavior was requested as part of the
`-fbounds-safety` RFC process
(https://discourse.llvm.org/t/rfc-enforcing-bounds-safety-in-c-fbounds-safety/70854/68).
This patch doesn't introduce any uses of `LateAttrParseExperimentalExt`.
This will be added for the `counted_by` attribute in a future patch
(https://github.com/llvm/llvm-project/pull/87596). A consequence is the
new behavior added in this patch is not yet testable. Hence, the lack of
tests covering the new behavior.
rdar://125400257
Commit: 6ea0c0a28343b2676baf480db490b5a27fa11d7c
https://github.com/llvm/llvm-project/commit/6ea0c0a28343b2676baf480db490b5a27fa11d7c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
R llvm/include/llvm/CodeGen/FreeMachineFunction.h
M llvm/include/llvm/CodeGen/MIRParser/MIRParser.h
A llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
R llvm/lib/CodeGen/FreeMachineFunction.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
A llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/tools/llc/new-pm/pipeline.ll
M llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/test/tools/llc/new-pm/start-stop.ll
M llvm/tools/llc/NewPMDriver.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/MIR/CMakeLists.txt
R llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[NewPM][CodeGen] Add `MachineFunctionAnalysis` (#88610)
In new pass system, `MachineFunction` could be an analysis result again,
machine module pass can now fetch them from analysis manager.
`MachineModuleInfo` no longer owns them.
Remove `FreeMachineFunctionPass`, replaced by
`InvalidateAnalysisPass<MachineFunctionAnalysis>`.
Now `FreeMachineFunction` is replaced by
`InvalidateAnalysisPass<MachineFunctionAnalysis>`, the workaround in
`MachineFunctionPassManager` is no longer needed, there is no difference
between `unittests/MIR/PassBuilderCallbacksTest.cpp` and
`unittests/IR/PassBuilderCallbacksTest.cpp`.
Commit: b3291793f11924a3b62601aabebebdcfbb12a9a1
https://github.com/llvm/llvm-project/commit/b3291793f11924a3b62601aabebebdcfbb12a9a1
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86] Enable EVEX512 when host CPU has AVX512 (#90479)
This is used when -march=native run on an unknown CPU to old version of
LLVM.
Commit: 9d5411ffba0d94b60050cc873773935addca9533
https://github.com/llvm/llvm-project/commit/9d5411ffba0d94b60050cc873773935addca9533
Author: sinan <sinan.lin at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Passes/ValidateMemRefs.cpp
A bolt/test/X86/jt-symbol-disambiguation-4.s
Log Message:
-----------
[BOLT] Avoid reference updates for non-JT symbol operands (#88838)
Skip updating references for operands that do not directly
refer to jump table symbols but fall within a jump table's
address range to prevent unintended modifications.
Commit: 38067c50a9459caed2892e38b2ae5026a8bff8e2
https://github.com/llvm/llvm-project/commit/38067c50a9459caed2892e38b2ae5026a8bff8e2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/pr90259.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Avoid force writing static declarations
within module purview
Close https://github.com/llvm/llvm-project/issues/90259
Technically, the static declarations shouldn't be leaked from the module
interface, otherwise it is an illegal program according to the spec. So
we can get rid of the static declarations from the reduced BMI
technically. Then we can close the above issue.
However, there are too many `static inline` codes in existing headers.
So it will be a pretty big breaking change if we do this globally.
Commit: 62d6560471f0e1151e34c0a56357423350f7a6af
https://github.com/llvm/llvm-project/commit/62d6560471f0e1151e34c0a56357423350f7a6af
Author: thetruestblue <92476612+thetruestblue at users.noreply.github.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
Log Message:
-----------
Disable test for lsan and x86_64h (#90483)
Disable this test on x86_64h for LSan.
This test is failing with malformed object only on x86_64h.
Disabling for now.
rdar://125052424
Commit: 326667d727546dad0ce9315aa93a3da698c7c71c
https://github.com/llvm/llvm-project/commit/326667d727546dad0ce9315aa93a3da698c7c71c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Merge variable declaration with first assignment. NFC
Commit: 79095b4079e8d4f8176bcc53fdacd2765f310cdb
https://github.com/llvm/llvm-project/commit/79095b4079e8d4f8176bcc53fdacd2765f310cdb
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M lld/ELF/OutputSections.cpp
Log Message:
-----------
[ELF] --compress-debug-sections=zstd: replace ZSTD_c_nbWorkers parallelism with multi-frame parallelism
https://reviews.llvm.org/D133679 utilizes zstd's multithread API to
create one single frame. This provides a higher compression ratio but is
significantly slower than concatenating multiple frames.
With manual parallelism, it is easier to parallelize memcpy in
OutputSection::writeTo for parallel memcpy.
In addition, as the individual allocated decompression buffers are much
smaller, we can make a wild guess (compressed_size/4) without worrying
about a resize (due to wrong guess) would waste memory.
Commit: fbe4d991323b026eb64cd3d0ee811854b54ca33f
https://github.com/llvm/llvm-project/commit/fbe4d991323b026eb64cd3d0ee811854b54ca33f
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
Log Message:
-----------
[clang-tidy] fix false-negative for macros in `readability-math-missing-parentheses` (#90279)
When a binary operator is the last operand of a macro, the end location
that is past the `BinaryOperator` will be inside the macro and therefore
an
invalid location to insert a `FixIt` into, which is why the check bails
when encountering such a pattern.
However, the end location is only required for the `FixIt` and the
diagnostic can still be emitted, just without an attached fix.
Commit: bd72f7b0ab98531ab579fafe79c7a8967994583a
https://github.com/llvm/llvm-project/commit/bd72f7b0ab98531ab579fafe79c7a8967994583a
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/pr90559.ll
Log Message:
-----------
[RISCV] Add test case for exact vscale miscompile in #90559. NFC
Commit: 18268ac0f48d93c2bcddb69732761971669c09ab
https://github.com/llvm/llvm-project/commit/18268ac0f48d93c2bcddb69732761971669c09ab
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/search-partitions.cpp
Log Message:
-----------
[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to generate module file for C++20 modules instead of PCHGenerator
Previously we're re-using PCHGenerator to generate the module file for
C++20 modules. But this is slighty more or less odd. This patch tries
to use a new class 'CXX20ModulesGenerator' to generate the module file
for C++20 modules.
Commit: 705636a1130551ab105aec95b909a35a0305fc9f
https://github.com/llvm/llvm-project/commit/705636a1130551ab105aec95b909a35a0305fc9f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
Log Message:
-----------
[SelectionDAG][RISCV] Move VP_REDUCE* legalization to LegalizeDAG.cpp. (#90522)
LegalizeVectorType is responsible for legalizing nodes that perform an
operation on each element may need to scalarize.
This is not true for nodes like VP_REDUCE.*, BUILD_VECTOR,
SHUFFLE_VECTOR, EXTRACT_SUBVECTOR, etc.
This patch drops any nodes with a scalar result from LegalizeVectorOps
and handles them in LegalizeDAG instead.
This required moving the reduction promotion to LegalizeDAG. I have
removed the support integer promotion as it was incorrect for integer
min/max reductions. Since it was untested, it was best to assert on it
until it was really needed.
There are a couple regressions that can be fixed with a small DAG
combine which I will do as a follow up.
Commit: 6e83058138210ab1e219d04974a071b57b3196e1
https://github.com/llvm/llvm-project/commit/6e83058138210ab1e219d04974a071b57b3196e1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use an assert insead of a if/else+llvm_unreachable. NFC
Commit: fb21343473e33e9a886b42d2fe95d1cec1cd0030
https://github.com/llvm/llvm-project/commit/fb21343473e33e9a886b42d2fe95d1cec1cd0030
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Serialization/GeneratePCH.cpp
A clang/test/Modules/pr75057.cppm
Log Message:
-----------
[C++20] [Modules] Don't skip pragma diagnostic mappings
Close https://github.com/llvm/llvm-project/issues/75057
Previously, I thought the diagnostic mappings is not meaningful with
modules incorrectly. And this problem get revealed by another change
recently. So this patch tried to rever the previous "optimization"
partially.
Commit: 940ef9687f5f19ce02b7fa5d2eb6225f458fbdd9
https://github.com/llvm/llvm-project/commit/940ef9687f5f19ce02b7fa5d2eb6225f458fbdd9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
Log Message:
-----------
[RISCV] Remove hasSideEffects=1 for saturating/fault-only-first instructions
Marking them as `hasSideEffects=1` stops some optimizations.
According to `Target.td`:
> // Does the instruction have side effects that are not captured by any
> // operands of the instruction or other flags?
> bit hasSideEffects = ?;
It seems we don't need to set `hasSideEffects` for vleNff since we have
modelled `vl` as an output operand.
As for saturating instructions, I think that explicit Def/Use list
is kind of side effects captured by any operands of the instruction,
so we don't need to set `hasSideEffects` either. And I have just
investigated AArch64's implementation, they don't set this flag and
don't add `Def` list.
These changes make optimizations like `performCombineVMergeAndVOps`
and MachineCSE possible for these instructions.
As a consequence, `copyprop.mir` can't test what we want to test in
https://reviews.llvm.org/D155140, so we replace `vssra.vi` with a
VCIX instruction (it has side effects).
Reviewers: jacquesguan, topperc, preames, asb, lukel97
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/90049
Commit: 6b961e2abfffd8b5a508b5958849b13b0feafa50
https://github.com/llvm/llvm-project/commit/6b961e2abfffd8b5a508b5958849b13b0feafa50
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/Modules/pr67893.cppm
R clang/test/Modules/pr75057.cppm
M clang/test/Modules/search-partitions.cpp
Log Message:
-----------
Revert "[C++20] [Modules] Don't skip pragma diagnostic mappings"
and "[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to
generate module file for C++20 modules instead of PCHGenerator"
This reverts commit fb21343473e33e9a886b42d2fe95d1cec1cd0030.
and commit 18268ac0f48d93c2bcddb69732761971669c09ab.
It looks like there are some problems about linking the compiler
Commit: 2524146b256002bfc70b38008425291f5b3dd08c
https://github.com/llvm/llvm-project/commit/2524146b256002bfc70b38008425291f5b3dd08c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
Log Message:
-----------
[RISCV] Add DAG combine for (vmv_s_x_vl (undef) (vmv_x_s X). (#90524)
We can use the original vector as long as the type of X matches the
result type of the vmv_s_x_vl.
Commit: 4a84d8e4c28d873eacfce53f9fd902d67a08a859
https://github.com/llvm/llvm-project/commit/4a84d8e4c28d873eacfce53f9fd902d67a08a859
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/test/MC/LoongArch/Macros/macros-la-bad.s
M llvm/test/MC/LoongArch/Macros/macros-la.s
M llvm/test/MC/LoongArch/Misc/tls-symbols.s
M llvm/test/MC/LoongArch/Relocations/relocations.s
Log Message:
-----------
[LoongArch] Support parsing la.tls.desc pseudo instruction
Simultaneously implemented parsing support for the `%desc_*` modifiers.
Reviewers: SixWeining, heiher, xen0n
Reviewed By: xen0n, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/90158
Commit: ec527b21bb4196355184aa95ef31aa561b8e8b7b
https://github.com/llvm/llvm-project/commit/ec527b21bb4196355184aa95ef31aa561b8e8b7b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
A clang/test/Modules/pr75057.cppm
Log Message:
-----------
[C++20] [Modules] Don't skip pragma diagnostic mappings
Close https://github.com/llvm/llvm-project/issues/75057
Previously, I thought the diagnostic mappings is not meaningful with
modules incorrectly. And this problem get revealed by another change
recently. So this patch tried to rever the previous "optimization"
partially.
Commit: f4843acd839f4f8687815560b69fa96ed3cbf8cf
https://github.com/llvm/llvm-project/commit/f4843acd839f4f8687815560b69fa96ed3cbf8cf
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[lldb][bazel] Fix BUILD after 975eca0e6a3459e59e96b0df33ea0cfbd157c597. (#90564)
Commit: ce12b12d0d786773b60adead18e994d6e4a0e228
https://github.com/llvm/llvm-project/commit/ce12b12d0d786773b60adead18e994d6e4a0e228
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] Extend `omp.private` with a `dealloc` region (#90456)
Extends `omp.private` with a new region: `dealloc` where deallocation
logic for Fortran deallocatables will be outlined (this will happen in
later PRs).
Commit: 09f160c6298255f520b379b88161fbd1c365b308
https://github.com/llvm/llvm-project/commit/09f160c6298255f520b379b88161fbd1c365b308
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-invalidate.c
M clang/test/Analysis/stream-non-posix-function.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream-note.c
M clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/stream.cpp
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/open_projects.html
Log Message:
-----------
[clang][analyzer] Move StreamChecker out of the alpha package. (#89247)
Commit: ff6c0cac7037e78688f589fd635c82e7c1cb42b0
https://github.com/llvm/llvm-project/commit/ff6c0cac7037e78688f589fd635c82e7c1cb42b0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb][Docs] Remove more subtitles from packets doc (#90443)
This removes various subtitles or converts them to bold text so that the
table of contents is less cluttered.
This includes "Example", "Notes", "Priority To Implement" and
"Response".
Commit: eb148aecb3603c2ba6ecbdaebd3b8a87f44349bc
https://github.com/llvm/llvm-project/commit/eb148aecb3603c2ba6ecbdaebd3b8a87f44349bc
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/CodeGen/LoongArch/tls-dialect.c
M clang/test/Driver/tls-dialect.c
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/test/CodeGen/LoongArch/tls-models.ll
Log Message:
-----------
[LoongArch][Codegen] Add support for TLSDESC
The implementation only enables when the `-enable-tlsdesc` option is
passed and the TLS model is `dynamic`.
LoongArch's GCC has the same option(-mtls-dialet=) as RISC-V.
Reviewers: heiher, MaskRay, SixWeining
Reviewed By: SixWeining, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/90159
Commit: 91a8cb781dbc981356207e0c3608d92ed6d26042
https://github.com/llvm/llvm-project/commit/91a8cb781dbc981356207e0c3608d92ed6d26042
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Transforms/debug-fn-info.f90
M flang/test/Transforms/debug-line-table-inc-file.fir
Log Message:
-----------
Reapply "[flang] Improve debug info for functions." with regression fixed. (#90484)
The original PR #90083 had to be reverted in PR #90444 as it caused one
of the gfortran tests to fail. The issue was using `isIntOrIndex` for
checking for integer type. It allowed index type which later caused
assertion when calling `getIntOrFloatBitWidth`. I have now replaced it
with `isInteger` which should fix this regression.
Commit: 09e7d86b99c6e6d4f4a3296647d1b7d803c5bac5
https://github.com/llvm/llvm-project/commit/09e7d86b99c6e6d4f4a3296647d1b7d803c5bac5
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs] Fix findDbgValues to return dbg_assign records too (#90471)
In the debug intrinsic class heirachy, a dbg.assign is a (inherits from)
dbg.value, so `findDbgValues` returns dbg.values and dbg.assigns (by
design). That hierarchy doesn't exist for DbgRecords - fix findDbgValues
to return dbg_assign records as well as dbg_values and add unittest.
Commit: 853344d3ae8bb655b2d15175880bd3f65ab66434
https://github.com/llvm/llvm-project/commit/853344d3ae8bb655b2d15175880bd3f65ab66434
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
[docs] Document which online sync-ups are no longer happening (#89361)
Some of the online sync-ups on our Getting Involved page seem to no
longer be happening. Document them as no longer happening, so that
people don't get confused when dialing in to one of these.
Commit: 6c3110464bac3600685af9650269b0b2b8669d34
https://github.com/llvm/llvm-project/commit/6c3110464bac3600685af9650269b0b2b8669d34
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleFile.cpp
A clang/test/Modules/no-transitive-source-location-change.cppm
M clang/test/Modules/pr61067.cppm
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
Log Message:
-----------
[Modules] No transitive source location change (#86912)
This is part of "no transitive change" patch series, "no transitive
source location change". I talked this with @Bigcheese in the tokyo's
WG21 meeting.
The idea comes from @jyknight posted on LLVM discourse. That for:
```
// A.cppm
export module A;
...
// B.cppm
export module B;
import A;
...
//--- C.cppm
export module C;
import C;
```
Almost every time A.cppm changes, we need to recompile `B`. Due to we
think the source location is significant to the semantics. But it may be
good if we can avoid recompiling `C` if the change from `A` wouldn't
change the BMI of B.
# Motivation Example
This patch only cares source locations. So let's focus on source
location's example. We can see the full example from the attached test.
```
//--- A.cppm
export module A;
export template <class T>
struct C {
T func() {
return T(43);
}
};
export int funcA() {
return 43;
}
//--- A.v1.cppm
export module A;
export template <class T>
struct C {
T func() {
return T(43);
}
};
export int funcA() {
return 43;
}
//--- B.cppm
export module B;
import A;
export int funcB() {
return funcA();
}
//--- C.cppm
export module C;
import A;
export void testD() {
C<int> c;
c.func();
}
```
Here the only difference between `A.cppm` and `A.v1.cppm` is that
`A.v1.cppm` has an additional blank line. Then the test shows that two
BMI of `B.cppm`, one specified `-fmodule-file=A=A.pcm` and the other
specified `-fmodule-file=A=A.v1.pcm`, should have the bit-wise same
contents.
However, it is a different story for C, since C instantiates templates
from A, and the instantiation records the source information from module
A, which is different from `A` and `A.v1`, so it is expected that the
BMI `C.pcm` and `C.v1.pcm` can and should differ.
# Internal perspective of status quo
To fully understand the patch, we need to understand how we encodes
source locations and how we serialize and deserialize them.
For source locations, we encoded them as:
```
|
|
| _____ base offset of an imported module
|
|
|
|_____ base offset of another imported module
|
|
|
|
| ___ 0
```
As the diagram shows, we encode the local (unloaded) source location
from 0 to higher bits. And we allocate the space for source locations
from the loaded modules from high bits to 0. Then the source locations
from the loaded modules will be mapped to our source location space
according to the allocated offset.
For example, for,
```
// a.cppm
export module a;
...
// b.cppm
export module b;
import a;
...
```
Assuming the offset of a source location (let's name the location as
`S`) in a.cppm is 45 and we will record the value `45` into the BMI
`a.pcm`. Then in b.cppm, when we import a, the source manager will
allocate a space for module 'a' (according to the recorded number of
source locations) as the base offset of module 'a' in the current source
location spaces. Let's assume the allocated base offset as 90 in this
example. Then when we want to get the location in the current source
location space for `S`, we can get it simply by adding `45` to `90` to
`135`. Finally we can get the source location for `S` in module B as
`135`.
And when we want to write module `b`, we would also write the source
location of `S` as `135` directly in the BMI. And to clarify the
location `S` comes from module `a`, we also need to record the base
offset of module `a`, 90 in the BMI of `b`.
Then the problem comes. Since the base offset of module 'a' is computed
by the number source locations in module 'a'. In module 'b', the
recorded base offset of module 'a' will change every time the number of
source locations in module 'a' increase or decrease. In other words, the
contents of BMI of B will change every time the number of locations in
module 'a' changes. This is pretty sensitive. Almost every change will
change the number of locations. So this is the problem this patch want
to solve.
Let's continue with the existing design to understand what's going on.
Another interesting case is:
```
// c.cppm
export module c;
import whatever;
import a;
import b;
...
```
In `c.cppm`, when we import `a`, we still need to allocate a base
location offset for it, let's say the value becomes to `200` somehow.
Then when we reach the location `S` recorded in module `b`, we need to
translate it into the current source location space. The solution is
quite simple, we can get it by `135 + (200 - 90) = 245`. In another
word, the offset of a source location in current module can be computed
as `Recorded Offset + Base Offset of the its module file - Recorded Base
Offset`.
Then we're almost done about how we handle the offset of source
locations in serializers.
# The high level design of current patch
>From the abstract level, what we want to do is to remove the hardcoded
base offset of imported modules and remain the ability to calculate the
source location in a new module unit. To achieve this, we need to be
able to find the module file owning a source location from the encoding
of the source location.
So in this patch, for each source location, we will store the local
offset of the location and the module file index. For the above example,
in `b.pcm`, the source location of `S` will be recorded as `135`
directly. And in the new design, the source location of `S` will be
recorded as `<1, 45>`. Here `1` stands for the module file index of `a`
in module `b`. And `45` means the offset of `S` to the base offset of
module `a`.
So the trade-off here is that, to make the BMI more independent, we need
to record more abstract information. And I feel it is worthy. The
recompilation problem of modules is really annoying and there are still
people complaining this. But if we can make this (including stopping
other changes transitively), I think this may be a killer feature for
modules. And from @Bigcheese , this should be helpful for clang explicit
modules too.
And the benchmarking side, I tested this patch against
https://github.com/alibaba/async_simple/tree/CXX20Modules. No
significant change on compilation time. The size of .pcm files becomes
to 204M from 200M. I think the trade-off is pretty fair.
# Some low level details
I didn't use another slot to record the module file index. I tried to
use the higher 32 bits of the existing source location encodings to
store that information. This design may be safe. Since we use `unsigned`
to store source locations but we use uint64_t in serialization. And
generally `unsigned` is 32 bit width in most platforms. So it might not
be a safe problem. Since all the bits we used to store the module file
index is not used before. So the new encodings may be:
```
|-----------------------|-----------------------|
| A | B | C |
* A: 32 bit. The index of the module file in the module manager + 1. The +1
here is necessary since we wish 0 stands for the current module file.
* B: 31 bit. The offset of the source location to the module file containing it.
* C: The macro bit. We rotate it to the lowest bit so that we can save some
space in case the index of the module file is 0.
```
(The B and C is the existing raw encoding for source locations)
Another reason to reuse the same slot of the source location is to
reduce the impact of the patch. Since there are a lot of places assuming
we can store and get a source location from a slot. And if I tried to
add another slot, a lot of codes breaks. I don't feel it is worhty.
Another impact of this decision is that, the existing small
optimizations for encoding source location may be invalided. The key of
the optimization is that we can turn large values into small values then
we can use VBR6 format to reduce the size. But if we decided to put the
module file index into the higher bits, then maybe it simply doesn't
work. An example may be the `SourceLocationSequence` optimization.
This will only affect the size of on-disk .pcm files. I don't expect
this impact the speed and memory use of compilations. And seeing my
small experiments above, I feel this trade off is worthy.
# Correctness
The mental model for handling source location offsets is not so complex
and I believe we can solve it by adding module file index to each stored
source location.
For the practical side, since the source location is pretty sensitive,
and the patch can pass all the in-tree tests and a small scale projects,
I feel it should be correct.
# Future Plans
I'll continue to work on no transitive decl change and no transitive
identifier change (if matters) to achieve the goal to stop the
propagation of unnecessary changes. But all of this depends on this
patch. Since, clearly, the source locations are the most sensitive
thing.
---
The release nots and documentation will be added seperately.
Commit: 2464c1c153285bbabf1df4a61f1975903ffbe70e
https://github.com/llvm/llvm-project/commit/2464c1c153285bbabf1df4a61f1975903ffbe70e
Author: Johannes de Fine Licht <johannes at musicmedia.dk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[MLIR] Sprinkle extra asserts in OperationSupport.h (#90465)
Should hopefully help shave some minutes off developer debugging time in
the future.
Commit: 92ca6fcb87a1b8b0cef3b0a8c960b4d7d0fc12a0
https://github.com/llvm/llvm-project/commit/92ca6fcb87a1b8b0cef3b0a8c960b4d7d0fc12a0
Author: Johannes de Fine Licht <johannes at musicmedia.dk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/constant-folding.mlir
Log Message:
-----------
[MLIR][LLVM] Have LLVM::AddressOfOp implement ConstantLike (#90481)
For all means and purposes llvm.mlir.addressof acts like a constant, and
should be treated as such by passes. In particular, the operation should
be propagated rather than passed whenever possible.
Commit: c9d92d215e6bfe14997bb79e6d6a050d1b449843
https://github.com/llvm/llvm-project/commit/c9d92d215e6bfe14997bb79e6d6a050d1b449843
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
Log Message:
-----------
[mlir][test] Add TD example for peel+vectorize (depthwise conv) (#90200)
Adds an example that combines loop peeling and scalable vectorisation of
`linalg.depthwise_conv_2d_nhwc_hwc`. This is similar to
transform-op-peel-and-vectorize.mlir and is meant to demonstrate how to
avoid masking when vectorising using scalable vectors.
Commit: 74e65eec48ee87c34e06a09ad25a1029506dd60d
https://github.com/llvm/llvm-project/commit/74e65eec48ee87c34e06a09ad25a1029506dd60d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/opencl.cl
Log Message:
-----------
[clang][Interp] Handle Shifts in OpenCL correctly
We need to adjust the RHS to account for the LHS bitwidth.
Commit: 29dda26c65fc50066792f558e95f9603a7d7effc
https://github.com/llvm/llvm-project/commit/29dda26c65fc50066792f558e95f9603a7d7effc
Author: Danial Klimkin <dklimkin at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/source/Host/posix/PipePosix.cpp
Log Message:
-----------
Fix lock guads in PipePosix.cpp (#90572)
Guard object destroyed immediately after creation without naming.
Commit: eaee8aa0afe111f9291d54ecef97a3640a0f6ce0
https://github.com/llvm/llvm-project/commit/eaee8aa0afe111f9291d54ecef97a3640a0f6ce0
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaCXX/identical-type-primary-partial-specialization.cpp
Log Message:
-----------
[Clang][Sema] fix a bug on template partial specialization (#89862)
attempt to fix
https://github.com/llvm/llvm-project/issues/68885#issuecomment-1764201896
Deduction of NTTP whose type is `decltype(auto)` would create an
implicit cast expression to dependent type and makes the type of primary
template definition (`InjectedClassNameSpecialization`) and its partial
specialization different. Prevent emitting cast expression to make clang
knows their types are identical by removing `CTAK == CTAK_Deduced` when
the type is `decltype(auto)`.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: a413c563bdcaac08f7c325c7d69e19f924435e59
https://github.com/llvm/llvm-project/commit/a413c563bdcaac08f7c325c7d69e19f924435e59
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/test/SemaCXX/PR68885.cpp
Log Message:
-----------
[Clang][Sema] Fix a bug on template partial specialization with issue on deduction of nontype template parameter (#90376)
Fix https://github.com/llvm/llvm-project/issues/68885
When build expression from a deduced argument whose kind is
`Declaration` and `NTTPType`(which declared as `decltype(auto)`) is
deduced as a reference type, `BuildExpressionFromDeclTemplateArgument`
just create a `DeclRef`. This is incorrect while we get type from the
expression since we can't get the original reference type from
`DeclRef`. Creating a `SubstNonTypeTemplateParmExpr` expression and make
the deduction correct. `Replacement` expression of
`SubstNonTypeTemplateParmExpr` just helps the deduction and may not be
same with the original expression.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 64248d7dee09fef4900058ba98a67feb68eb617c
https://github.com/llvm/llvm-project/commit/64248d7dee09fef4900058ba98a67feb68eb617c
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeSystem.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[PAC][lldb][Dwarf] Support `__ptrauth`-qualified types in user expressions (#84387)
Depends on #84384 and #90329
This adds support for `DW_TAG_LLVM_ptrauth_type` entries corresponding
to explicitly signed types (e.g. free function pointers) in lldb user
expressions. Applies PR https://github.com/apple/llvm-project/pull/8239
from Apple's downstream and also adds tests and related code.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: f78949a07e33017a798c410a102c95455685a9b1
https://github.com/llvm/llvm-project/commit/f78949a07e33017a798c410a102c95455685a9b1
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
Log Message:
-----------
[NFC][Clang] Add FIXME comment to the workaround for issue #89774
Commit: 7ac1fb01e9b70d09e6c4f39414bcd7c93787ef91
https://github.com/llvm/llvm-project/commit/7ac1fb01e9b70d09e6c4f39414bcd7c93787ef91
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/TypeSwitch.h
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
Log Message:
-----------
[mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#90413)
This also removes the member overload in TypeSwitch.
All other users have been removed in
fac349a169976f822fb27f03e623fa0d28aec1f3 and
bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a.
Commit: b2b463bd8f6b21f040b80c4493682cf74f8dced5
https://github.com/llvm/llvm-project/commit/b2b463bd8f6b21f040b80c4493682cf74f8dced5
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/force-transitive-changes.cppm
M clang/test/Modules/no-transitive-source-location-change.cppm
Log Message:
-----------
[C++20] [Modules] Add signature to the BMI recording export imported
modules
After https://github.com/llvm/llvm-project/pull/86912,
for the following example,
```
export module A;
export import B;
```
The generated BMI of `A` won't change if the source location in `A`
changes. Further, we plan avoid more such changes.
However, it is slightly problematic since `export import` should
propagate all the changes.
So this patch adds a signature to the BMI of C++20 modules so that we
can propagate the changes correctly.
Commit: fce0916969218fdb4b89ad0b3e18599204d4138d
https://github.com/llvm/llvm-project/commit/fce0916969218fdb4b89ad0b3e18599204d4138d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/search-partitions.cpp
Log Message:
-----------
[NFC] [C++20] [Modules] Use new class CXX20ModulesGenerator to genera… (#90570)
…te module file for C++20 modules instead of PCHGenerator
Previously we're re-using PCHGenerator to generate the module file for
C++20 modules. But this is slighty more or less odd. This patch tries to
use a new class 'CXX20ModulesGenerator' to generate the module file for
C++20 modules.
Commit: 21f8cedc4aa542f628035cd5dafd2d2529eb4397
https://github.com/llvm/llvm-project/commit/21f8cedc4aa542f628035cd5dafd2d2529eb4397
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/test/Transforms/debug-fn-info.f90
Log Message:
-----------
[flang] Fix debug-fn-info.f90 test
91a8cb781dbc981356207e0c3608d92ed6d26042 was originally written
before 8d5386669ed63548daf1bee415596582d6d78d7d landed. The latter
changed how main is emitted which changed the numbering of the
suprograms in the test output.
To fix this I've added a check for the new _QQmain and renumbered
the existing checks.
Commit: 10aab63c9cb49d3ddfbe2cf8992de433efeef6f1
https://github.com/llvm/llvm-project/commit/10aab63c9cb49d3ddfbe2cf8992de433efeef6f1
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/Modules/no-transitive-source-location-change.cppm
Log Message:
-----------
[NFC] [tests] Don't try to remove and create the same directory
In the test of
clang/test/Modules/no-transitive-source-location-change.cppm, there were
reports about invalid directory names in windows. The reason may be that
we may remove and create the same directory. This patch tries to avoid
such patterns for that.
Commit: f73e87f53f5d8a86c29251dedc9dbd264179203a
https://github.com/llvm/llvm-project/commit/f73e87f53f5d8a86c29251dedc9dbd264179203a
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/DeclSpec.cpp
M clang/test/Parser/altivec.c
M clang/test/Parser/cxx-altivec.cpp
M clang/test/Sema/zvector.c
M clang/test/Sema/zvector2.c
Log Message:
-----------
[Clang][Sema] Do not accept "vector _Complex" for AltiVec/ZVector (#90467)
The AltiVec (POWER) and ZVector (IBM Z) language extensions do not
support using the "vector" keyword when the element type is a complex
type, but current code does not verify this.
Add a Sema check and diagnostic for this case.
Fixes: https://github.com/llvm/llvm-project/issues/88399
Commit: 62dea99a7d7df9daedbb86133f3d46699cd2728d
https://github.com/llvm/llvm-project/commit/62dea99a7d7df9daedbb86133f3d46699cd2728d
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
Log Message:
-----------
[AMDGPU] Fix gfx12 waitcnt type for image_msaa_load (#90201)
image_msaa_load is actually encoded as a VSAMPLE instruction and
requires the appropriate waitcnt variant.
Commit: fb2d3056618e3d03ba9a695627c7b002458e59f0
https://github.com/llvm/llvm-project/commit/fb2d3056618e3d03ba9a695627c7b002458e59f0
Author: Danial Klimkin <dklimkin at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
Log Message:
-----------
Fix output in coro-elide-thinlto.cpp (#90579)
Current dir can be read-only. Use a temp path instead.
Commit: f10685f3e606e9e50906d9bf4e302a4281664152
https://github.com/llvm/llvm-project/commit/f10685f3e606e9e50906d9bf4e302a4281664152
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerAtomicArith - use DAG::getNegative() helper. NFC.
Commit: 0061616770c15b334c4ad1703a1a2502b6cd4485
https://github.com/llvm/llvm-project/commit/0061616770c15b334c4ad1703a1a2502b6cd4485
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combinePredicateReduction - use DAG::getNegative() helper. NFC.
Commit: 3fca9d71447b7d3536e912d73ffd56a351e10bce
https://github.com/llvm/llvm-project/commit/3fca9d71447b7d3536e912d73ffd56a351e10bce
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineMul - use DAG::getNegative() helper. NFC.
Commit: 066dc1e05b8c5feca1f3957a10edc492705a5db2
https://github.com/llvm/llvm-project/commit/066dc1e05b8c5feca1f3957a10edc492705a5db2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineMulToPMADDWD/combineMulToPMULDQ/reduceVMULWidth - pull out repeated SDLoc(). NFC.
Commit: 2cb97c7e29029dc552c66b3ddf6030d826538d47
https://github.com/llvm/llvm-project/commit/2cb97c7e29029dc552c66b3ddf6030d826538d47
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add TODO for getTargetConstantFromBasePtr to support non-zero offsets.
As noted on #66991 - we sometimes share vector constant pool entries, referencing subvectors within them via pointer offsets
Commit: 34c89eff64cce7debb8e2d5a0d1c4d896a23e432
https://github.com/llvm/llvm-project/commit/34c89eff64cce7debb8e2d5a0d1c4d896a23e432
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/trunc.ll
Log Message:
-----------
[InstCombine] Fold `trunc nuw/nsw (x xor y) to i1` to `x != y` (#90408)
Fold:
``` llvm
define i1 @src(i8 %x, i8 %y) {
%xor = xor i8 %x, %y
%r = trunc nuw/nsw i8 %xor to i1
ret i1 %r
}
define i1 @tgt(i8 %x, i8 %y) {
%r = icmp ne i8 %x, %y
ret i1 %r
}
```
Proof: https://alive2.llvm.org/ce/z/dcuHmn
Commit: 66e1d2c96a194f572be5b373705f493b1a4dc811
https://github.com/llvm/llvm-project/commit/66e1d2c96a194f572be5b373705f493b1a4dc811
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[NFC][LLVM][SVE] Simplify isel for BSL and NBSL. (#90233)
Commit: 7faf34307ea974886a10d8d06352a67cdeaf1c23
https://github.com/llvm/llvm-project/commit/7faf34307ea974886a10d8d06352a67cdeaf1c23
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Remove -riscv-insert-vsetvl-strict-asserts flag (#90171)
This flag has been enabled by default for almost two years now since
1f06398e96d4508d22f42b760f70eb5d4e7b1dc9, and at this stage we probably
shouldn't be falling back to the fixups.
This removes the flag so we always perform the assertion, as well as
making sure that CurInfo is always valid on exit: We shouldn't leave
emitVSETVLIs with an uninitialized VSETVLIInfo.
Commit: 2f9462e9e4f2b2b493673c39d4ad665175eb0b59
https://github.com/llvm/llvm-project/commit/2f9462e9e4f2b2b493673c39d4ad665175eb0b59
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/opencl.cl
Log Message:
-----------
[clang][Interp] Fix initializing vectors from a list of other vectors
Commit: af5d41e0caf22536fbfb6e65aa10eff78118c822
https://github.com/llvm/llvm-project/commit/af5d41e0caf22536fbfb6e65aa10eff78118c822
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/CodeGenCXX/mangle-ms-vector-types.cpp
Log Message:
-----------
[clang][Interp] Support CXXScalarValueInitExprs of vector type
Commit: 6fab3f2a2b04048aaa7d76d067f6cd4704bb4002
https://github.com/llvm/llvm-project/commit/6fab3f2a2b04048aaa7d76d067f6cd4704bb4002
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[NFC][Clang] Update P2718R0 implementation status to partial supported (#90577)
Once https://github.com/llvm/llvm-project/issues/85613 fixed, we can
mark this feature fully supported.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: f3ac55fab8c30e71987120f76da70b5b6e9075f7
https://github.com/llvm/llvm-project/commit/f3ac55fab8c30e71987120f76da70b5b6e9075f7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/test/tools/lto/discard-value-names.ll
Log Message:
-----------
[LTO] Reset DiscardValueNames in optimize(). (#78705)
libLTO parses options late, so at the moment the option is ignored. To
fix that, re-set it in optimize(), as at this point the options have been
parsed. When LTOCodeGenerator's constructor executes, the options
haven't been parsed by the linker to libLTO yet.
Note that we keep the value name of `%add = add..` because when the
module is imported, DiscardValueNames is still set to false (the default
when building with assertions).
I tried to improve this in libLTO, but I am not sure if there's a
suitable callback when all options have been set.
PR: https://github.com/llvm/llvm-project/pull/78705
Commit: bb95f5df732d9188b27c7cd34814ead8b2c4d4ce
https://github.com/llvm/llvm-project/commit/bb95f5df732d9188b27c7cd34814ead8b2c4d4ce
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/test/AST/Interp/cxx23.cpp
Log Message:
-----------
[clang][Interp] Visit LabelStmt sub statements
Commit: 5cd074fa57c2a22312f479a9529c0eac10013043
https://github.com/llvm/llvm-project/commit/5cd074fa57c2a22312f479a9529c0eac10013043
Author: Maya Amrami <62667278+amrami at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
Log Message:
-----------
[mlir] Add ReifyRankedShapedTypeOpInterface to tosa::TransposeOp (#88890)
Commit: 82219e547bf42102a913fc6d5e3e81c3c888e5d6
https://github.com/llvm/llvm-project/commit/82219e547bf42102a913fc6d5e3e81c3c888e5d6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
Log Message:
-----------
[LAA] Pass maximum stride to isSafeDependenceDistance. (#90036)
As discussed in https://github.com/llvm/llvm-project/pull/88039, support
different strides with isSafeDependenceDistance by passing the maximum
of both strides.
isSafeDependenceDistance tries to prove that
|Dist| > BackedgeTakenCount * Step
holds. Chosing the maximum stride computes the maximum range accesed by
the loop for all strides.
PR: https://github.com/llvm/llvm-project/pull/90036
Commit: 5e03c0af4745b97f93c06b43e0f2a02abc881292
https://github.com/llvm/llvm-project/commit/5e03c0af4745b97f93c06b43e0f2a02abc881292
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/pr90559.ll
Log Message:
-----------
[DAGCombiner] Fix mayAlias not accounting for scalable MMOs with offsets (#90573)
In #70452 DAGCombiner::mayAlias was taught to handle scalable sizes, but
when it checks via AA->isNoAlias it didn't take into account the case
where the size is scalable but there was an offset too.
For the fixed length case the offset was just accounted for by adding to
the LocationSize, but for the scalable case there doesn't seem to be a
way to represent both a scalable and fixed part in it. So this patch
works around it by bailing if there is an offset.
Fixes #90559
Commit: 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db
https://github.com/llvm/llvm-project/commit/61b2a0e3336aaa0132bbed06dc185aca4ff5d2db
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] autogen ArchExtKind enum (#90314)
Thanks to ExtensionSet::toLLVMFeatureList, all values of ArchExtKind
should correspond to a particular -target-feature. The valid values of
-target-feature are in turn defined by SubtargetFeature defs.
Therefore we can generate ArchExtKind from the tablegen data. This is
done by adding an Extension class which derives from SubtargetFeature.
Because the Has* FieldNames do not always correspond to the AEK_
names ("extensions", as defined in TargetParser), and AEK_ names do
not always correspond to -march strings, some additional enum entries
have been added to remap the names. I have renamed these to make the
naming consistent, but split them into a separate PR to keep the diff
reasonable (#90320)
Commit: 1c17252cf049e318695b94a7e8a1c7343452e8bf
https://github.com/llvm/llvm-project/commit/1c17252cf049e318695b94a7e8a1c7343452e8bf
Author: Maxim Moskalets <89240935+maxmosk at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/CommonOptionsParser.h
Log Message:
-----------
[NFC] Update comment in CommonOptionsParser to match documentation (#90441)
See https://clang.llvm.org/docs/LibTooling.html
Commit: e50a857fb16bcfe7cfc99bf87db620bc82d1cff5
https://github.com/llvm/llvm-project/commit/e50a857fb16bcfe7cfc99bf87db620bc82d1cff5
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/Misc/target-invalid-cpu-note.c
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add support for Cortex-R82AE and improve Cortex-R82 (#90440)
Commit: adabdc12f995b0af74c866201899e738796d0d5e
https://github.com/llvm/llvm-project/commit/adabdc12f995b0af74c866201899e738796d0d5e
Author: Jan Voung <jvoung at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/tools/llvm-lto/thinlto.ll
Log Message:
-----------
Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries (#90497)
GUID often have content in the higher bits of a 64-bit entry so using
the unabbrev encoding is inefficient (lots of VBR control bits).
Instead, use an abbrev with two 32-bit fixed width chunks.
The abbrev also helps encode the "count" in one place instead of
in every record.
Reduces size of distributed backend summary files by 8.7% in one
example app.
Co-authored-by: Jan Voung <jvoung at google.com>
Commit: e4c0f4a2ecaf0f9d0a80f57a028bb7bdbe74a7e3
https://github.com/llvm/llvm-project/commit/e4c0f4a2ecaf0f9d0a80f57a028bb7bdbe74a7e3
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[NFC] fix typo in clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp (#90606)
Commit: 7ae32bf7581e03d92c78346a72ea20798520b978
https://github.com/llvm/llvm-project/commit/7ae32bf7581e03d92c78346a72ea20798520b978
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
Log Message:
-----------
[lldb] Fixed SyntaxWarning invalid escape sequence '\s' in decorators.py (#90607)
Commit: 35e6bae62c8effa364ded79cc3b0bb988ea88998
https://github.com/llvm/llvm-project/commit/35e6bae62c8effa364ded79cc3b0bb988ea88998
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
Revert "[AArch64][TargetParser] autogen ArchExtKind enum (#90314)"
This reverts commit 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db.
Reason: AArch64TargetParserDef.inc not found while building clang
Commit: b60a2b931d68b9e119d6e2e6e17126937a646ff9
https://github.com/llvm/llvm-project/commit/b60a2b931d68b9e119d6e2e6e17126937a646ff9
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/utils/gn/secondary/lldb/include/lldb/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port 975eca0e6a3 (-gen-lldb-sbapi-dwarf-enum)
Commit: 2aabfc811670beb843074c765c056fff4a7b443b
https://github.com/llvm/llvm-project/commit/2aabfc811670beb843074c765c056fff4a7b443b
Author: Jan Voung <jvoung at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/tools/llvm-lto/thinlto.ll
Log Message:
-----------
Revert "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610)
Reverts llvm/llvm-project#90497
Broke some LLD tests.
Commit: c106abfe9f3d3ed78a946009f7625088f28e9065
https://github.com/llvm/llvm-project/commit/c106abfe9f3d3ed78a946009f7625088f28e9065
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb] Fixed SyntaxWarning invalid escape sequence '\l' in lldbtest.py (#90609)
Commit: c12bc57e23f8c37380ac25e774a60a684fce7bd3
https://github.com/llvm/llvm-project/commit/c12bc57e23f8c37380ac25e774a60a684fce7bd3
Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMPredicates.td
M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
M llvm/lib/Target/ARM/ARMRegisterInfo.td
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-function-flags.ll
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags1.ll
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags2.ll
Log Message:
-----------
Do not use R12 for indirect tail calls with PACBTI (#82661)
When compiling for thumbv8.1m with +pacbti and making an indirect tail
call, the compiler was free to put the function pointer into R12.
This is incorrect because R12 is restored to contain authentication code
for the caller's return address.
This patch excludes R12 from the set of registers the compiler can put
the function pointer in.
Fixes https://github.com/llvm/llvm-project/issues/75998
Commit: d333a0de6829616427182b26923b14d779ce1dbb
https://github.com/llvm/llvm-project/commit/d333a0de6829616427182b26923b14d779ce1dbb
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleFile.cpp
R clang/test/Modules/no-transitive-source-location-change.cppm
M clang/test/Modules/pr61067.cppm
M clang/unittests/Serialization/SourceLocationEncodingTest.cpp
Log Message:
-----------
Revert "[Modules] No transitive source location change (#86912)"
This reverts commit 6c3110464bac3600685af9650269b0b2b8669d34.
Required by the post commit comments: https://github.com/llvm/llvm-project/pull/86912
Commit: 8d28e5861f8b117a547850ffbb9a332aa6e91459
https://github.com/llvm/llvm-project/commit/8d28e5861f8b117a547850ffbb9a332aa6e91459
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
Log Message:
-----------
[LoongArch] Apply clang formatting to LoongArch target. NFC
Commit: a7b968a57834a0e522505b56fab0ca4b979cb68f
https://github.com/llvm/llvm-project/commit/a7b968a57834a0e522505b56fab0ca4b979cb68f
Author: Alexandre Eichenberger <alexe at us.ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
Log Message:
-----------
Adding memref normalization of affine.prefetch (#89675)
Added support for memref-normalization for prefetch.
Signed-off-by: Alexandre Eichenberger <alexe at us.ibm.com>
Commit: ea81dafd52471db64ed31b4fabb11ee762528066
https://github.com/llvm/llvm-project/commit/ea81dafd52471db64ed31b4fabb11ee762528066
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MIR/BUILD.gn
Log Message:
-----------
[gn build] Port 6ea0c0a28343
Commit: 622ec1f029b4ba0ac211a2da5abe593846a109f6
https://github.com/llvm/llvm-project/commit/622ec1f029b4ba0ac211a2da5abe593846a109f6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
Log Message:
-----------
[gn build] Port a5cc95147ed5
Commit: 6c32a1fdf712e58a324fc0f6e3dfc83ed7d56b1e
https://github.com/llvm/llvm-project/commit/6c32a1fdf712e58a324fc0f6e3dfc83ed7d56b1e
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/test/CodeGen/SystemZ/anyregcc.ll
A llvm/test/CodeGen/SystemZ/foldmem-peep.mir
M llvm/test/CodeGen/SystemZ/fp-add-01.ll
M llvm/test/CodeGen/SystemZ/fp-add-02.ll
M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
M llvm/test/CodeGen/SystemZ/fp-mul-03.ll
M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
M llvm/test/CodeGen/SystemZ/fp-sub-02.ll
A llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
M llvm/test/CodeGen/SystemZ/stackmap.ll
Log Message:
-----------
[SystemZ] Enable MachineCombiner for FP reassociation (#83546)
Enable MachineCombining for FP add, sub and mul.
In order for this to work, the default instruction selection of reg/mem opcodes is disabled for ISD nodes that carry the flags that allow reassociation. The reg/mem folding is instead done after MachineCombiner by PeepholeOptimizer. SystemZInstrInfo optimizeLoadInstr() and foldMemoryOperandImpl() ("LoadMI version") have been implemented for this purpose also by this patch.
Commit: 1b942ae3843ca943a249288612e69df0b2fc188b
https://github.com/llvm/llvm-project/commit/1b942ae3843ca943a249288612e69df0b2fc188b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use consume_front to parse rv32/rv64 in RISCVISAInfo::parse*ArchString. NFC (#90562)
This replaces some starts_with calls wth consume_front. This allows us
to remove a later assumption that prefix was 4 characters. We would
eventually need to fix this anyway if we ever support rv128.
Noticed while reviewing the RISCVISAInfo code for other reasons.
Commit: f815d1f71f644a6cfd2c22bf7898a1034be235ad
https://github.com/llvm/llvm-project/commit/f815d1f71f644a6cfd2c22bf7898a1034be235ad
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Fix iv store in cuf kernel (#90551)
Store of the current induction value to the user IV was not placed
correctly in the body of the cuf kernel.
@ImanHosseini
Commit: a9c73f66ce96421ba1e8952950d6df74e9043589
https://github.com/llvm/llvm-project/commit/a9c73f66ce96421ba1e8952950d6df74e9043589
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.cuda_alloc/fir.cuda_free operations (#90525)
This patch introduces fir.cuda_alloc/fir.cuda_free. These operations
will be used instead of fir.alloca for local CUDA device, managed and
unified variables.
Commit: 114a59d4d3743257d7cfdf94a7124060f04cc0db
https://github.com/llvm/llvm-project/commit/114a59d4d3743257d7cfdf94a7124060f04cc0db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
Log Message:
-----------
MachineLICM: Remove unnecessary isReg checks
COPY operands are always registers.
Commit: cc6113da826e82f19762eb813e6d932fcef09593
https://github.com/llvm/llvm-project/commit/cc6113da826e82f19762eb813e6d932fcef09593
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtPrinter.cpp
A clang/test/AST/ast-print-openacc-compute-construct.cpp
Log Message:
-----------
[OpenACC] Fix ast-print for OpenACC Clauses
Previously we weren't printing expressions correctly, so this patch adds
a test to ensure we do, and fixes how expressions are printed.
Commit: 721c31e3bd37c00bff96e14e784e8d28e9a2b8ba
https://github.com/llvm/llvm-project/commit/721c31e3bd37c00bff96e14e784e8d28e9a2b8ba
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Passes/ValidateMemRefs.cpp
R bolt/test/X86/jt-symbol-disambiguation-4.s
Log Message:
-----------
Revert "[BOLT] Avoid reference updates for non-JT symbol operands (#88838)"
This reverts commit 9d5411ffba0d94b60050cc873773935addca9533.
Breaks aarch64 buildbot:
https://lab.llvm.org/buildbot/#/builders/221/builds/22130
Commit: d97f25b948554717a163b28dae3cf982a03434ca
https://github.com/llvm/llvm-project/commit/d97f25b948554717a163b28dae3cf982a03434ca
Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
Log Message:
-----------
[AMPGPU] Emit s_singleuse_vdst instructions when a register is used multiple times in the same instruction. (#89601)
Previously, multiple uses of a register within the same instruction were
being counted as multiple uses. This has been corrected to
only count as a single use as per the specification allowing for
more optimisation candidates.
Commit: 5ada3289b107742929f2605aa4b2e3e903d4a690
https://github.com/llvm/llvm-project/commit/5ada3289b107742929f2605aa4b2e3e903d4a690
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/test/Lower/OpenMP/Todo/reduction-array-intrinsic.f90
Log Message:
-----------
[flang][OpenMP] ensure we hit the TODO for intrinsic array reduction (#90593)
Before this patch we crashed lowering intrinsic array reductions.
I think this lost during a rebase. I've added a test to make sure it
doesn't break again.
Also fixed the TODO message to be more accurate.
Commit: df513f86da13822ed4f99bebd2ac93e53b8b6e0d
https://github.com/llvm/llvm-project/commit/df513f86da13822ed4f99bebd2ac93e53b8b6e0d
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang] Adapt PolymorphicOpConversion to run on all top level ops (#90597)
We might use polymorphic ops in top-level operations other than
functions some time in the future. We need to ensure that these
operations can be lowered.
See RFC:
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations
Some of the changes are from moving declaration and definition of the
constructor function into tablegen (as requested in code review when
altering another pass).
Commit: 539f626ecd0c5148228fb6d2eda6228b4f2b2fca
https://github.com/llvm/llvm-project/commit/539f626ecd0c5148228fb6d2eda6228b4f2b2fca
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
Log Message:
-----------
[VP][RISCV] Add vp.cttz.elts intrinsic and its RISC-V codegen (#90502)
This intrinsic is the VP version of `experimental.cttz.elts`.
Commit: 97069a86193a617a9e4cf742a29db6116b2bf449
https://github.com/llvm/llvm-project/commit/97069a86193a617a9e4cf742a29db6116b2bf449
Author: Gaurav Shukla <gaurav at nod-labs.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Arith/Utils/CMakeLists.txt
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
M mlir/test/Dialect/Linalg/collapse-dim.mlir
M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/MemRef/runtime-verification.mlir
M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] Generalize expand_shape to take shape as explicit input (#90040)
This patch generalizes tensor.expand_shape and memref.expand_shape to
consume the output shape as a list of SSA values. This enables us to
implement generic reshape operations with dynamic shapes using
collapse_shape/expand_shape pairs.
The output_shape input to expand_shape follows the static/dynamic
representation that's also used in `tensor.extract_slice`.
Differential Revision: https://reviews.llvm.org/D140821
---------
Signed-off-by: Gaurav Shukla<gaurav.shukla at amd.com>
Signed-off-by: Gaurav Shukla <gaurav.shukla at amd.com>
Co-authored-by: Ramiro Leal-Cavazos <ramiroleal050 at gmail.com>
Commit: e9305fcf1b4a901f9424388137cecff120a4b303
https://github.com/llvm/llvm-project/commit/e9305fcf1b4a901f9424388137cecff120a4b303
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineAnd/combineAddOrSub - use DAG::getNegative() helper. NFC.
Commit: 38c68e0746dc4ee19480dd4c9ee572895eb07136
https://github.com/llvm/llvm-project/commit/38c68e0746dc4ee19480dd4c9ee572895eb07136
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/X86/cmp16.ll
Log Message:
-----------
[X86] Add icmp i16 test coverage
Based off #90355 - add basic tests for cases when to extend i16 comparisons to i32
Commit: 91c52b966a09e37a96ed87bcf5b422de7711bf50
https://github.com/llvm/llvm-project/commit/91c52b966a09e37a96ed87bcf5b422de7711bf50
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Pull out repeated SDLoc() from SHL/SRL/SRA combines. NFC.
We were always calling SDLoc(N) at the top of each visitSHL/SRL/SRA for the FoldConstantArithmetic call, so just reuse this as much as possible.
Commit: fbe8d2a22189233590b15dad62c881a60c74b201
https://github.com/llvm/llvm-project/commit/fbe8d2a22189233590b15dad62c881a60c74b201
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Tools/CrossToolHelpers.h
Log Message:
-----------
[flang][OpenMP] Implement getOpenMPVersionAttribute helper function, NFC (#90086)
Commit: 554be97d7f7f462ab4b8af34f79bca71f4c98977
https://github.com/llvm/llvm-project/commit/554be97d7f7f462ab4b8af34f79bca71f4c98977
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP] Implement getIterationVariableSymbol helper function,… (#90087)
… NFC
Commit: 33ccd037fcd2b4346065ebcdcbb5d8c1887c2639
https://github.com/llvm/llvm-project/commit/33ccd037fcd2b4346065ebcdcbb5d8c1887c2639
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Pass symTable to all genXYZ functions, NFC (#90090)
This will unify the interface a bit more.
Commit: 4631e7bad6984beca9f790d01d7e07dd47d407bb
https://github.com/llvm/llvm-project/commit/4631e7bad6984beca9f790d01d7e07dd47d407bb
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/unittests/Frontend/OpenMPCompositionTest.cpp
Log Message:
-----------
[Frontend][OpenMP] Add unit tests for getLeafConstructsOrSelf, NFC (#90110)
Commit: 267329d7e0e7dc6cb6d59b7d71290d5e5f5c6be2
https://github.com/llvm/llvm-project/commit/267329d7e0e7dc6cb6d59b7d71290d5e5f5c6be2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
[LegalizeDAG] Simplify interface to PromoteReduction. NFC
Return an SDValue instead of pushing to the Results vector. Let
the caller do the push.
Commit: 6ab49fcbb237779042bfb7f5210321fe75f8f432
https://github.com/llvm/llvm-project/commit/6ab49fcbb237779042bfb7f5210321fe75f8f432
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP] Fix unit test failures caused by #90502
Forgot to add vp.cttz.elts into the unittest. Also, I didn't specify the
positions of overloaded type parameters.
Commit: 4cd11c986f78e19f53b3f3c92143b7b7c1ce54b1
https://github.com/llvm/llvm-project/commit/4cd11c986f78e19f53b3f3c92143b7b7c1ce54b1
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/utils/lldb-dotest/lldb-dotest.in
Log Message:
-----------
Thread '--lldb-obj-root' through lldb-dotest for manual testing
Commit: dbe376651a830fb502ff26d89119d1b89da599bc
https://github.com/llvm/llvm-project/commit/dbe376651a830fb502ff26d89119d1b89da599bc
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
A mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir
Log Message:
-----------
[mlir][sparse] handle padding on sparse levels. (#90527)
Commit: 30badf96bbaa5ddfd8049442e573fd270a89ddc8
https://github.com/llvm/llvm-project/commit/30badf96bbaa5ddfd8049442e573fd270a89ddc8
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
Log Message:
-----------
[MLIR][Arith] expand-ops: Support mini/maxi (#90575)
Expand `arith.minsi`, `arith.minui`, `arith.maxsi`, `arith.maxui` into
`arith.cmpi` and `arith.select`.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 600cae7d421e6e280c6513510bb11b4dc7b16b48
https://github.com/llvm/llvm-project/commit/600cae7d421e6e280c6513510bb11b4dc7b16b48
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Try to clarify mustprogress wording. (#90510)
Ensure it's clear that:
- Infinite loops in non-mustprogress functions are well-defined, even if
they're called by mustprogress functions.
- Infinite recursion in mustprogress functions is not well-defined.
Looking at D86233, it's clear this was the intent, but the "transitive"
wording is ambiguous. Instead, just explicitly state that infinite loops
written in non-mustprogress functions count as progress.
Commit: 7dd4ce484c8913ced124f2f62ac4c3eaafa9ef5f
https://github.com/llvm/llvm-project/commit/7dd4ce484c8913ced124f2f62ac4c3eaafa9ef5f
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libc/src/__support/fixed_point/sqrt.h
M libc/test/src/stdfix/ISqrtTest.h
M libc/test/src/stdfix/SqrtTest.h
M libc/test/src/stdfix/uksqrtui_test.cpp
Log Message:
-----------
[libc][stdfix] Fix overflow problem for fixed point sqrt when the inputs are close to max. (#90558)
Fixes https://github.com/llvm/llvm-project/issues/89668
Commit: 9af7f4061b0a8c5540ec544dab82d3f1b9531549
https://github.com/llvm/llvm-project/commit/9af7f4061b0a8c5540ec544dab82d3f1b9531549
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/test/std/numerics/complex.number/complex.tuple/get.pass.cpp
Log Message:
-----------
[libc++][NFC] Fixes a status page note and a minor copy & paste error in a test (#90399)
- Adds a status page note for P3142R0
- Fixes a copy & paste error in tuple protocol for `complex`
Commit: a754ce04893fd2981b265a040f838fed85f53199
https://github.com/llvm/llvm-project/commit/a754ce04893fd2981b265a040f838fed85f53199
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Fix build warning.
Commit: f565b79f9fc278d37e884276212455920b51b47a
https://github.com/llvm/llvm-project/commit/f565b79f9fc278d37e884276212455920b51b47a
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/Support/TypeSize.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
Log Message:
-----------
[RISCV] Handle fixed length vectors with exact VLEN in lowerINSERT_SUBVECTOR (#84107)
This is the insert_subvector equivalent to #79949, where we can avoid
sliding up by the full LMUL amount if we know the exact subregister the
subvector will be inserted into.
This mirrors the lowerEXTRACT_SUBVECTOR changes in that we handle this
in two parts:
- We handle fixed length subvector types by converting the subvector to
a scalable vector. But unlike EXTRACT_SUBVECTOR, we may also need to
convert the vector being inserted into too.
- Whenever we don't need a vslideup because either the subvector fits
exactly into a vector register group *or* the vector is undef, we need
to emit an insert_subreg ourselves because RISCVISelDAGToDAG::Select
doesn't correctly handle fixed length subvectors yet: see d7a28f7ad
A subvector exactly fits into a vector register group if its size is a
known multiple of the size of a vector register, and this adds a new
overload for TypeSize::isKnownMultipleOf for scalable to scalable
comparisons to help reason about this.
I've left RISCVISelDAGToDAG::Select untouched for now (minus relaxing an
invariant), so that the insert_subvector and extract_subvector code
paths are the same.
We should teach it to properly handle fixed length subvectors in a
follow-up patch, so that the "exact subregsiter" logic is handled in one
place instead of being spread across both RISCVISelDAGToDAG.cpp and
RISCVISelLowering.cpp.
Commit: f0cc3735217dd0da36ed14b65823bcb0d289fea6
https://github.com/llvm/llvm-project/commit/f0cc3735217dd0da36ed14b65823bcb0d289fea6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Drop unnecessary curly braces in RISCVISAInfo:parse*ArchString. NFC
Commit: 40083cf378e8c93165c5f9dd9d06611beca78f54
https://github.com/llvm/llvm-project/commit/40083cf378e8c93165c5f9dd9d06611beca78f54
Author: Alex Guteniev <gutenev at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/strings/string.conversions/stol.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
Log Message:
-----------
[libc++] Some tests are missing include for `numeric_limits` (#90345)
Noticed while attempting microsoft/STL#4634
Commit: 7a8d15e919dde70118dbfa34e927be1705ded67d
https://github.com/llvm/llvm-project/commit/7a8d15e919dde70118dbfa34e927be1705ded67d
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/docs/use/variable.rst
M lldb/source/Core/FormatEntity.cpp
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c
Log Message:
-----------
[lldb] Support custom LLVM formatting for variables (#81196)
Adds support for applying LLVM formatting to variables.
The reason for this is to support cases such as the following.
Let's say you have two separate bytes that you want to print as a
combined hex value. Consider the following summary string:
```
${var.byte1%x}${var.byte2%x}
```
The output of this will be: `0x120x34`. That is, a `0x` prefix is
unconditionally applied to each byte. This is unlike printf formatting
where you must include the `0x` yourself.
Currently, there's no way to do this with summary strings, instead
you'll need a summary provider in python or c++.
This change introduces formatting support using LLVM's formatter system.
This allows users to achieve the desired custom formatting using:
```
${var.byte1:x-}${var.byte2:x-}
```
Here, each variable is suffixed with `:x-`. This is passed to the LLVM
formatter as `{0:x-}`. For integer values, `x` declares the output as
hex, and `-` declares that no `0x` prefix is to be used. Further, one
could write:
```
${var.byte1:x-2}${var.byte2:x-2}
```
Where the added `2` results in these bytes being written with a minimum
of 2 digits.
An alternative considered was to add a new format specifier that would
print hex values without the `0x` prefix. The reason that approach was
not taken is because in addition to forcing a `0x` prefix, hex values
are also forced to use leading zeros. This approach lets the user have
full control over formatting.
Commit: 49bb993959668b3f319e9ea5fa0c97a41ab0890e
https://github.com/llvm/llvm-project/commit/49bb993959668b3f319e9ea5fa0c97a41ab0890e
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Fix build-time assertion in RewriteInstance (#90540)
We use pwrite() in RewriteInstance to update contents of existing
sections. pwrite() requires file position to be set past the written
offset which we guarantee at the start of rewriteFile(). Then we had an
implicit assumption in patchBuildID() that the file position will be set
again in patchELFSymTabs() after being reset in patchELFPHDRTable().
That assumption was broken in #90300. The fix is to save and restore
file position in patchELFPHDRTable(). Then we don't have to update it
again in patchELFSymTabs().
Commit: d2353695f8cb864f88475d3a921249b0dcbcc6f4
https://github.com/llvm/llvm-project/commit/d2353695f8cb864f88475d3a921249b0dcbcc6f4
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Tools/PDLL/AST/Types.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
Log Message:
-----------
[mlir][NFC] update code to use `mlir::dyn_cast/cast/isa` (#90633)
Fix compiler warning caused by using deprecated interface
(https://github.com/llvm/llvm-project/pull/90413)
Commit: 7662f95f2c767ae3c9b22eb4bdedb07ffcf258b7
https://github.com/llvm/llvm-project/commit/7662f95f2c767ae3c9b22eb4bdedb07ffcf258b7
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Add preprocessor define for half-precision (#90528)
This adds the preprocessor define for the half-precision feature and
also adds preprocessor tests.
Commit: f061a395ffb78215a23e0f503e8ea121ee3b13ad
https://github.com/llvm/llvm-project/commit/f061a395ffb78215a23e0f503e8ea121ee3b13ad
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
A clang/test/CXX/class/class.mem/class.mem.general/p8.cpp
A clang/test/CXX/except/except.spec/p13-friend.cpp
Log Message:
-----------
[Clang][Sema][Parse] Delay parsing of noexcept-specifiers in friend function declarations (#90517)
According to [class.mem.general] p8:
> A complete-class context of a class (template) is a
> - function body,
> - default argument,
> - default template argument,
> - _noexcept-specifier_, or
> - default member initializer
>
> within the member-specification of the class or class template.
When testing #90152, it came to my attention that we do _not_ consider
the _noexcept-specifier_ of a friend function declaration to be a
complete-class context (something which the Microsoft standard library
depends on). Although a comment states that this is "consistent with
what other implementations do", the only other implementation that
exhibits this behavior is GCC (MSVC and EDG both late-parse the
_noexcept-specifier_).
This patch changes _noexcept-specifiers_ of friend function declarations
to be late parsed, which is in agreement with the standard & majority of
implementations. Pre-#90152, our existing implementation falls "in
between" the implementation consensus: within non-template classes, we
would not find latter declared members (qualified and unqualified),
while within class templates we would not find latter declared member
when named with a unqualified name, we would find members named with a
qualified name (even when lookup context is the current instantiation).
Therefore, this _shouldn't_ be a breaking change -- any code that didn't
compile will continue to not compile (since a _noexcept-specifier_ is
not part of the deduction substitution
loci (see [temp.deduct.general] p7), and any code which
did compile should continue to do so.
Commit: 8009bbec59d1c5d47ae06c431647ebee6d886ff2
https://github.com/llvm/llvm-project/commit/8009bbec59d1c5d47ae06c431647ebee6d886ff2
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Expr.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaAttr.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/SemaExprMember.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/HLSL/this-reference-template.hlsl
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
A clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/Index/annotate-nested-name-specifier.cpp
M clang/test/SemaCXX/member-expr.cpp
M clang/test/SemaTemplate/instantiate-function-1.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)" (#90152)
Reapplies #84050, addressing a bug which cases a crash when an
expression with the type of the current instantiation is used as the
_postfix-expression_ in a class member access expression (arrow form).
Commit: fa67986d5b309ddd4c2ea74e8a5eeb0559aa8022
https://github.com/llvm/llvm-project/commit/fa67986d5b309ddd4c2ea74e8a5eeb0559aa8022
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-private-clause.c
A clang/test/SemaOpenACC/compute-construct-private-clause.cpp
A clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Private Clause on Compute Constructs (#90521)
The private clause is the first that takes a 'var-list', thus this has a
lot of additional work to enable the var-list type. A 'var' is a
traditional variable reference, subscript, member-expression, or
array-section, so checking of these is pretty minor.
Note: This ran into some issues with array-sections (aka sub-arrays)
that will be fixed in a follow-up patch.
Commit: 1c979ab7e59feb03c58cac631a93143b0c776c20
https://github.com/llvm/llvm-project/commit/1c979ab7e59feb03c58cac631a93143b0c776c20
Author: AdityaK <hiraditya at msn.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/different-gep-types.ll
Log Message:
-----------
[GVNSink] Fix incorrect codegen with respect to GEPs #85333 (#88440)
As mentioned in #68882 and
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699
Gep arithmetic isn't consistent with different types. GVNSink didn't
realize this and sank all geps
as long as their operands can be wired via PHIs
in a post-dominator.
Fixes: #85333
Commit: 0ecc1646cbbb1bdfce234a11bec33b8c64af29cb
https://github.com/llvm/llvm-project/commit/0ecc1646cbbb1bdfce234a11bec33b8c64af29cb
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__ranges/repeat_view.h
M libcxx/test/std/ranges/range.factories/range.repeat.view/ctad.compile.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp
Log Message:
-----------
[libc++][ranges] Implement LWG4053 and LWG4054 (#88612)
Implement
- LWG4053 Unary call to `std::views::repeat` does not decay the argument
- LWG4054 Repeating a `repeat_view` should repeat the view
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 41f9c78f6a4efe38edbb0b62131b0a0bf619c99a
https://github.com/llvm/llvm-project/commit/41f9c78f6a4efe38edbb0b62131b0a0bf619c99a
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
Log Message:
-----------
[OpenACC] Fix test failure from fa67986d
Seemingly some other patch went in that altered how much dependence was
printed vs the actual names, and it changed the ast-dump results.
Commit to fix this test.
Commit: 7cbaaed63612fe6446355c5ffe33ddd57578b929
https://github.com/llvm/llvm-project/commit/7cbaaed63612fe6446355c5ffe33ddd57578b929
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
Log Message:
-----------
[mlir][sparse] fix sparse tests that uses reshape operations. (#90637)
Due to generalization introduced in
https://github.com/llvm/llvm-project/pull/90040
Commit: 52cb9537896992e0fa689c45469bccb36970c0c7
https://github.com/llvm/llvm-project/commit/52cb9537896992e0fa689c45469bccb36970c0c7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang] Update calls to isa/dyn_cast/dyn_cast_or_null
Commit: 5f88f0c63fa75169665732a3377f5bb3fef6256d
https://github.com/llvm/llvm-project/commit/5f88f0c63fa75169665732a3377f5bb3fef6256d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const unsigned
int' and 'const int' [-Werror,-Wsign-compare]
Commit: 9b07a035f1802e826d2186eae1875d010048618a
https://github.com/llvm/llvm-project/commit/9b07a035f1802e826d2186eae1875d010048618a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
Log Message:
-----------
[Hexagon] Let ArrayRef infer the array size (NFC) (#90534)
Commit: 4e6f6fda8b05524ccdb5a3e42c6c15ddef2454b6
https://github.com/llvm/llvm-project/commit/4e6f6fda8b05524ccdb5a3e42c6c15ddef2454b6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/ProfileSummary.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Use StringRef::operator== instead of StringRef::equals (NFC) (#90550)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator== outnumbers StringRef::equals by a factor of 22
under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: a1423ba4278775472523fed074de6dbdfd01898a
https://github.com/llvm/llvm-project/commit/a1423ba4278775472523fed074de6dbdfd01898a
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
Log Message:
-----------
[mlir][tensor] Fix integration tests that uses reshape ops. (#90649)
Due to generalization introduced in
https://github.com/llvm/llvm-project/pull/90040
Commit: cf49d077fd75278abc405c8c125f40a975c830b4
https://github.com/llvm/llvm-project/commit/cf49d077fd75278abc405c8c125f40a975c830b4
Author: AdityaK <hiraditya at msn.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
R llvm/test/Transforms/GVNSink/different-gep-types.ll
Log Message:
-----------
Revert "[GVNSink] Fix incorrect codegen with respect to GEPs #85333" (#90658)
Reverts llvm/llvm-project#88440
Test failing on Windows:
https://lab.llvm.org/buildbot/#/builders/233/builds/9396
```
Input file: <stdin>
# | Check file: C:\buildbot\as-builder-8\llvm-nvptx-nvidia-win\llvm-project\llvm\test\Transforms\GVNSink\different-gep-types.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 42: br label %if.end6
# | 43:
# | 44: if.else5: ; preds = %if.else
# | 45: br label %if.end6
# | 46:
# | 47: if.end6: ; preds = %if.else5, %if.then3, %if.then
# | next:67'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:67'1 with "IF_THEN" equal to "%if\\.then"
# | next:67'2 with "IF_THEN3" equal to "%if\\.then3"
# | next:67'3 with "IF_ELSE5" equal to "%if\\.else5"
# | 48: %.sink1 = phi i32 [ -8, %if.then3 ], [ -4, %if.else5 ], [ 8, %if.then ]
# | next:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:67'4 ? possible intended match
# | 49: %0 = load ptr, ptr %__i, align 4
# | next:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 50: %incdec.ptr4 = getelementptr inbounds i8, ptr %0, i32 %.sink1
# | next:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 51: store ptr %incdec.ptr4, ptr %__i, align 4
# | next:67'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 52: ret void
# | next:67'0 ~~~~~~~~~~
# | 53: }
# | next:67'0 ~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
```
Commit: 70ada5b178a14363dc6d30fbf531e47d3933a086
https://github.com/llvm/llvm-project/commit/70ada5b178a14363dc6d30fbf531e47d3933a086
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/peephole-replaceInstr-after-eliminate-extsw.mir
Log Message:
-----------
NFC add a new precommit test case for PPCMIpeephole (#90656)
Add pre-commit MIR test for PR "[Promote Pseudo Opcode from 32-bit to
64-bit after eliminating the extsw instruction in PPCMIPeepholes
optimization](https://github.com/llvm/llvm-project/pull/85451)" which
fixes bug reported in the issue "[Inconsistent Output at -O1 and -O2
Optimization Levels on PowerPC64 Due to Complex Type Casting and Nested
Loop Structure](https://github.com/llvm/llvm-project/issues/71030)".
Commit: 05d04f0a057bc06324c02e00c2c73ee354999dde
https://github.com/llvm/llvm-project/commit/05d04f0a057bc06324c02e00c2c73ee354999dde
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Make RISCVISAInfo::updateMaxELen extension checking more robust. Add inference from V extension. (#90650)
We weren't fully checking that we parsed Zve*x/f/d correctly. This could
break if new extension is added that starts with Zve.
We were assuming the Zve64d is present whenever V is so we only
inferred from Zve*. It's more correct to infer ELEN from V itself too.
Commit: 7538df90aee11603bce5146a3f34c06e9ef3f793
https://github.com/llvm/llvm-project/commit/7538df90aee11603bce5146a3f34c06e9ef3f793
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[llvm][profdata][NFC] Support 64-bit weights in ProfDataUtils (#86607)
Since some places, like SimplifyCFG, work with 64-bit weights, we supply
an API in ProfDataUtils to extract the weights accordingly.
We change the API slightly to disambiguate the 64-bit version from the
32-bit version.
Commit: 2224dce7e490340717adb3bd864f17b5d7da4421
https://github.com/llvm/llvm-project/commit/2224dce7e490340717adb3bd864f17b5d7da4421
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M compiler-rt/lib/dfsan/CMakeLists.txt
Log Message:
-----------
[DFSan] Replace `cat` with `cmake -E cat` (#90557)
`CMake` supports [this
command](https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-E-arg-cat)
as of version 3.18. [D151344](https://reviews.llvm.org/D151344) bumped
the minimum version to 3.20, so, it is now possible to remove the
dependency on the external utility. This helps to cross-compile from
Windows to Linux without installing additional tools, such as MSYS2.
Commit: 928db7e7edc5ffeaf92e85610068852ee94b26fb
https://github.com/llvm/llvm-project/commit/928db7e7edc5ffeaf92e85610068852ee94b26fb
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP][AIX] Implement __kmp_is_address_mapped() for AIX (#90516)
This patch implements `__kmp_is_address_mapped()` for AIX by calling
`loadquery()` to get the load info of the process and then checking if
the address falls within the range of the data segment of one of the
loaded modules.
Commit: 75f4baa705829d44c6a0c4f098a1b04763fdfaf8
https://github.com/llvm/llvm-project/commit/75f4baa705829d44c6a0c4f098a1b04763fdfaf8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
A llvm/test/CodeGen/SystemZ/copy-phys-reg-vr128-to-gr128.mir
Log Message:
-----------
SystemZ: Implement copyPhysReg between vr128 and gr128 (#90616)
I have no idea if this is correct and I probably swapped the element
ordering somewhere.
Commit: 699243343439285ec2fe61b4ae568c7a958c7ce2
https://github.com/llvm/llvm-project/commit/699243343439285ec2fe61b4ae568c7a958c7ce2
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][NFC] Fix status colors
Commit: 1fb5083aed3f2bed3658f63ead895e2955f0bc4c
https://github.com/llvm/llvm-project/commit/1fb5083aed3f2bed3658f63ead895e2955f0bc4c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Accept variable with UNIFIED attribute in main (#90647)
UNIFIED variables are accept in program scope. Update the check to allow
them.
Commit: c665e49911a0f029564a816b71dce5bf1c81f3a9
https://github.com/llvm/llvm-project/commit/c665e49911a0f029564a816b71dce5bf1c81f3a9
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Add ORC validation for the Linux kernel (#90660)
The Linux kernel expects ORC tables to be sorted by IP address (for
binary search to work). Add a post-emit pass in LinuxKernelRewriter that
validates the written .orc_unwind_ip against that expectation.
Commit: 0232b77e145577ab78e3ed1fdbb7eacc5a7381ab
https://github.com/llvm/llvm-project/commit/0232b77e145577ab78e3ed1fdbb7eacc5a7381ab
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
Log Message:
-----------
[Coroutines][Test] Specify target triple in coro-elide-thinlto (#90549)
Resolve test failure on non-x86 linux host
Commit: ecec1311fe0521404a11d6f3b90253259c8c3518
https://github.com/llvm/llvm-project/commit/ecec1311fe0521404a11d6f3b90253259c8c3518
Author: David Truby <david.truby at arm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
M flang/include/flang/Optimizer/Builder/Runtime/Main.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/test/Driver/emit-mlir.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/environment-defaults.f90
Log Message:
-----------
[flang] Remove double pointer indirection for _QQEnvironmentDefaults (#90615)
A double pointer was being passed to the call to FortranStart rather than just a pointer to the EnvironmentDefaults.list. This now passes `null` directly when there's no EnvironmentDefaults.list and passes the list directly when there is, removing the original global variable which was a pointer to a pointer containing null or the EnvironmentDefaults.list global.
Fixes #90537
Commit: 19f4d68252b70c81ebb1686a5a31069eda5373de
https://github.com/llvm/llvm-project/commit/19f4d68252b70c81ebb1686a5a31069eda5373de
Author: Amara Emerson <amara at apple.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.ll
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir
Log Message:
-----------
[GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375)
During analysis, we incorrectly leave the offset part of an address info
struct
as zero, when in actual fact we failed to decompose it into base +
offset.
This results in incorrectly assuming that the address is adjacent to
another store
addr. To fix this we wrap the offset in an optional<> so we can
distinguish between
real zero and unknown.
Fixes issue #90242
Commit: 51aac5b04362daf99124d20ea93837b86b833f90
https://github.com/llvm/llvm-project/commit/51aac5b04362daf99124d20ea93837b86b833f90
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFCI]Improve compile time for phis with large number of incoming values.
Added a limit of 128 incoming values at max for PHIs nodes to be
vectorized plus improved performance by using logarithmic search instead
of linear if the number of incoming values is > 4.
Commit: fb85a282d125a2805632285b29686392e6922b66
https://github.com/llvm/llvm-project/commit/fb85a282d125a2805632285b29686392e6922b66
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fast-math.c
Log Message:
-----------
Fix -fno-unsafe-math-optimizations behavior (#89473)
This changes the handling of -fno-unsafe-fp-math to stop having that
option imply -ftrapping-math. In gcc, -fno-unsafe-math-optimizations
sets -ftrapping-math, but that dependency is based on the fact the
-ftrapping-math is enabled by default in gcc. Because clang does not
enable -ftrapping-math by default, there is no reason for
-fno-unsafe-math-optimizations to set it.
On the other hand, -funsafe-math-optimizations continues to imply
-fno-trapping-math because this option necessarily disables strict
exception semantics.
This fixes https://github.com/llvm/llvm-project/issues/87523
Commit: 89f833588e573b6b9762bb4eca5b08a5d7bad9c5
https://github.com/llvm/llvm-project/commit/89f833588e573b6b9762bb4eca5b08a5d7bad9c5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Common/Fortran.cpp
A flang/test/Semantics/cuf13.cuf
Log Message:
-----------
[flang][cuda] Allow PINNED argument to host dummy (#90651)
Update the `AreCompatibleCUDADataAttrs` function to return true when one
argument has the `PINNED` attribute and the other argument is just host
data.
Commit: cd7a7a56fc73c73855036f77a4f69ea90c75c27a
https://github.com/llvm/llvm-project/commit/cd7a7a56fc73c73855036f77a4f69ea90c75c27a
Author: Fabian Keßler <fabian_kessler at gmx.de>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M libc/config/baremetal/api.td
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/c23.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/char16_t.h
A libc/include/llvm-libc-types/char32_t.h
A libc/include/llvm-libc-types/char8_t.h
M libc/spec/spec.td
M libc/spec/stdc.td
Log Message:
-----------
Add basic char*_t support for libc (partial WG14 N2653) (#90360)
This PR implements a part of WG14 N2653:
- Define C23 char8_t
- Define C11 char16_t
- Define C11 char32_t
Missing goals are:
- The type of UTF-8 character literals is changed from unsigned char to
char8_t. (Since UTF-8 character literals already have type unsigned
char, this is not a semantic change).
- New mbrtoc8() and c8rtomb() functions declared in <uchar.h> enable
conversions between multibyte characters and UTF-8.
- A new ATOMIC_CHAR8_T_LOCK_FREE macro.
- A new atomic_char8_t typedef name.
Commit: 805e08ef26a4dd4c3048a836a49219545a211686
https://github.com/llvm/llvm-project/commit/805e08ef26a4dd4c3048a836a49219545a211686
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Fix a warning
This patch fixes:
bolt/lib/Rewrite/LinuxKernelRewriter.cpp:855:12: error: variable
'PrevIP' set but not used [-Werror,-Wunused-but-set-variable]
Commit: d688162eba31bc9477c5bccd29cde6f0aa125bc4
https://github.com/llvm/llvm-project/commit/d688162eba31bc9477c5bccd29cde6f0aa125bc4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr90688.ll
Log Message:
-----------
[X86] Pre-commit test for pr90668. NFC
Commit: 805f01f805716d78c2669e8aee81a45b99dedea0
https://github.com/llvm/llvm-project/commit/805f01f805716d78c2669e8aee81a45b99dedea0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr90668.ll
R llvm/test/CodeGen/X86/pr90688.ll
Log Message:
-----------
[X86] Rename test to correct bug number. NFC
I accidentally named it pr90688 instead of pr90668.
Commit: 2647bd73696ae987addd0e74774a44108accb1e6
https://github.com/llvm/llvm-project/commit/2647bd73696ae987addd0e74774a44108accb1e6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/pr90652.ll
Log Message:
-----------
[RISCV][ISel] Fix types in `tryFoldSelectIntoOp` (#90659)
```
SelectionDAG has 17 nodes:
t0: ch,glue = EntryToken
t6: i64,ch = CopyFromReg t0, Register:i64 %2
t8: i1 = truncate t6
t4: i64,ch = CopyFromReg t0, Register:i64 %1
t7: i1 = truncate t4
t2: i64,ch = CopyFromReg t0, Register:i64 %0
t10: i64,i1 = saddo t2, Constant:i64<1>
t11: i1 = or t8, t10:1
t12: i1 = select t7, t8, t11
t13: i64 = any_extend t12
t15: ch,glue = CopyToReg t0, Register:i64 $x10, t13
t16: ch = RISCVISD::RET_GLUE t15, Register:i64 $x10, t15:1
```
`OtherOpVT` should be i1, but `OtherOp->getValueType(0)` returns `i64`,
which ignores `ResNo` in `SDValue`.
Fix https://github.com/llvm/llvm-project/issues/90652.
Commit: 278774e428c280b6ab62c147ac33b6837dad6dd5
https://github.com/llvm/llvm-project/commit/278774e428c280b6ab62c147ac33b6837dad6dd5
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/FileList.h
M clang/lib/InstallAPI/FileList.cpp
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Cleanup I/O error handling for input lists (#90664)
Add validation in the FileList reader to check that the headers exist and use similar diagnostics in Options.cpp
Commit: 0f628fdb1aa8be97a5d86c3259b8caaa997790ec
https://github.com/llvm/llvm-project/commit/0f628fdb1aa8be97a5d86c3259b8caaa997790ec
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M lldb/docs/use/variable.rst
M lldb/source/Core/FormatEntity.cpp
R lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
R lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
R lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c
Log Message:
-----------
Revert "[lldb] Support custom LLVM formatting for variables (#81196)"
This reverts commit 7a8d15e919dde70118dbfa34e927be1705ded67d.
Commit: 85f28cf431911ca505b759c155bb62e8be7151ae
https://github.com/llvm/llvm-project/commit/85f28cf431911ca505b759c155bb62e8be7151ae
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang] Fixed -g compilation issues caused by #90484. (#90683)
Commit: a03eeb0e98fefa24b3f596221942814178518703
https://github.com/llvm/llvm-project/commit/a03eeb0e98fefa24b3f596221942814178518703
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/pr90668.ll
Log Message:
-----------
[SelectionDAG][X86] Add a NoWrap flag to SelectionDAG::isAddLike. NFC (#90681)
If this flag is set, Xor will not be considered AddLike. If an Xor were
treated as an Add it may wrap. If we can prove there would be no carry out and
thus no wrap, the Xor would be turned into a disjoint Or by DAGCombine.
Use this new flag to fix a bug in X86 where an Xor is incorrectly being treated
as an NUWAdd.
Fixes #90668.
Commit: 75f7295419606380a7b5deea06359794a23429d9
https://github.com/llvm/llvm-project/commit/75f7295419606380a7b5deea06359794a23429d9
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
Log Message:
-----------
[mlir][Tensor] Fix unpack -> transpose folding pattern for padded unpacks (#90678)
Previously if the producer tensor.unpack op had "unpadding" semantics,
the folding pattern would construct a destination that does not match
with the result type of the transpose. Because both ops are DPS we can
just reuse the destination of the transpose.
Additionally cleans up a bunch of trailing whitespace in the test file.
Commit: 8cde1cfc60e36a1b4f632d00810983f0a7eb5462
https://github.com/llvm/llvm-project/commit/8cde1cfc60e36a1b4f632d00810983f0a7eb5462
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CMakeLists.txt
A llvm/test/CodeGen/PowerPC/git_revision.ll
M llvm/test/CodeGen/PowerPC/lit.local.cfg
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
[AIX] Add git revision to .file string (#88164)
If `LLVM_APPEND_VC_REV` is on, add the git revision to the `.file`
string. The revision can be set with `LLVM_FORCE_VC_REVISION`.
Before:
`.file "git_revision.cpp",,"LLVM version 19.0.0git"`
After:
`.file "git_revision.cpp",,"LLVM version 19.0.0git (LLVM_REVISION)"`
Commit: 986f832cff9cfdd9fa6addfadcd93206636311ef
https://github.com/llvm/llvm-project/commit/986f832cff9cfdd9fa6addfadcd93206636311ef
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
A flang/test/Fir/dummy-scope-codegen.fir
A flang/test/Fir/dummy_scope.fir
M flang/test/HLFIR/declare-codegen.fir
A flang/test/HLFIR/dummy_scope.fir
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang] Added fir.dummy_scope operation to preserve dummy arguments association. (#90642)
The new operation is just an abstract attribute that is attached to
[hl]fir.declare operations of dummy arguments of a subroutine.
Dummy arguments of the same subroutine refer to the same
fir.dummy_scope, so they can be recognized as such during FIR AliasAnalysis.
Note that the fir.dummy_scope must be specific to the runtime
instantiation of a subroutine, so any MLIR inlining/cloning should duplicate and
unique it vs using the same fir.dummy_scope for different runtime instantiations.
This is why I made it an operation rather than an attribute.
The new operation uses a write effect on DebuggingResource, same as
[hl]fir.declare, to avoid optimizing it away.
Commit: b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec
https://github.com/llvm/llvm-project/commit/b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
Log Message:
-----------
[Coroutines][Test] Only run coro-elide-thinlto under x86_64-linux (#90672)
Previous fix #90549 didn't completely address the Buildbot failures.
Some target may not recognize the target triple. This time, only run the
test under x86_64-linux.
Commit: 63a29693011048b472205022319c6769b244a5ba
https://github.com/llvm/llvm-project/commit/63a29693011048b472205022319c6769b244a5ba
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp
Log Message:
-----------
[cross-project-tests] Update code to use mlir::cast (NFC)
/llvm-project/cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp:41:16:
error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
VectorType.cast<mlir::ShapedType>(), llvm::ArrayRef<float>{2.0f, 3.0f});
^
/llvm-project/llvm/../mlir/include/mlir/IR/Types.h:345:9: note: 'cast' has been explicitly marked deprecated here
U Type::cast() const {
^
/llvm-project/cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp:41:16:
error: 'cast<mlir::ShapedType>' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
VectorType.cast<mlir::ShapedType>(), llvm::ArrayRef<float>{2.0f, 3.0f});
^
/llvm-project/llvm/../mlir/include/mlir/IR/Types.h:112:5: note: 'cast<mlir::ShapedType>' has been explicitly marked deprecated here
[[deprecated("Use mlir::cast<U>() instead")]]
^
2 errors generated.
Commit: ef1dbcd60f81dafd777355ffd675e1bb73358d77
https://github.com/llvm/llvm-project/commit/ef1dbcd60f81dafd777355ffd675e1bb73358d77
Author: jofrn <jofernau at amd.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Support/Windows/Signals.inc
Log Message:
-----------
[Windows] Restrict searchpath of dbghelp.dll to System32 (#90520)
LoadLibraryW will lookup dlls in user directories if its search path is
left unrestricted. This is a security vulnerability as one can name a
shared library the same as that of a system dll in order to run
arbitrary code when the shared library is loaded from the path in a user
directory. This change modifies it to only search within sys32 when
loading dbghelp.dll.
Commit: 86e5d6f1d83279557170c0b8e8a6a1ec6e4414d2
https://github.com/llvm/llvm-project/commit/86e5d6f1d83279557170c0b8e8a6a1ec6e4414d2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
[flang][cuda] Update attribute compatibily check for unified matching rule (#90679)
This patch updates the compatibility checks for CUDA attribute iin
preparation to implement the matching rules described in section 3.2.3.
We this patch the compiler will still emit an error when there is
multiple specific procedures that matches since the matching distances
is not yet implemented. This will be done in a separate patch.
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data
gpu=unified and gpu=managed are not part of this patch since these
options are not recognized by flang yet.
Commit: 8e9b1e9aa83b44fad44954bbd01c824def2b190f
https://github.com/llvm/llvm-project/commit/8e9b1e9aa83b44fad44954bbd01c824def2b190f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating struct braces (#90555)
Fixes #60040.
Commit: 306ae14face205e1bf2557ca2443c781b1d862f5
https://github.com/llvm/llvm-project/commit/306ae14face205e1bf2557ca2443c781b1d862f5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
Revert "[flang][cuda] Update attribute compatibily check for unified matching rule" (#90696)
Reverts llvm/llvm-project#90679
Commit: 410d6350eda322de213941b36adcdab13a0b557b
https://github.com/llvm/llvm-project/commit/410d6350eda322de213941b36adcdab13a0b557b
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/AST/ExprClassification.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Sema] Avoid an undesired pack expansion while transforming PackIndexingType (#90195)
A pack indexing type can appear in a larger pack expansion, e.g
`Pack...[pack_of_indexes]...` so we need to temporarily disable
substitution of pack elements.
Besides, this patch also fixes an assertion failure in
`PackIndexingExpr::classify`: dependent `PackIndexingExpr`s are always
LValues and thus we don't need to consider their `IndexExpr`s.
Fixes https://github.com/llvm/llvm-project/issues/88925
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 240592a772a40b4ffa75921f7b555d2a969b3383
https://github.com/llvm/llvm-project/commit/240592a772a40b4ffa75921f7b555d2a969b3383
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes. (#90180)
Commit: 3e930864eb39a81598fa03e539552e1664cdb989
https://github.com/llvm/llvm-project/commit/3e930864eb39a81598fa03e539552e1664cdb989
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
Reland [flang][cuda] Update attribute compatibily check for unified matching rule
Commit: 0632cb38a62ca695c88b9c7370a9157a76b9e947
https://github.com/llvm/llvm-project/commit/0632cb38a62ca695c88b9c7370a9157a76b9e947
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
Log Message:
-----------
[flang][MLIR] Outline deallocation logic to `omp.private` ops (#90592)
When delayed privatization is enabled, this PR emits the deallocation
logic to the newly introduced `dealloc` region on `omp.private` ops.
Commit: 93b9b7c4c1f6c6c1887763daccaa439b2a3b4d5f
https://github.com/llvm/llvm-project/commit/93b9b7c4c1f6c6c1887763daccaa439b2a3b4d5f
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
Log Message:
-----------
[RISCV] Add CHECK lines for test added in 7840fa9. NFC
Commit: bafc5f42c0132171287d7cba7f5c14459be1f7b7
https://github.com/llvm/llvm-project/commit/bafc5f42c0132171287d7cba7f5c14459be1f7b7
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
Log Message:
-----------
[Pipelines][Coroutines] Tune coroutine passes only for ThinLTO pre-link pipeline (#90690)
Follow up to #90310, limit the tune up only to ThinLTO pre-link as
coroutine passes are not in MonoLTO backend
Commit: 0fb50371a108d27394bb76adf8cffe944ab904cd
https://github.com/llvm/llvm-project/commit/0fb50371a108d27394bb76adf8cffe944ab904cd
Author: Franklin Zhang <zhangfenglei at huawei.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
Log Message:
-----------
[RemoveDIs] Fix SIGSEGV caused by splitBasicBlock (#90312)
See `llvm/unittests/IR/BasicBlockDbgInfoTest.cpp` for a test case.
Commit: 3684a38d33d7643fe8c3a870006efa8677ac37f8
https://github.com/llvm/llvm-project/commit/3684a38d33d7643fe8c3a870006efa8677ac37f8
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
Log Message:
-----------
Revert "[alpha.webkit.UncountedCallArgsChecker] Ignore methods of WTF String classes." (#90701)
Reverts llvm/llvm-project#90180
Commit: 74aa1abfaec64e45a402f4601f9c228113fc0bbb
https://github.com/llvm/llvm-project/commit/74aa1abfaec64e45a402f4601f9c228113fc0bbb
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/scalable-vector-array.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
Log Message:
-----------
[InstCombine] Canonicalize scalable GEPs to use llvm.vscale intrinsic (#90569)
Canonicalize getelementptr instructions for scalable vector types into
ptradd representation with an explicit llvm.vscale call. This
representation has better support in BasicAA, which can reason about
llvm.vscale, but not plain scalable GEPs.
Commit: d392520c645b653cd9c2ce944958fb115c4ba506
https://github.com/llvm/llvm-project/commit/d392520c645b653cd9c2ce944958fb115c4ba506
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Convert vsetvli mir tests to use $noreg instead of implicit_def. NFC
This matches what comes out of isel since
a63bd7e99b00c6c970f38ea596f708e42b8c98e5. It also adds the undef flag to
more closely match the output after regalloc, which will help with the test
diffs in #70549
Commit: cd46c2c1ba0481e2194231f0f2c2ceeb0810bb79
https://github.com/llvm/llvm-project/commit/cd46c2c1ba0481e2194231f0f2c2ceeb0810bb79
Author: Owen Anderson <resistor at mac.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/Support/Allocator.h
Log Message:
-----------
Tweak BumpPtrAllocator to benefit the hot path (#90571)
This takes the form of three consecutive but related changes:
- Mark the fast path of BumpPtrAllocator as likely-taken.
- Move the slow path of BumpPtrAllocator to a separate function.
- Mark the slow path of BumpPtrAllocator as noinline.
Overall, this saves geomean 0.4% userspace instructions on CTMark -O3,
and 0.98% on CTMark -O0 -g.
http://llvm-compile-time-tracker.com/compare.php?from=e1622e189e8c0ef457bfac528f90a7a930d9aad2&to=9eb53a4ed3af4a55e769ae1dd22d034b63d046e3&stat=instructions%3Au
Commit: 23f0f7bda0c16fa4a2ddb4ef60d5d146dbfac572
https://github.com/llvm/llvm-project/commit/23f0f7bda0c16fa4a2ddb4ef60d5d146dbfac572
Author: David Green <david.green at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
Log Message:
-----------
[AArch64] Additional tests for negative SVE addressing modes. NFC
Commit: 14b66fe5f36aaad627baa7f624a4997a7956d51a
https://github.com/llvm/llvm-project/commit/14b66fe5f36aaad627baa7f624a4997a7956d51a
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/SME2/zip-diagnostics.s
Log Message:
-----------
[AArch64][MC]Add diagnostic message for Multiple of 2/4 for ZPR128 (#90600)
This patch fix the crash reported in:
https://github.com/llvm/llvm-project/issues/90589
Commit: 0c42fa361d57c1f04a1026a83aceec1568baa2f7
https://github.com/llvm/llvm-project/commit/0c42fa361d57c1f04a1026a83aceec1568baa2f7
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/resources/lldbplatformpackets.md
Log Message:
-----------
[lldb][Docs] Sort documented packets alphabetically (#90584)
For the platform and extension doc.
Also add links in the extension doc to the GDB specs we're extending.
Commit: 9a9cff15a15b103ae1dc1efa98b53901cdda78f1
https://github.com/llvm/llvm-project/commit/9a9cff15a15b103ae1dc1efa98b53901cdda78f1
Author: Ivan Murashko <ivan.murashko at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/implicit-module-no-timestamp.cpp
Log Message:
-----------
[Modules] Process include files changes (#90319)
There were two diffs that introduced some options useful when you build
modules externally and cannot rely on file modification time as the key
for detecting input file changes:
- [D67249](https://reviews.llvm.org/D67249) introduced the
`-fmodules-validate-input-files-content` option, which allows the use of
file content hash in addition to the modification time.
- [D141632](https://reviews.llvm.org/D141632) propagated the use of
`-fno-pch-timestamps` with Clang modules.
There is a problem when the size of the input file (header) is not
modified but the content is. In this case, Clang cannot detect the file
change when the `-fno-pch-timestamps` option is used. The
`-fmodules-validate-input-files-content` option should help, but there
is an issue with its application: it's not applied when the modification
time is stored as zero that is the case for `-fno-pch-timestamps`.
The issue can be fixed using the same trick that was applied during the
processing of `ForceCheckCXX20ModulesInputFiles`:
```
// When ForceCheckCXX20ModulesInputFiles and ValidateASTInputFilesContent
// enabled, it is better to check the contents of the inputs. Since we can't
// get correct modified time information for inputs from overriden inputs.
if (HSOpts.ForceCheckCXX20ModulesInputFiles && ValidateASTInputFilesContent &&
F.StandardCXXModule && FileChange.Kind == Change::None)
FileChange = HasInputContentChanged(FileChange);
```
The patch suggests the solution similar to the presented above and
includes a LIT test to verify it.
Commit: 7565b20b50b254a72efa9d505e92be65c664b1b2
https://github.com/llvm/llvm-project/commit/7565b20b50b254a72efa9d505e92be65c664b1b2
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-30 (Tue, 30 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Log Message:
-----------
[ORC] Switch ObjectLinkingLayer::Plugins to shared ownership, copy pipeline.
Previously ObjectLinkingLayer held unique ownership of Plugins, and links
always used the Layer's plugin list at each step. This can cause problems if
plugins are added while links are in progress however, as the newly added
plugin may receive only some of the callbacks for links that are already
running.
In this patch each link gets its own copy of the pipeline that remains
consistent throughout the link's lifetime, and it is guaranteed that Plugin
objects (now with shared ownership) will remain valid until the link completes.
Coding my way home: 9.80469S, 139.03167W
Commit: 3a3bdd8fb63ffb49741a9c32b3a5a789ce4c3b91
https://github.com/llvm/llvm-project/commit/3a3bdd8fb63ffb49741a9c32b3a5a789ce4c3b91
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/destructor.cpp
Log Message:
-----------
[clang] Fix crash when destructor definition is preceded with '=' (#90220)
Fixes #89544
Commit: eb6097a79e79d03dfc758cc6e79110cbac66d800
https://github.com/llvm/llvm-project/commit/eb6097a79e79d03dfc758cc6e79110cbac66d800
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/docs/use/tutorial.rst
Log Message:
-----------
[lldb][Docs] Various style improvements to the tutorial (#90594)
* Replace "we" with either "you" (when talking to the reader) or "lldb"
(when talking about the project).
* Refer to lldb as lldb not LLDB, to match what the user sees on
the command line (I am going to come back later and put the proper name in places where it's talking about the projects themselves)
* Remove a bunch of contractions for example "won't". Which don't (pun
intended) seem like a big deal at first but even I as a native English
speaker find the text clearer with them expanded.
* Use RST's plain text highlighting for keywords and command names.
* Split some very long lines for easier editing in future.
Commit: 9bebf25ecbe6a8720dd581bd2a4f8d29aa763a42
https://github.com/llvm/llvm-project/commit/9bebf25ecbe6a8720dd581bd2a4f8d29aa763a42
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU][AsmParser][NFC] Generate NamedIntOperand predicates automatically. (#90576)
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: fdf206c10ccea9dd5bd3d7eeb1381f305f972e52
https://github.com/llvm/llvm-project/commit/fdf206c10ccea9dd5bd3d7eeb1381f305f972e52
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
Log Message:
-----------
[LLVM][SVE] Improve legalisation of fixed length get.active.lane.mask (#90213)
We are effectively performing type and operation legalisation very early
within the code generation flow. This results in worse code quality
because the DAG is not in canonical form, which DAGCombiner corrects
through the introduction of operations that are not legal.
This patchs splits and moves the code to where type and operation
legalisation is typically implemented.
Commit: 0b21b25eac0f7548eca8db0ddb2359268c91bc98
https://github.com/llvm/llvm-project/commit/0b21b25eac0f7548eca8db0ddb2359268c91bc98
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
Log Message:
-----------
[AMDGPU] Do not optimize away pre-existing waitcnt instructions at -O0 (#90716)
The autogenerated memory legalizer tests use -O0 so this allows us to
see the exact waitcnts that were inserted by the memory legalizer
without them being optimized away.
Commit: 582c6a82b4bc2ac5cbff803960eeb022bff10168
https://github.com/llvm/llvm-project/commit/582c6a82b4bc2ac5cbff803960eeb022bff10168
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
Log Message:
-----------
[llvm] Remove unused constructor (NFC)
Closes #89193
Commit: 5fb1e2825f0a550ee0509fd3b8c6d19c6e0fc082
https://github.com/llvm/llvm-project/commit/5fb1e2825f0a550ee0509fd3b8c6d19c6e0fc082
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
Log Message:
-----------
[AMDGPU] Enhance s_waitcnt insertion before barrier for gfx12 (#90595)
Code to determine if a waitcnt is required before a barrier instruction
only
considered S_BARRIER.
gfx12 adds barrier_signal/wait so need to enhance the existing code to
look for
a barrier start (which is just an S_BARRIER for earlier architectures).
Commit: f898161bfa95723954a273a519180e070a5ccd2e
https://github.com/llvm/llvm-project/commit/f898161bfa95723954a273a519180e070a5ccd2e
Author: David Stuttard <david.stuttard at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/waitcnt-sample-waw.mir
Log Message:
-----------
[AMDGPU] Fix image_msaa_load waitcnt insertion for pre-gfx12 (#90710)
https://github.com/llvm/llvm-project/pull/90201 made some fixes for
gfx12
image_msaa_load waitcnt insertion.
That fix might break in some situations for pre-gfx12 - this fixes that
by
explitly checking for VSAMPLE which always requires a s_wait_samplecnt
and
leaves the previous logic intact for non-gfx12.
Commit: ccb198dc62d3dad50aa26140a3e899ff5694dca2
https://github.com/llvm/llvm-project/commit/ccb198dc62d3dad50aa26140a3e899ff5694dca2
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
Log Message:
-----------
[AArch64] NFC: Add RUN lines for streaming-compatible code. (#90617)
The intent is to test lowering of vector operations by scalarization,
for functions that are streaming-compatible (and thus cannot use NEON)
and also don't have the +sve attribute.
The generated code is clearly wrong at the moment, but a series of
patches will follow to fix up all cases to use scalar instructions.
A bit of context:
This work will form the base to decouple SME from SVE later on, as it
will make sure that no NEON instructions are used in
streaming[-compatible] mode. Later this will be followed by a patch that
changes `useSVEForFixedLengthVectors` to only return `true` if SVE is
available for the given runtime mode, at which point I'll change the
`-mattr=+sme -force-streaming-compatible-sve` to `-mattr=+sme
-force-streaming-sve` in the RUN lines, so that the tests are considered
to be executed in Streaming-SVE mode.
Commit: 803e03fbb7cd97461f349fb6e235592681fc1e6c
https://github.com/llvm/llvm-project/commit/803e03fbb7cd97461f349fb6e235592681fc1e6c
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
Log Message:
-----------
[llvm] Revive constructor of 'ResourceSegments'
582c6a82b4bc2ac5cbff803960eeb022bff10168 removed a constructor of
'ResourceSegments' that is needed in LLVM unit tests.
* Revert 582c6a82b4bc2ac5cbff803960eeb022bff10168
* Update the constructor to take a const reference of
`std::list` as pointed out in #89193.
Commit: 67e726a2f73964740e319d554c354a4227f29375
https://github.com/llvm/llvm-project/commit/67e726a2f73964740e319d554c354a4227f29375
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
Log Message:
-----------
[SLP]Transform stores + reverse to strided stores with stride -1, if profitable.
Adds transformation of consecutive vector store + reverse to strided
stores with stride -1, if it is profitable
Reviewers: RKSimon, preames
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/90464
Commit: 576261ac8f803e5142fd8634805e48d0063de4e1
https://github.com/llvm/llvm-project/commit/576261ac8f803e5142fd8634805e48d0063de4e1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/postponed_gathers.ll
M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
Log Message:
-----------
[SLP]Improve reordering for consts, splats and ops from same nodes + improved analysis.
Improved detection of const/splat candidates, their matching and analysis of instructions from same nodes.
Metric: size..text
Program size..text
results results0 diff
results results0 diff
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 92952.00 93096.00 0.2%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 779832.00 780136.00 0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 839923.00 840179.00 0.0%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 392708.00 392740.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1171131.00 1171147.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1391089.00 1391073.00 -0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1391089.00 1391073.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12352780.00 12352636.00 -0.0%
MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE - small
reordering
External/SPEC/CINT2006/464.h264ref/464.h264ref - small better code after
reordering
MultiSource/Applications/JM/lencod/lencod - smaller code with less
shuffles
MultiSource/Applications/JM/ldecod/ldecod - same
External/SPEC/CFP2017rate/511.povray_r/511.povray_r - 2 extra loads
vectorized, smaller code
External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r - better code,
size increased because of more constant vectors.
External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s - same
External/SPEC/CFP2017rate/526.blender_r/526.blender_r - small change in
the vectorized code, some code a bit better, some a bit worse.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/87091
Commit: 442990b93773a6f1fb9e675c3919734fe2846dac
https://github.com/llvm/llvm-project/commit/442990b93773a6f1fb9e675c3919734fe2846dac
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port 8cde1cfc60e3 (LLVM_APPEND_VC_REV for lit)
Commit: df241b19c952b904eec755d9f090737aed437986
https://github.com/llvm/llvm-project/commit/df241b19c952b904eec755d9f090737aed437986
Author: Sean Perry <39927768+perry-ca at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/builtins.h
M clang/lib/Headers/float.h
M clang/lib/Headers/inttypes.h
M clang/lib/Headers/iso646.h
M clang/lib/Headers/limits.h
M clang/lib/Headers/stdalign.h
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stdbool.h
M clang/lib/Headers/stddef.h
M clang/lib/Headers/stdint.h
M clang/lib/Headers/stdnoreturn.h
M clang/lib/Headers/varargs.h
A clang/lib/Headers/zos_wrappers/builtins.h
Log Message:
-----------
[z/OS] add support for z/OS system headers to clang std header wrappers (#89995)
Update the wrappers for the C std headers so that they always forward to
the z/OS system headers.
Commit: 088aa81a545421933254f19cd3c8914a0373b493
https://github.com/llvm/llvm-project/commit/088aa81a545421933254f19cd3c8914a0373b493
Author: Matt Devereau <matthew.devereau at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Config/llvm-config.h.cmake
A llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Constant Fold logf128 calls
This is a second attempt to land #84501 which failed on several targets.
This patch adds the HAS_IEE754_FLOAT128 define which makes the check for
typedef'ing float128 more precise by checking whether __uint128_t is available
and checking if the host does not use __ibm128 which is prevalent on power pc
targets and replaces IEEE754 float128s.
Commit: 57d0d3b4d638d170035f55d79f0202f1042de345
https://github.com/llvm/llvm-project/commit/57d0d3b4d638d170035f55d79f0202f1042de345
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
Log Message:
-----------
[Flang][OpenMP] Handle more character allocatable cases in privatization (#90449)
Fixes #84732, #81947, #81946
Note: This is a fix till we enable delayed privatization.
Commit: 68b863b7fa68a196bcc02d12c028dea7dcd9b97b
https://github.com/llvm/llvm-project/commit/68b863b7fa68a196bcc02d12c028dea7dcd9b97b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port 088aa81a5454 (LLVM_HAS_LOGF128)
If we want to turn this on on some platforms, we'll also want to
define HAS_LOGF128 for AnalysisTest, see
llvm/unittests/Analysis/CMakeLists.txt
Commit: 034912d583617a7029c8efaade4422eaa4593f8c
https://github.com/llvm/llvm-project/commit/034912d583617a7029c8efaade4422eaa4593f8c
Author: Fanbo Meng <fanbo.meng at ibm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[SystemZ][z/OS] Build in ASCII 64 bit mode on z/OS (#90630)
Setting the correct build flags on z/OS to build LLVM as 64-bit ASCII
application.
Commit: efce8a05aa4ef0353e73e63d270a22773e090e75
https://github.com/llvm/llvm-project/commit/efce8a05aa4ef0353e73e63d270a22773e090e75
Author: Matt Devereau <matthew.devereau at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Config/llvm-config.h.cmake
R llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Revert "Constant Fold logf128 calls"
This reverts commit 088aa81a545421933254f19cd3c8914a0373b493.
Commit: 9ebf2f8a67cce570d0752556fed23ff2803aef33
https://github.com/llvm/llvm-project/commit/9ebf2f8a67cce570d0752556fed23ff2803aef33
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
Revert "[gn] port 088aa81a5454 (LLVM_HAS_LOGF128)"
This reverts commit 68b863b7fa68a196bcc02d12c028dea7dcd9b97b.
088aa81a5454 was reverted in efce8a05aa4e.
Commit: 0647b2a3caed3215588477dfc7aaa6bd3b4f8076
https://github.com/llvm/llvm-project/commit/0647b2a3caed3215588477dfc7aaa6bd3b4f8076
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port df241b19c952
Commit: e312f0723cebcfbc899b7b69538dfe86f426d0b4
https://github.com/llvm/llvm-project/commit/e312f0723cebcfbc899b7b69538dfe86f426d0b4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[Offload] Fix CMake detection when it is not found (#90729)
Summary:
This variable could be unset if not found or when building standalone.
We should check for that and set it to true or false.
Fixes: https://github.com/llvm/llvm-project/issues/90708
Commit: 167b50669c03ad888bf2f00c61424bedac43a050
https://github.com/llvm/llvm-project/commit/167b50669c03ad888bf2f00c61424bedac43a050
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libcxx][ci] In picolib build, ask clang for the normalised triple (#90722)
This is needed for a workaround to make sure the link later succeeds. I
don't know the reason for that but it is definitely needed.
https://github.com/llvm/llvm-project/pull/89234 will/wants to correct
the triple normalisation for -none- and this means that clang prior to
19, and clang 19 and above will have different answers and therefore
different library paths.
I don't want to bootstrap a clang just for libcxx CI, or require that
anyone building for Arm do the same, so ask the compiler what the triple
should be.
This will be compatible with 17 and 19 when we do update to that
version.
I'm assuming $CC is what anyone locally would set to override the
compiler, and `cc` is the binary name in our CI containers. It's not
perfect but it should cover most use cases.
Commit: cfca977427230e1731c8552810785ebdd09ca605
https://github.com/llvm/llvm-project/commit/cfca977427230e1731c8552810785ebdd09ca605
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] autogen ArchExtKind enum (#90314)
Re-land 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db. Some Windows builds
were failing because AArch64TargetParserDef.inc is a generated header
which is included transitively into some clang components, but this
information is not available to the build system and therefore there is
a missing edge in the dependency graph. This patch incorporates the
fixes described in ac1ffd3caca12c254e0b8c847aa8ce8e51b6cfbf/D142403.
Thanks to ExtensionSet::toLLVMFeatureList, all values of ArchExtKind
should correspond to a particular -target-feature. The valid values of
-target-feature are in turn defined by SubtargetFeature defs.
Therefore we can generate ArchExtKind from the tablegen data. This is
done by adding an Extension class which derives from SubtargetFeature.
Because the Has* FieldNames do not always correspond to the AEK_
names ("extensions", as defined in TargetParser), and AEK_ names do
not always correspond to -march strings, some additional enum entries
have been added to remap the names. I have renamed these to make the
naming consistent, but split them into a separate PR to keep the diff
reasonable (#90320)
Commit: f07a2edc64650f44bc592d74bb4c99ddde3772d3
https://github.com/llvm/llvm-project/commit/f07a2edc64650f44bc592d74bb4c99ddde3772d3
Author: Gleb Popov <6yearold at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.cpp
Log Message:
-----------
[lldb] Teach LocateExecutableSymbolFile to look into LOCALBASE on FreeBSD (#81355)
FreeBSD ports will now install debuginfo under $LOCALBASE/lib/debug/, where $LOCALBASE is typically /usr/local. On FreeBSD search this path in addition to existing debug info paths.
Relevant change on the FreeBSD side: https://reviews.freebsd.org/D43515
Commit: be5075ab8daf58a0e981e6bda9579a86fba9a748
https://github.com/llvm/llvm-project/commit/be5075ab8daf58a0e981e6bda9579a86fba9a748
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGenCUDA/kernel-stub-name.cu
Log Message:
-----------
[CUDA] make kernel stub ICF-proof (#90155)
MSVC linker merges functions having comdat which have identical set of
instructions. CUDA uses kernel stub function as key to look up kernels
in device executables. If kernel stub function for different kernels are
merged by ICF, incorrect kernels will be launched.
To prevent ICF from merging kernel stub functions, an unique global
variable is created for each kernel stub function having comdat and a
store is added to the kernel stub function. This makes the set of
instructions in each kernel function unique.
Fixes: https://github.com/llvm/llvm-project/issues/88883
Commit: f050660f4a60415cd840f7fba7ac3698c38376d0
https://github.com/llvm/llvm-project/commit/f050660f4a60415cd840f7fba7ac3698c38376d0
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
[OpenMP][TR12] change property of map-type modifier. (#90499)
map-type change to "default" instead "ultimate" from [OpenMP5.2]
The change is allowed map-type to be placed any locations within map
modifiers, besides the last location in the modifiers-list, also
map-type can be omitted afterward.
Commit: 78270cb81bded99bebc6fd8d515bf7cbeff62db4
https://github.com/llvm/llvm-project/commit/78270cb81bded99bebc6fd8d515bf7cbeff62db4
Author: annamthomas <anna at azul.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[UndefOrPoison] [CompileTime] Avoid IDom walk unless required. NFC (#90092)
If the value is not boolean and we are checking for `Undef` or
`UndefOrPoison`, we can avoid the potentially expensive IDom walk.
This should improve compile time for isGuaranteedNotToBeUndefOrPoison
and isGuaranteedNotToBeUndef.
Commit: e22ce615fe31a78857a8574c12a32bddc6da465e
https://github.com/llvm/llvm-project/commit/e22ce615fe31a78857a8574c12a32bddc6da465e
Author: Sean Perry <39927768+perry-ca at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
M llvm/tools/yaml2obj/yaml2obj.cpp
M llvm/utils/lit/lit/builtin_commands/cat.py
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[z/OS] treat text files as text files so auto-conversion is done (#90128)
To support auto-conversion on z/OS text files need to be opened as text files. These changes will fix a number of LIT failures due to text files not being converted to the internal code page.
update a number of tools so they open the text files as text files
add support in the cat.py to open a text file as a text file (Windows will continue to treat all files as binary so new lines are handled correctly)
add env var definitions to enable auto-conversion in the lit config file.
Commit: e83c6ddf46d088713a19d9a662ad8c30d5cd207d
https://github.com/llvm/llvm-project/commit/e83c6ddf46d088713a19d9a662ad8c30d5cd207d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
Log Message:
-----------
[SLP][NFC]Add a test with the non profitable masked gather loads.
Commit: 39e24bdd8ee5f7dd3cce4157167e41a48896e09f
https://github.com/llvm/llvm-project/commit/39e24bdd8ee5f7dd3cce4157167e41a48896e09f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
A llvm/test/CodeGen/AMDGPU/machinelicm-copy-like-instrs.mir
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef.ll
Log Message:
-----------
MachineLICM: Allow hoisting REG_SEQUENCE (#90638)
Commit: 0606747c9664b353fe592069c7b00067ba52d832
https://github.com/llvm/llvm-project/commit/0606747c9664b353fe592069c7b00067ba52d832
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Log Message:
-----------
[AMDGPU] Remove some pointless fallthrough annotations
Commit: 92266885964f8a906a1b877932da1b0c5f0af7ee
https://github.com/llvm/llvm-project/commit/92266885964f8a906a1b877932da1b0c5f0af7ee
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
Log Message:
-----------
[mlir][ArmSME] Add a tests showing liveness issues in the tile allocator (#90447)
This test shows a few cases (not at all complete) where the current
ArmSME tile allocator produces incorrect results. The plan is to resolve
these issues with a future tile allocator that uses liveness
information.
Commit: 167427f5db023308c2908b2e9a23d2de15527a07
https://github.com/llvm/llvm-project/commit/167427f5db023308c2908b2e9a23d2de15527a07
Author: Gang Chen <gangc at amd.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] change order of fp and sp in kernel prologue (#90626)
change order of fp and sp in kernel prologue also related codegen tests
to make it easier to merge code into our downstream branches
Signed-off-by: gangc <gangc at amd.com>
Commit: 2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05
https://github.com/llvm/llvm-project/commit/2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[RemoveDIs] Load into new debug info format by default in LLVM (#89799)
This patch enables parsing and creating modules directly into the new
debug info format. Prior to this patch, all modules were constructed
with the old debug info format by default, and would be converted into
the new format just before running LLVM passes. This is an important
milestone, in that this means that every tool will now be exposed to
debug records, rather than those that run LLVM passes. As far as I've
tested, all LLVM tools/projects now either handle debug records, or
convert them to the old intrinsic format.
There are a few unit tests that need updating for this patch; these are
either cases of tests that previously needed to set the debug info
format to function, or tests that depend on the old debug info format in
some way. There should be no visible change in the output of any LLVM
tool as a result of this patch, although the likelihood of this patch
breaking downstream code means an NFC tag might be a little misleading,
if not technically incorrect:
This will probably break some downstream tools that don't already handle
debug records. If your downstream code breaks as a result of this
change, the simplest fix is to convert the module in question to the old
debug format before you process it, using
`Module::convertFromNewDbgValues()`. For more information about how to
handle debug records or about what has changed, see the migration
document:
https://llvm.org/docs/RemoveDIsDebugInfo.html
Commit: 00821fed09969305b0003d3313c44d1e761a7131
https://github.com/llvm/llvm-project/commit/00821fed09969305b0003d3313c44d1e761a7131
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Module.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
Revert "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)"
A unit test was broken by the above commit:
https://lab.llvm.org/buildbot/#/builders/139/builds/64627
This reverts commit 2f01fd99eb8c8ab3db9aba72c4f00e31e9e60a05.
Commit: fa535452b2508e2878b2697fabf546c997d9ca5d
https://github.com/llvm/llvm-project/commit/fa535452b2508e2878b2697fabf546c997d9ca5d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A llvm/test/tools/llvm-objcopy/MachO/install-name-tool.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Log Message:
-----------
[llvm-install-name-tool] Error on non-Mach-O binaries (#90351)
Previously if you passed an ELF binary it would be silently copied with no changes.
Commit: 6e31714d249f857f15262518327b0f0c9509db72
https://github.com/llvm/llvm-project/commit/6e31714d249f857f15262518327b0f0c9509db72
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[analysis] assume expr is not mutated after analysis to avoid recursive (#90581)
Fixes: #89376.
Commit: 4cbe7607c75486dd17a048a45dd8c72c3dbf7e62
https://github.com/llvm/llvm-project/commit/4cbe7607c75486dd17a048a45dd8c72c3dbf7e62
Author: Alastair Houghton <ahoughton at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
A lldb/test/Shell/ObjectFile/ELF/two-text-sections.yaml
Log Message:
-----------
[LLDB][ELF] Fix section unification to not just use names. (#90099)
Section unification cannot just use names, because it's valid for ELF
binaries to have multiple sections with the same name. We should check
other section properties too.
Fixes #88001.
rdar://124467787
Commit: a00bbcbe7c7b1d5fb437d530555a6940c0b8d06a
https://github.com/llvm/llvm-project/commit/a00bbcbe7c7b1d5fb437d530555a6940c0b8d06a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__config
Log Message:
-----------
[libc++] Remove _LIBCPP_DISABLE_ADDITIONAL_DIAGNOSTICS (#90512)
I strongly suspect nobody ever used that macro since it wasn't very well
known. Furthermore, it only affects a handful of diagnostics and I think
it makes sense to either provide them unconditionally, or to not
provided them at all.
Commit: 6dfaecf077ade4bf003345501fdcfcebc8409ff7
https://github.com/llvm/llvm-project/commit/6dfaecf077ade4bf003345501fdcfcebc8409ff7
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Add patterns for efficient unsigned i4 -> i8 conversion emulation (#89131)
This PR builds on https://github.com/llvm/llvm-project/pull/79494 with an additional path for efficient unsigned `i4 ->i8` type extension for 1D/2D operations. This will impact any i4 -> i8/i16/i32/i64 unsigned extensions as well as sitofp i4 -> f8/f16/f32/f64.
Commit: a764f49b4ae80daa5ba56cf0892bf0ebce48e2b3
https://github.com/llvm/llvm-project/commit/a764f49b4ae80daa5ba56cf0892bf0ebce48e2b3
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/test/CodeGen/DirectX/ContainerData/EmptySignature.ll
Log Message:
-----------
[DirectX backend] generate ISG1, OSG1 part for compute shader (#90508)
Empty ISG1 and OSG1 parts are generated for compute shader since there's
no signature for compute shader.
Fixes #88778
Commit: 754072e9a5c0785560953e237229d0fbdd504d04
https://github.com/llvm/llvm-project/commit/754072e9a5c0785560953e237229d0fbdd504d04
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M libcxx/include/stdexcept
Log Message:
-----------
[NFC][libc++] Fixes comment indention.
The output on eel.is has similar oddities, so I expect this was copy
pasted.
Commit: 477c705cb0d7cc857fad8184faac523f8ef72c84
https://github.com/llvm/llvm-project/commit/477c705cb0d7cc857fad8184faac523f8ef72c84
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ClangScanDeps/modules-extern-unrelated.m
Log Message:
-----------
[clang][modules] Allow including module maps to be non-affecting (#89992)
The dependency scanner only puts top-level affecting module map files on
the command line for explicitly building a module. This is done because
any affecting child module map files should be referenced by the
top-level one, meaning listing them explicitly does not have any meaning
and only makes the command lines longer.
However, a problem arises whenever the definition of an affecting module
lives in a module map that is not top-level. Considering the rules
explained above, such module map file would not make it to the command
line. That's why 83973cf157f7850eb133a4bbfa0f8b7958bad215 started
marking the parents of an affecting module map file as affecting too.
This way, the top-level file does make it into the command line.
This can be problematic, though. On macOS, for example, the Darwin
module lives in "/usr/include/Darwin.modulemap" one of many module map
files included by "/usr/include/module.modulemap". Reporting the parent
on the command line forces explicit builds to parse all the other module
map files included by it, which is not necessary and can get expensive
in terms of file system traffic.
This patch solves that performance issue by stopping marking parent
module map files as affecting, and marking module map files as top-level
whenever they are top-level among the set of affecting files, not among
the set of all known files. This means that the top-level
"/usr/include/module.modulemap" is now not marked as affecting and
"/usr/include/Darwin.modulemap" is.
Commit: 987c036f5413a94aab58bd5e27b653f740a5f7e2
https://github.com/llvm/llvm-project/commit/987c036f5413a94aab58bd5e27b653f740a5f7e2
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[bazel][clang] Add missing dependency for 6e31714d249f857f15262518327b0f0c9509db72
Commit: 6c369cf937b7d9acb98a1fc46b1340cef7703e12
https://github.com/llvm/llvm-project/commit/6c369cf937b7d9acb98a1fc46b1340cef7703e12
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/Basic/CMakeLists.txt
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/Driver/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M llvm/include/module.install.modulemap
M llvm/include/module.modulemap
Log Message:
-----------
[AArch64] Changes missing from cfca97742723 (#90314)
Commit: cf2f32c97f8fece105557c2357be4809cb9c14a1
https://github.com/llvm/llvm-project/commit/cf2f32c97f8fece105557c2357be4809cb9c14a1
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
A llvm/test/CodeGen/MIR/AArch64/calleesavedinfovalid.mir
M llvm/test/CodeGen/MIR/Generic/frame-info.mir
Log Message:
-----------
[MIR] Serialize MachineFrameInfo::isCalleeSavedInfoValid() (#90561)
In case of functions without a stack frame no "stack" field is
serialized into MIR which leads to isCalleeSavedInfoValid being false
when reading a MIR file back in. To fix this we should serialize
MachineFrameInfo::isCalleeSavedInfoValid() into MIR.
Commit: 7396ab1210a2aeee6bab5b73ec6d02975ba51b93
https://github.com/llvm/llvm-project/commit/7396ab1210a2aeee6bab5b73ec6d02975ba51b93
Author: Nicolas Miller <nicolas.miller at codeplay.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/rotate.ll
Log Message:
-----------
[NVPTX] Fix 64 bits rotations with large shift values (#89399)
ROTL and ROTR can take a shift amount larger than the element size, in
which case the effective shift amount should be the shift amount modulo
the element size.
This patch adds the modulo step when the shift amount isn't known at
compile time. Without it the existing implementation would end up
shifting beyond the type size and give incorrect results.
Commit: 09f4b06dde65adcd077bd1d10f1165083c1fe410
https://github.com/llvm/llvm-project/commit/09f4b06dde65adcd077bd1d10f1165083c1fe410
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/MC/RISCV/invalid-attribute.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Refactor profile selection in RISCVISAInfo::parseArchString. (#90700)
Instead of hardcoding the 4 current profile prefixes, treat profile
selection as a fallback if we don't find "rv32" or "rv64".
Update the error message accordingly.
Commit: cf3c714e4bd7b8a68793f2827080fe3388ae8bb1
https://github.com/llvm/llvm-project/commit/cf3c714e4bd7b8a68793f2827080fe3388ae8bb1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Merge RISCVISAInfo::updateFLen/MinVLen/MaxELen into a single function. (#90665)
This simplifies the callers.
Commit: 28869a704ef59471cee6c750f2566b133b0ff391
https://github.com/llvm/llvm-project/commit/28869a704ef59471cee6c750f2566b133b0ff391
Author: Jan Voung <jvoung at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lld/test/COFF/thinlto-index-only.ll
M lld/test/ELF/lto/thinlto-emit-index.ll
M lld/test/ELF/lto/thinlto-index-only.ll
M lld/test/MachO/thinlto-emit-index.ll
M lld/test/MachO/thinlto-index-only.ll
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/tools/gold/X86/thinlto.ll
M llvm/test/tools/llvm-lto/thinlto.ll
Log Message:
-----------
Reapply "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610) (#90692)
This reverts commit 2aabfc811670beb843074c765c056fff4a7b443b.
Add fixes to LLD and Gold tests missed in original change.
Co-authored-by: Jan Voung <jvoung at google.com>
Commit: d1b3648ed9da1ea8f1ca62a150b519f9d08fffaf
https://github.com/llvm/llvm-project/commit/d1b3648ed9da1ea8f1ca62a150b519f9d08fffaf
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang] always run PolymorphicOpConversion sequentially (#90721)
It was pointed out in post commit review of
https://github.com/llvm/llvm-project/pull/90597 that the pass should
never have been run in parallel over all functions (and now other top
level operations) in the first place. The mutex used in the pass was
ineffective at preventing races since each instance of the pass would
have a different mutex.
Commit: aca511734f5ff6204fdc65427566c8bd3b810a24
https://github.com/llvm/llvm-project/commit/aca511734f5ff6204fdc65427566c8bd3b810a24
Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/fcntl_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_f_owner_ex.h
A libc/hdr/types/struct_flock.h
A libc/hdr/types/struct_flock64.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/fcntl-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_f_owner_ex.h
A libc/include/llvm-libc-types/struct_flock.h
A libc/include/llvm-libc-types/struct_flock64.h
M libc/spec/posix.td
M libc/src/fcntl/CMakeLists.txt
A libc/src/fcntl/fcntl.h
M libc/src/fcntl/linux/CMakeLists.txt
A libc/src/fcntl/linux/fcntl.cpp
M libc/test/src/fcntl/CMakeLists.txt
A libc/test/src/fcntl/fcntl_test.cpp
Log Message:
-----------
[libc] Implement fcntl() function (#89507)
Fixes #84968.
Implements the `fcntl()` function defined in the `fcntl.h` header.
Commit: 1ca600586a61cee41e117a188d880417de3e1c00
https://github.com/llvm/llvm-project/commit/1ca600586a61cee41e117a188d880417de3e1c00
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Support more trivial expressions. (#90414)
Treat a compound operator such as |=, array subscription, sizeof, and
non-type template parameter as trivial so long as subexpressions are
also trivial.
Also treat true/false boolean literal as trivial.
Commit: 91fef0013f2668d1dc0623ede21cf4048d9a733e
https://github.com/llvm/llvm-project/commit/91fef0013f2668d1dc0623ede21cf4048d9a733e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lld/ELF/OutputSections.cpp
Log Message:
-----------
[ELF] Catch zlib deflateInit2 error
The function may return Z_MEM_ERROR or Z_STREAM_ERR. The former does not
have a good way of testing. The latter will be possible with a pending
change that allows setting the compression level, which will come with a
test.
Commit: 6d44a1ef55b559e59d725b07ffe1da988b4e5f1c
https://github.com/llvm/llvm-project/commit/6d44a1ef55b559e59d725b07ffe1da988b4e5f1c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/ELF/compress-sections.s
M lld/test/ELF/compressed-debug-level.test
Log Message:
-----------
[ELF] Adjust --compress-sections to support compression level
zstd excels at scaling from low-ratio-very-fast to
high-ratio-pretty-slow. Some users prioritize speed and prefer disk read
speed, while others focus on achieving the highest compression ratio
possible, similar to traditional high-ratio codecs like LZMA.
Add an optional `level` to `--compress-sections` (#84855) to cater to
these diverse needs. While we initially aimed for a one-size-fits-all
approach, this no longer seems to work.
(https://richg42.blogspot.com/2015/11/the-lossless-decompression-pareto.html)
When --compress-debug-sections is used together, make
--compress-sections take precedence since --compress-sections is usually
more specific.
Remove the level distinction between -O/-O1 and -O2 for
--compress-debug-sections=zlib for a more consistent user experience.
Pull Request: https://github.com/llvm/llvm-project/pull/90567
Commit: f0fbccb15384393a2ede3328517c1050e9f468ae
https://github.com/llvm/llvm-project/commit/f0fbccb15384393a2ede3328517c1050e9f468ae
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang-tools-extra/test/CMakeLists.txt
M clang-tools-extra/test/lit.site.cfg.py.in
Log Message:
-----------
[clang-tidy] Enable plugin tests with LLVM_INSTALL_TOOLCHAIN_ONLY (#90370)
The only reason for the removed condition was that there was a
dependency for `CTTestTidyModule` on the `clang-tidy-headers` target,
which was only created under the same `NOT LLVM_INSTALL_TOOLCHAIN_ONLY`
condition. It looks like this target is not needed for
`CTTestTidyModule` to build and run, so the dependency can be removed
along with the condition.
See also https://reviews.llvm.org/D111100 for earlier discussions.
Commit: 71113047298ccb92e6c636a535f0f855a04ee0db
https://github.com/llvm/llvm-project/commit/71113047298ccb92e6c636a535f0f855a04ee0db
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
Log Message:
-----------
[flang] Fix CHECK() crash in module file generator (#90234)
A sanity CHECK() in mod-file.cpp needs to allow for USE association of a
derived type that has the same name as a locally defined generic
interface.
Fixes https://github.com/llvm/llvm-project/issues/90192.
Commit: 465807eedcbf571d43d38e7534f38cffd5f83bec
https://github.com/llvm/llvm-project/commit/465807eedcbf571d43d38e7534f38cffd5f83bec
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/call14.f90
M flang/test/Semantics/resolve58.f90
Log Message:
-----------
[flang] Catch missing "not a dummy argument" cases (#90268)
Declaration checking is looking for inappropriate usage of the INTENT,
VALUE, & OPTIONAL attributes in multiple places, and some oddball cases
like ENTRY points are not checked. Centralize the check for attributes
that apply only to dummy arguments into one spot.
Commit: b88d21127f31c04139281de49dc7be7671bf47d8
https://github.com/llvm/llvm-project/commit/b88d21127f31c04139281de49dc7be7671bf47d8
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/include/lldb/API/LLDB.h
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
Install generated API headers into LLDB.framework (#90666)
Commit: e846778e52f8586b5092c2fd4cdbec2334e31770
https://github.com/llvm/llvm-project/commit/e846778e52f8586b5092c2fd4cdbec2334e31770
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Make CallInst optional for VPWidenCallRecipe (NFCI).
Replace relying on the underling CallInst for looking up the called
function and its types by instead adding the called function as operand,
in line with how called functions are handled in CallInst.
Operand bundles, metadata and fast-math flags are optionally used if
there's an underlying CallInst.
This enables creating VPWidenCallRecipes without requiring an underlying
IR instruction.
Commit: 59ef94d7cf3cb4f5aac514a72d00d1f0fa4a9fb3
https://github.com/llvm/llvm-project/commit/59ef94d7cf3cb4f5aac514a72d00d1f0fa4a9fb3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
Log Message:
-----------
[SLP]Do not include the cost of and -1, <v> and emit just <v> after MinBitWidth.
After minbitwidth analysis, and <v>, (power_of_2 - 1 const) can be
transformed into just an <v>, (all_ones const), which can be ignored at
the cost estimation and at the codegen. x264 benchmark has this pattern.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/90739
Commit: fc382db239abea827e7f2ad7a0e18eee17ff5709
https://github.com/llvm/llvm-project/commit/fc382db239abea827e7f2ad7a0e18eee17ff5709
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
Log Message:
-----------
[SLP]Improve comparison of shuffled loads/masked gathers by adding GEP cost.
In some cases masked gather is less profitable than insert-subvector of
consecutive/strided stores. SLP has this kind of analysis, but need to
improve it by adding the cost of the GEP analysis.
Also, the GEP cost estimation for masked gather is fixed.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/90737
Commit: f2d71305792dbcc48c67d9cfde4d8c33c582fb74
https://github.com/llvm/llvm-project/commit/f2d71305792dbcc48c67d9cfde4d8c33c582fb74
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Simplify DataAggregator::getFallthroughsInTrace (#90752)
Commit: c4e8e2c67bbfff2d1b23210c375c173aa05e3848
https://github.com/llvm/llvm-project/commit/c4e8e2c67bbfff2d1b23210c375c173aa05e3848
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
Log Message:
-----------
Skip timing-sensitive test under ASAN
Commit: dcbf0fcd0d5572f7001ebdd3bda6062593ec172b
https://github.com/llvm/llvm-project/commit/dcbf0fcd0d5572f7001ebdd3bda6062593ec172b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
A lldb/scripts/generate-sbapi-dwarf-enum.py
M lldb/source/API/CMakeLists.txt
M lldb/utils/TableGen/CMakeLists.txt
R lldb/utils/TableGen/LLDBSBAPIDWARFEnum.cpp
M lldb/utils/TableGen/LLDBTableGen.cpp
Log Message:
-----------
[lldb] Use Python script to generate SBLanguages.h (#90753)
Use a Python script to generate SBLanguages.h instead of piggybacking on
LLDB TableGen. This addresses Nico Weber's post-commit feedback.
Commit: fa9e96a2e55226b1f9f9744f42ac5e925297f819
https://github.com/llvm/llvm-project/commit/fa9e96a2e55226b1f9f9744f42ac5e925297f819
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
Log Message:
-----------
Skip pexpect test under ASAN
Commit: 82383d5f3fa8289688dcd314f7a89ce5599bbdb2
https://github.com/llvm/llvm-project/commit/82383d5f3fa8289688dcd314f7a89ce5599bbdb2
Author: Tai Ly <tai.ly at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Rename Tosa Div op to IntDiv Op (#80047)
This patch renames Tosa Div Op to IntDiv Op to align with the TOSA Spec.
<!-- Reviewable:start -->
- - -
This change is [<img src="https://reviewable.io/review_button.svg"
height="34" align="absmiddle"
alt="Reviewable"/>](https://reviewable.io/reviews/llvm/llvm-project/80047)
<!-- Reviewable:end -->
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: b8c301f6e22a6a5ebec4b8870327237eb94c5b15
https://github.com/llvm/llvm-project/commit/b8c301f6e22a6a5ebec4b8870327237eb94c5b15
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M lldb/scripts/generate-sbapi-dwarf-enum.py
Log Message:
-----------
Fix the regex in the sbapi python script
Commit: f2e808932ceddf503897d0b5c75bc22fb3262349
https://github.com/llvm/llvm-project/commit/f2e808932ceddf503897d0b5c75bc22fb3262349
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Frontend/FrontendAction.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Driver/message-merging.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Intermix messages from parser and semantic analysis (#90654)
When there are one or more fatal error messages produced by the parser,
semantic analysis is not performed. But when there are messages produced
by the parser and none of them are fatal, those messages are emitted to
the user before compilation continues with semantic analysis, and any
messages produced by semantics are emitted after the messages from
parsing.
This can be confusing for the user, as the messages may no longer all be
in source file location order. It also makes it difficult to write tests
that check for both non-fatal messages from parsing as well as messages
from semantics using inline CHECK: or other expected messages in test
source code.
This patch ensures that if semantic analysis is performed, and non-fatal
messages were produced by the parser, that all the messages will be
combined and emitted in source file order.
Commit: a1c12794226ffde0a84c96b9188a266eafd85fb3
https://github.com/llvm/llvm-project/commit/a1c12794226ffde0a84c96b9188a266eafd85fb3
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
Log Message:
-----------
[WebAssembly] Add missing feature methods (#90644)
Commit: 3502d340c9276f1828da9db72f83e5e25b163b8b
https://github.com/llvm/llvm-project/commit/3502d340c9276f1828da9db72f83e5e25b163b8b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
Log Message:
-----------
[flang] Adjust transformational folding to match runtime (#90132)
The transformational intrinsic functions MATMUL, DOT_PRODUCT, and NORM2
all involve summing up intermediate products into accumulators. In the
constant folding library, this is done with extended precision Kahan
summation for REAL and COMPLEX arguments, but in the runtime
implementations it is not, and this leads to discrepancies between
folded results and dynamic results.
Disable the use of Kahan summation in folding to resolve these
discrepancies, but don't discard the code, in case we want to add Kahan
summation in the runtime for some or all of these intrinsic functions.
Commit: 37277d8da8afd3291240a14a19193024065cf7ca
https://github.com/llvm/llvm-project/commit/37277d8da8afd3291240a14a19193024065cf7ca
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/test/DebugInfo/Generic/gmlt.test
Log Message:
-----------
Modify gmlt.test to XFAIL on apple platforms correctly. (#90779)
Commit: 505f6da1961ab55c601d7239648c53ce863b5d70
https://github.com/llvm/llvm-project/commit/505f6da1961ab55c601d7239648c53ce863b5d70
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Evaluate/common.cpp
M flang/lib/Evaluate/fold-character.cpp
M flang/lib/Evaluate/fold-complex.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/host.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/program-tree.cpp
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Driver/prescanner-diag.f90
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Preprocessing/include-comment.F90
M flang/test/Semantics/kinds04_q10.f90
Log Message:
-----------
[flang] Ensure all warning/portability messages are guarded by Should… (#90518)
…Warn()
Many warning messages were being emitted unconditionally. Ensure that
all warnings are conditional on a true result from a call to
common::LanguageFeatureControl::ShouldWarn() so that it is easy for a
driver to disable them all, or, in the future, to provide per-warning
control over them.
Commit: 08b135aee1f4945e5289ec00c08fd0710c889a04
https://github.com/llvm/llvm-project/commit/08b135aee1f4945e5289ec00c08fd0710c889a04
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M .github/CODEOWNERS
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/NameResolver.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/fragment-lite.s
A bolt/test/X86/register-fragments-bolt-symbols.s
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
M clang-tools-extra/test/CMakeLists.txt
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/lit.site.cfg.py.in
M clang/cmake/caches/Release.cmake
M clang/docs/LanguageExtensions.rst
M clang/docs/LibTooling.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/InstallAPI/FileList.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/Tooling/CommonOptionsParser.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/builtins.h
M clang/lib/Headers/float.h
M clang/lib/Headers/inttypes.h
M clang/lib/Headers/iso646.h
M clang/lib/Headers/limits.h
M clang/lib/Headers/stdalign.h
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stdbool.h
M clang/lib/Headers/stddef.h
M clang/lib/Headers/stdint.h
M clang/lib/Headers/stdnoreturn.h
M clang/lib/Headers/varargs.h
A clang/lib/Headers/zos_wrappers/builtins.h
M clang/lib/InstallAPI/FileList.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/test/AST/HLSL/this-reference-template.hlsl
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/functions.cpp
A clang/test/AST/Interp/opencl.cl
M clang/test/AST/Interp/records.cpp
A clang/test/AST/ast-dump-pragma-unroll.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
A clang/test/AST/ast-print-openacc-compute-construct.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-regression-traverse-decl-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-invalidate.c
M clang/test/Analysis/stream-non-posix-function.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream-note.c
M clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/stream.cpp
A clang/test/CXX/class/class.mem/class.mem.general/p8.cpp
M clang/test/CXX/drs/cwg2149.cpp
M clang/test/CXX/drs/cwg650.cpp
M clang/test/CXX/drs/dr20xx.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
A clang/test/CXX/except/except.spec/p13-friend.cpp
M clang/test/CXX/expr/expr.const/p5-26.cpp
A clang/test/CXX/stmt.stmt/stmt.return/p6.cpp
A clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
M clang/test/ClangScanDeps/modules-extern-unrelated.m
A clang/test/CodeGen/LoongArch/tls-dialect.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/builtins-reduction-math.c
M clang/test/CodeGen/regparm-flag.c
M clang/test/CodeGenCUDA/kernel-stub-name.cu
M clang/test/CodeGenCXX/blocks.cpp
A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/mangle-ms-vector-types.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/CodeGenCXX/pragma-unroll.cpp
A clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
M clang/test/CodeGenObjC/arc-blocks-exceptions.m
M clang/test/CodeGenObjC/arc-blocks.m
M clang/test/Driver/amdgpu-toolchain.c
A clang/test/Driver/experimental-late-parse-attributes.c
M clang/test/Driver/fast-math.c
M clang/test/Driver/fp-model.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/solaris-ld.c
M clang/test/Driver/tls-dialect.c
M clang/test/Index/annotate-nested-name-specifier.cpp
M clang/test/Lexer/cxx-features.cpp
A clang/test/Misc/cc1as-relax-all.s
M clang/test/Misc/target-invalid-cpu-note.c
A clang/test/Modules/force-transitive-changes.cppm
A clang/test/Modules/implicit-module-no-timestamp.cpp
M clang/test/Modules/pr67893.cppm
A clang/test/Modules/pr75057.cppm
A clang/test/Modules/pr88400.cppm
A clang/test/Modules/pr90259.cppm
M clang/test/Modules/search-partitions.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/test/Parser/altivec.c
M clang/test/Parser/cxx-altivec.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/pragma-unroll.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/wasm-target-features.c
A clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/convertvector.c
M clang/test/Sema/zvector.c
M clang/test/Sema/zvector2.c
A clang/test/SemaCXX/PR68885.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/destructor.cpp
A clang/test/SemaCXX/identical-type-primary-partial-specialization.cpp
M clang/test/SemaCXX/member-expr.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/unused.cpp
M clang/test/SemaObjC/format-strings-oslog.m
A clang/test/SemaOpenACC/compute-construct-private-clause.c
A clang/test/SemaOpenACC/compute-construct-private-clause.cpp
A clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenCL/vec_step.cl
M clang/test/SemaTemplate/instantiate-function-1.cpp
M clang/test/Unit/lit.cfg.py
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/creduce-clang-crash.py
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/open_projects.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/make_cxx_dr_status
M compiler-rt/lib/dfsan/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/flags.inc
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/docs/FlangDriver.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Frontend/FrontendAction.h
M flang/include/flang/Lower/Mangler.h
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
A flang/include/flang/Optimizer/Builder/Runtime/Main.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/include/flang/Tools/PointerModels.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/common.cpp
M flang/lib/Evaluate/fold-character.cpp
M flang/lib/Evaluate/fold-complex.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/host.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/VectorSubscripts.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/BoxValue.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/Complex.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
A flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CGOps.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/FortranVariableInterface.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
A flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/program-tree.cpp
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/runtime/CMakeLists.txt
R flang/runtime/FortranMain/CMakeLists.txt
R flang/runtime/FortranMain/Fortran_main.c
M flang/runtime/environment.cpp
M flang/runtime/file.cpp
M flang/runtime/namelist.cpp
M flang/runtime/unit.cpp
M flang/runtime/utf.cpp
M flang/test/CMakeLists.txt
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
A flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/dynamic-linker.f90
M flang/test/Driver/emit-mlir.f90
M flang/test/Driver/linker-flags.f90
A flang/test/Driver/message-merging.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/no-duplicate-main.f90
M flang/test/Driver/prescanner-diag.f90
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/cuf.mlir
A flang/test/Fir/dummy-scope-codegen.fir
A flang/test/Fir/dummy_scope.fir
M flang/test/HLFIR/declare-codegen.fir
A flang/test/HLFIR/dummy_scope.fir
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
R flang/test/Lower/OpenMP/FIR/array-bounds.f90
R flang/test/Lower/OpenMP/FIR/atomic-capture.f90
R flang/test/Lower/OpenMP/FIR/atomic-read.f90
R flang/test/Lower/OpenMP/FIR/atomic-update.f90
R flang/test/Lower/OpenMP/FIR/atomic-write.f90
R flang/test/Lower/OpenMP/FIR/copyin.f90
R flang/test/Lower/OpenMP/FIR/critical.f90
R flang/test/Lower/OpenMP/FIR/declare-target-data.f90
R flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
R flang/test/Lower/OpenMP/FIR/default-clause.f90
R flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
R flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
R flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
R flang/test/Lower/OpenMP/FIR/flush.f90
R flang/test/Lower/OpenMP/FIR/if-clause.f90
R flang/test/Lower/OpenMP/FIR/is-device.f90
R flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
R flang/test/Lower/OpenMP/FIR/location.f90
R flang/test/Lower/OpenMP/FIR/loop-combined.f90
R flang/test/Lower/OpenMP/FIR/map-component-ref.f90
R flang/test/Lower/OpenMP/FIR/master.f90
R flang/test/Lower/OpenMP/FIR/omp-declare-target-program-var.f90
R flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
R flang/test/Lower/OpenMP/FIR/ordered-threads.f90
R flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
R flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
R flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
R flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
R flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
R flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
R flang/test/Lower/OpenMP/FIR/parallel-sections.f90
R flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
R flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
R flang/test/Lower/OpenMP/FIR/parallel.f90
R flang/test/Lower/OpenMP/FIR/pre-fir-tree-loop.f90
R flang/test/Lower/OpenMP/FIR/pre-fir-tree01.f90
R flang/test/Lower/OpenMP/FIR/private-commonblock.f90
R flang/test/Lower/OpenMP/FIR/requires-common.f90
R flang/test/Lower/OpenMP/FIR/requires-notarget.f90
R flang/test/Lower/OpenMP/FIR/requires.f90
R flang/test/Lower/OpenMP/FIR/rtl-flags.f90
R flang/test/Lower/OpenMP/FIR/sections-pft.f90
R flang/test/Lower/OpenMP/FIR/sections.f90
R flang/test/Lower/OpenMP/FIR/simd.f90
R flang/test/Lower/OpenMP/FIR/simple-barrier.f90
R flang/test/Lower/OpenMP/FIR/single.f90
R flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
R flang/test/Lower/OpenMP/FIR/target.f90
R flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
R flang/test/Lower/OpenMP/FIR/task.f90
R flang/test/Lower/OpenMP/FIR/taskgroup.f90
R flang/test/Lower/OpenMP/FIR/taskwait.f90
R flang/test/Lower/OpenMP/FIR/taskyield.f90
R flang/test/Lower/OpenMP/FIR/teams.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
R flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
R flang/test/Lower/OpenMP/FIR/unstructured.f90
R flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
R flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
R flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
R flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
R flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
R flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
R flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
R flang/test/Lower/OpenMP/FIR/wsloop.f90
A flang/test/Lower/OpenMP/Todo/reduction-array-intrinsic.f90
A flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
M flang/test/Lower/convert.f90
M flang/test/Lower/environment-defaults.f90
M flang/test/Preprocessing/include-comment.F90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/cuf03.cuf
A flang/test/Semantics/cuf13.cuf
M flang/test/Semantics/kinds04_q10.f90
M flang/test/Semantics/resolve58.f90
A flang/test/Transforms/debug-fn-info.f90
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/tools/bbc/bbc.cpp
M flang/tools/flang-driver/CMakeLists.txt
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
M flang/unittests/Optimizer/RTBuilder.cpp
M libc/config/baremetal/api.td
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/c23.rst
M libc/docs/math/index.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/fcntl_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_f_owner_ex.h
A libc/hdr/types/struct_flock.h
A libc/hdr/types/struct_flock64.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/fcntl-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/char16_t.h
A libc/include/llvm-libc-types/char32_t.h
A libc/include/llvm-libc-types/char8_t.h
A libc/include/llvm-libc-types/struct_f_owner_ex.h
A libc/include/llvm-libc-types/struct_flock.h
A libc/include/llvm-libc-types/struct_flock64.h
M libc/spec/posix.td
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/__support/fixed_point/sqrt.h
M libc/src/fcntl/CMakeLists.txt
A libc/src/fcntl/fcntl.h
M libc/src/fcntl/linux/CMakeLists.txt
A libc/src/fcntl/linux/fcntl.cpp
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nearbyintf128.cpp
A libc/src/math/generic/scalbnf128.cpp
A libc/src/math/nearbyintf128.h
A libc/src/math/scalbnf128.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/fcntl/CMakeLists.txt
A libc/test/src/fcntl/fcntl_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/scalbnf128_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/NearbyIntTest.h
A libc/test/src/math/smoke/nearbyint_test.cpp
A libc/test/src/math/smoke/nearbyintf128_test.cpp
A libc/test/src/math/smoke/nearbyintf_test.cpp
A libc/test/src/math/smoke/nearbyintl_test.cpp
A libc/test/src/math/smoke/scalbnf128_test.cpp
M libc/test/src/stdfix/ISqrtTest.h
M libc/test/src/stdfix/SqrtTest.h
M libc/test/src/stdfix/uksqrtui_test.cpp
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Generic-cxx20.cmake
M libcxx/cmake/caches/Generic-cxx23.cmake
M libcxx/cmake/caches/Generic-cxx26.cmake
M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
M libcxx/cmake/caches/Generic-no-exceptions.cmake
M libcxx/cmake/caches/Generic-no-experimental.cmake
M libcxx/cmake/caches/Generic-no-filesystem.cmake
M libcxx/cmake/caches/Generic-no-localization.cmake
M libcxx/cmake/caches/Generic-no-random_device.cmake
M libcxx/cmake/caches/Generic-no-threads.cmake
M libcxx/cmake/caches/Generic-no-unicode.cmake
M libcxx/cmake/caches/Generic-no-wide-characters.cmake
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__config
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__type_traits/datasizeof.h
M libcxx/include/__utility/no_destroy.h
M libcxx/include/format
M libcxx/include/mutex
M libcxx/include/stdexcept
M libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
R libcxx/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
A libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
A libcxx/test/libcxx/utilities/no_destroy.pass.cpp
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp
M libcxx/test/std/numerics/complex.number/complex.tuple/get.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/ctad.compile.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp
M libcxx/test/std/strings/string.conversions/stol.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_escaped_output_table.py
M lld/COFF/MinGW.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/COFF/thinlto-index-only.ll
M lld/test/ELF/compress-sections.s
M lld/test/ELF/compressed-debug-level.test
M lld/test/ELF/lto/thinlto-emit-index.ll
M lld/test/ELF/lto/thinlto-index-only.ll
M lld/test/MachO/thinlto-emit-index.ll
M lld/test/MachO/thinlto-index-only.ll
M lld/test/wasm/init-fini.ll
M lld/tools/lld/CMakeLists.txt
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/resources/lldbplatformpackets.md
M lldb/docs/use/tutorial.rst
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/include/lldb/Expression/Expression.h
M lldb/include/lldb/Expression/LLVMUserExpression.h
M lldb/include/lldb/Expression/UserExpression.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-private-types.h
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
A lldb/scripts/generate-sbapi-dwarf-enum.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBExpressionOptions.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Expression/UtilityFunction.cpp
M lldb/source/Host/posix/PipePosix.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolLocator/Default/SymbolLocatorDefault.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeSystem.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/driver/batch_mode/TestBatchMode.py
M lldb/test/API/driver/job_control/TestJobControl.py
M lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py
M lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
M lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
A lldb/test/Shell/ObjectFile/ELF/two-text-sections.yaml
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
M lldb/utils/TableGen/LLDBTableGen.cpp
M lldb/utils/TableGen/LLDBTableGenBackends.h
M lldb/utils/lldb-dotest/lldb-dotest.in
M llvm/CMakeLists.txt
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/cmake/modules/llvm-driver-template.cpp.in
M llvm/docs/ConvergenceAndUniformity.rst
M llvm/docs/ConvergentOperations.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/ADT/TypeSwitch.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
R llvm/include/llvm/CodeGen/FreeMachineFunction.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MIRParser/MIRParser.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
A llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/include/llvm/Support/Allocator.h
M llvm/include/llvm/Support/RISCVISAUtils.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Support/YAMLTraits.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
M llvm/include/module.install.modulemap
M llvm/include/module.modulemap
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/BinaryFormat/ELF.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
R llvm/lib/CodeGen/FreeMachineFunction.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
A llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/ProfileSummary.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/Support/Windows/Signals.inc
M llvm/lib/Support/YAMLTraits.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMPredicates.td
M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
M llvm/lib/Target/ARM/ARMRegisterInfo.td
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
A llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/WebAssembly/CMakeLists.txt
M llvm/lib/Target/WebAssembly/WebAssembly.h
A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/GlobalStatus.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Analysis/CostModel/AArch64/getIntrinsicInstrCost-vector-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/splice.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/splice.ll
M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
A llvm/test/Bitcode/upgrade-vector-interleave2-deinterleave2-intrinsics.ll
A llvm/test/Bitcode/upgrade-vector-reverse-intrinsic.ll
A llvm/test/Bitcode/upgrade-vector-splice-intrinsic.ll
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.ll
M llvm/test/CodeGen/AArch64/GlobalISel/store-merging.mir
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/fpmode.ll
M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir
M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-neon.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-neon.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-hs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ps.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-vs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-usersgpr-init.ll
M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/extra-lds-size.ll
A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp32_to_bf16.ll
A llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx10.mir
A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx11.mir
A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx12.mir
M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.msaa.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.wait.ll
A llvm/test/CodeGen/AMDGPU/machinelicm-copy-like-instrs.mir
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
M llvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-sample-waw.mir
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-function-flags.ll
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags1.ll
A llvm/test/CodeGen/ARM/pacbti-indirect-tail-calls-module-flags2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
A llvm/test/CodeGen/DirectX/ContainerData/EmptySignature.ll
M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef.ll
A llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
A llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
A llvm/test/CodeGen/MIR/AArch64/calleesavedinfovalid.mir
M llvm/test/CodeGen/MIR/Generic/frame-info.mir
A llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
M llvm/test/CodeGen/NVPTX/rotate.ll
A llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
A llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
A llvm/test/CodeGen/PowerPC/git_revision.ll
M llvm/test/CodeGen/PowerPC/lit.local.cfg
A llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
A llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir
A llvm/test/CodeGen/PowerPC/peephole-replaceInstr-after-eliminate-extsw.mir
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/CodeGen/RISCV/pr90652.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse-bitrotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
A llvm/test/CodeGen/RISCV/rvv/pr90559.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
A llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/SystemZ/anyregcc.ll
M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
A llvm/test/CodeGen/SystemZ/copy-phys-reg-gr128-to-vr128.mir
A llvm/test/CodeGen/SystemZ/copy-phys-reg-vr128-to-gr128.mir
A llvm/test/CodeGen/SystemZ/foldmem-peep.mir
M llvm/test/CodeGen/SystemZ/fp-add-01.ll
M llvm/test/CodeGen/SystemZ/fp-add-02.ll
M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
M llvm/test/CodeGen/SystemZ/fp-mul-03.ll
M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
M llvm/test/CodeGen/SystemZ/fp-sub-02.ll
A llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
M llvm/test/CodeGen/SystemZ/stackmap.ll
M llvm/test/CodeGen/WebAssembly/unreachable.ll
M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
M llvm/test/CodeGen/X86/avgceils.ll
M llvm/test/CodeGen/X86/avgceilu.ll
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/avgflooru.ll
M llvm/test/CodeGen/X86/avx512bwvl-arith.ll
M llvm/test/CodeGen/X86/cmp.ll
A llvm/test/CodeGen/X86/cmp16.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/memcmp-minsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-minsize.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/named-vector-shuffle-reverse.ll
A llvm/test/CodeGen/X86/pr90668.ll
M llvm/test/DebugInfo/Generic/gmlt.test
M llvm/test/MC/AArch64/SME2/zip-diagnostics.s
M llvm/test/MC/AMDGPU/ds-err.s
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
M llvm/test/MC/AMDGPU/pal-msgpack.s
M llvm/test/MC/LoongArch/Macros/macros-la-bad.s
M llvm/test/MC/LoongArch/Macros/macros-la.s
M llvm/test/MC/LoongArch/Misc/tls-symbols.s
M llvm/test/MC/LoongArch/Relocations/relocations.s
M llvm/test/MC/RISCV/invalid-attribute.s
A llvm/test/MC/RISCV/large-instructions.s
M llvm/test/MC/WebAssembly/global-ctor-dtor.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
A llvm/test/TableGen/GlobalISelEmitter-frameindex.td
M llvm/test/TableGen/riscv-target-def.td
M llvm/test/ThinLTO/X86/distributed_indexes.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
A llvm/test/Transforms/CodeGenPrepare/RISCV/convert-to-eqz.ll
A llvm/test/Transforms/GlobalOpt/atexit-dtor.ll
M llvm/test/Transforms/GlobalOpt/basictest.ll
M llvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
M llvm/test/Transforms/GlobalOpt/stored-once-forward-value.ll
M llvm/test/Transforms/GlobalOpt/tls.ll
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/scalable-vector-array.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/vector-reverse.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/InstSimplify/named-vector-shuffle-reverse.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
A llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
A llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
A llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-to-large-than-bw.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/postponed_gathers.ll
M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll
M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll
M llvm/test/Verifier/invalid-splice.ll
M llvm/test/lit.site.cfg.py.in
M llvm/test/tools/gold/X86/thinlto.ll
M llvm/test/tools/llc/new-pm/pipeline.ll
M llvm/test/tools/llc/new-pm/pipeline.mir
M llvm/test/tools/llc/new-pm/start-stop.ll
M llvm/test/tools/llvm-driver/passthrough-lld.test
M llvm/test/tools/llvm-lto/thinlto.ll
A llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
A llvm/test/tools/llvm-objcopy/MachO/install-name-tool.test
A llvm/test/tools/llvm-rc/Inputs/dialog-with-menu.rc
A llvm/test/tools/llvm-rc/dialog-with-menu.test
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/test/tools/lto/discard-value-names.ll
M llvm/tools/llc/NewPMDriver.cpp
M llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
M llvm/tools/llvm-driver/CMakeLists.txt
M llvm/tools/llvm-mca/CodeRegion.h
M llvm/tools/llvm-mca/llvm-mca.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.cpp
M llvm/tools/llvm-rc/ResourceFileWriter.h
M llvm/tools/llvm-rc/ResourceScriptParser.cpp
M llvm/tools/llvm-rc/ResourceScriptParser.h
M llvm/tools/llvm-rc/ResourceScriptStmt.cpp
M llvm/tools/llvm-rc/ResourceScriptStmt.h
M llvm/tools/llvm-rc/ResourceVisitor.h
M llvm/tools/yaml2obj/yaml2obj.cpp
M llvm/unittests/ADT/StringRefTest.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/BinaryFormat/CMakeLists.txt
A llvm/unittests/BinaryFormat/ELFTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
M llvm/unittests/Frontend/OpenMPCompositionTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
M llvm/unittests/MIR/CMakeLists.txt
R llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
A llvm/utils/gn/secondary/lldb/include/lldb/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/utils/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MIR/BUILD.gn
M llvm/utils/lit/lit/builtin_commands/cat.py
M llvm/utils/lit/lit/llvm/config.py
M llvm/utils/release/test-release.sh
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/BuiltinLocationAttributes.td
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/include/mlir/Tools/lsp-server-support/Transport.h
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/Arith/Utils/CMakeLists.txt
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Tools/PDLL/AST/Types.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
A mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
M mlir/test/Dialect/GPU/outlining.mlir
M mlir/test/Dialect/LLVMIR/constant-folding.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
M mlir/test/Dialect/Linalg/collapse-dim.mlir
M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
A mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
M mlir/test/Dialect/MemRef/runtime-verification.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Dialect/Polynomial/ops.mlir
A mlir/test/Dialect/Polynomial/ops_errors.mlir
M mlir/test/Dialect/Polynomial/types.mlir
A mlir/test/Dialect/SparseTensor/sparse_matmul_one.mlir
M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
A mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
M mlir/unittests/CMakeLists.txt
A mlir/unittests/Tools/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/Transport.cpp
M offload/CMakeLists.txt
A offload/include/Shared/Targets.def.in
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/src/PluginManager.cpp
M openmp/runtime/src/z_Linux_util.cpp
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/e31d66f23c96...08b135aee1f4
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