[all-commits] [llvm/llvm-project] 9b528e: Debuginfod cache use index cache settings and incl...
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Mon Jan 13 09:55:04 PST 2025
Branch: refs/heads/users/vitalybuka/spr/ubsan-pass-fsanitize-skip-hot-cutoff-into-fsanitizebounds
Home: https://github.com/llvm/llvm-project
Commit: 9b528ed38038e39c441927b1fd0220654c253a3c
https://github.com/llvm/llvm-project/commit/9b528ed38038e39c441927b1fd0220654c253a3c
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/unittests/Debuginfod/DebuginfodTests.cpp
Log Message:
-----------
Debuginfod cache use index cache settings and include real file name (#120814)
This PR include two changes:
1. Change debuginfod cache file name to include origin file name, the
new file name would be something like:
llvmcache-13267c5f5d2e3df472c133c8efa45fb3331ef1ea-liblzma.so.5.2.2.debuginfo.dwp
So it will provide more information in image list instead of a plain
llvmcache-123
2. Switch debuginfod cache to use lldb index cache settings. Currently
we don't have proper settings for setting the cache path or the cache
expiration time for debuginfod cache. We want to use the lldb index
cache settings, as they make sense to be in the same place and have the
same TTL.
---------
Co-authored-by: George Hu <georgehuyubo at gmail.com>
Commit: 82aac16ddda8f61d8f547bd127f39b4e81e40464
https://github.com/llvm/llvm-project/commit/82aac16ddda8f61d8f547bd127f39b4e81e40464
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Remove obsolete exclusion from glob.
lib/Tooling/NodeIntrospection.cpp was deleted in commit
371eccd5dfed88c8e76449233d8388c12be3464b so excluding it from the glob
does nothing.
Commit: df808df8f73e30d288e4dfdef5e527bc392f3bce
https://github.com/llvm/llvm-project/commit/df808df8f73e30d288e4dfdef5e527bc392f3bce
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M flang/module/cudadevice.f90
A flang/test/Lower/CUDA/cuda-intrinsic.cuf
Log Message:
-----------
[flang][cuda] Add bind(c) interfaces for __fadd_rd and __fadd_ru (#122535)
Function like `__fadd_rd ` and `__fadd_ru ` need to be converted to the
cuda equivalent.
Commit: 0de18e72c607c1b52be2c60d45cf2f9fc3af4542
https://github.com/llvm/llvm-project/commit/0de18e72c607c1b52be2c60d45cf2f9fc3af4542
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/test/Frontend/ftime-report-template-decl.cpp
M llvm/include/llvm/Support/Timer.h
M llvm/lib/Support/Timer.cpp
Log Message:
-----------
-ftime-report: reorganize timers
The code generation time is unclear in the -ftime-report output:
* The two clang timers "Code Generation Time" and "LLVM IR Generation
Time" are in the default group "Miscellaneous Ungrouped Timers".
* There is also a "Clang front-end time" group, which actually includes
code generation time.
```
===-------------------------------------------------------------------------===
Miscellaneous Ungrouped Timers
===-------------------------------------------------------------------------===
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.0611 ( 1.7%) 0.0099 ( 4.4%) 0.0710 ( 1.9%) 0.0713 ( 1.9%) LLVM IR Generation Time
3.5140 ( 98.3%) 0.2165 ( 95.6%) 3.7306 ( 98.1%) 3.7342 ( 98.1%) Code Generation Time
3.5751 (100.0%) 0.2265 (100.0%) 3.8016 (100.0%) 3.8055 (100.0%) Total
...
===-------------------------------------------------------------------------===
Clang front-end time report
===-------------------------------------------------------------------------===
Total Execution Time: 3.9108 seconds (3.9146 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
3.6802 (100.0%) 0.2306 (100.0%) 3.9108 (100.0%) 3.9146 (100.0%) Clang front-end timer
3.6802 (100.0%) 0.2306 (100.0%) 3.9108 (100.0%) 3.9146 (100.0%) Total
```
This patch
* renames "Clang front-end time report" (FrontendAction time) to "Clang
time report",
* renames "Clang front-end" to "Front end",
* moves "LLVM IR Generation" into the group,
* replaces "Code Generation time" with "Optimizer" (middle end) and
"Machine code generation" (back end).
```
% clang -c sqlite3.i -w -ftime-report -mllvm -sort-timers=0
...
===-------------------------------------------------------------------------===
Clang time report
===-------------------------------------------------------------------------===
Total Execution Time: 1.5922 seconds (1.5972 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.5107 ( 35.9%) 0.0105 ( 6.2%) 0.5211 ( 32.7%) 0.5222 ( 32.7%) Front end
0.2464 ( 17.3%) 0.0340 ( 20.0%) 0.2804 ( 17.6%) 0.2814 ( 17.6%) LLVM IR generation
0.6240 ( 43.9%) 0.1235 ( 72.7%) 0.7475 ( 47.0%) 0.7503 ( 47.0%) Machine code generation
0.0413 ( 2.9%) 0.0018 ( 1.0%) 0.0431 ( 2.7%) 0.0433 ( 2.7%) Optimizer
1.4224 (100.0%) 0.1698 (100.0%) 1.5922 (100.0%) 1.5972 (100.0%) Total
```
Pull Request: https://github.com/llvm/llvm-project/pull/122225
Commit: 18078605046c50f01f31e826ea3591f99019de38
https://github.com/llvm/llvm-project/commit/18078605046c50f01f31e826ea3591f99019de38
Author: amosher-nvidia <amosher at nvidia.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/test/ELF/linkerscript/filename-spec.s
Log Message:
-----------
[lld][ELF] Handle archive special casing in Input Sections (#119293)
According to the binutils spec:
https://sourceware.org/binutils/docs/ld/Input-Section-Basics.html
You should be able to specify all files in an archive using this syntax
`archivename:` , however, lld currently will only accept `archivename:*`
to match all files within an archive.
This patch will, only when necessary, create a copy of the file
specification and add an implicit wildcard `*` to the end. It also
updates the filename-spec linkerscript test to check for this behavior.
---------
Co-authored-by: Peter Smith <peter.smith at arm.com>
Commit: 90eca3f3f43048f055e70e3edd4e2d8ea2a26783
https://github.com/llvm/llvm-project/commit/90eca3f3f43048f055e70e3edd4e2d8ea2a26783
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M .github/workflows/spirv-tests.yml
Log Message:
-----------
[Github] Explicitly requesting Ubuntu 22.04 for SPIRV test (#122395)
For the same reason as
[#122221](https://github.com/llvm/llvm-project/pull/122221), this fixes
build failure from missing python3.
Commit: 799955eb176042999b4d12a901b1c33b42035014
https://github.com/llvm/llvm-project/commit/799955eb176042999b4d12a901b1c33b42035014
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M lld/test/ELF/lto/new-pass-manager.ll
M llvm/lib/LTO/LTOBackend.cpp
M llvm/test/Feature/load_plugin_error.ll
M llvm/test/Other/X86/lto-hot-cold-split.ll
Log Message:
-----------
[ThinLTO] Skip opt pipeline and summary wrapper pass on empty modules (#120143)
Follow up to PR118508, to avoid unnecessary compile time for an empty
combind regular LTO module if all modules end up being ThinLTO only.
This required minor changes to a few tests to ensure they weren't empty.
Commit: 24bd9bc0b59d51c82e9a4d84c21d86d58d0ef6ce
https://github.com/llvm/llvm-project/commit/24bd9bc0b59d51c82e9a4d84c21d86d58d0ef6ce
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M llvm/lib/Support/Timer.cpp
Log Message:
-----------
[Timer] Remove signpots overhead on unsupported systems
startTimer/stopTimer are frequently called. It's important to reduce
overhead.
Commit: 2d5f07c82836bde6f5ae16518931a78783a22ec8
https://github.com/llvm/llvm-project/commit/2d5f07c82836bde6f5ae16518931a78783a22ec8
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-value.ll
M llvm/test/Transforms/InstCombine/div-shift.ll
Log Message:
-----------
[InstCombine] Fold `X udiv Y` to `X lshr cttz(Y)` if Y is a power of 2 (#121386)
Fixes #115767
This PR folds `X udiv Y` to `X lshr cttz(Y)` if Y is a power of two
since bitwise operations are faster than division.
Proof: https://alive2.llvm.org/ce/z/qHmLta
Commit: a418eb1c0ddeb119d9cfbf6d6e80c0f118503d13
https://github.com/llvm/llvm-project/commit/a418eb1c0ddeb119d9cfbf6d6e80c0f118503d13
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMSystemRegister.td
Log Message:
-----------
[ARM] Use GenericTable PrimaryKey to remove one of the SearchIndexes for BankedRegsList. NFC
Commit: cfe26358e3051755961fb1f3b46328dc2c326895
https://github.com/llvm/llvm-project/commit/cfe26358e3051755961fb1f3b46328dc2c326895
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang/include/clang/AST/Decl.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Randstruct.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/no_unique_address-with-bitfields.cpp
Log Message:
-----------
Reapply "[clang] Avoid re-evaluating field bitwidth" (#122289)
Commit: 7c886d5d9265177e5dadb7ac5704cccffc3b95e0
https://github.com/llvm/llvm-project/commit/7c886d5d9265177e5dadb7ac5704cccffc3b95e0
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M llvm/lib/IR/PassTimingInfo.cpp
Log Message:
-----------
PassTimingInfo: test TheTimeInfo first. NFC
TheTimeInfo is a member variable and is often non-null, allowing the
caller `getPassTimer` to skip one check.
Commit: 0384069d6ca5cd025cae414e65ab08f174fcc175
https://github.com/llvm/llvm-project/commit/0384069d6ca5cd025cae414e65ab08f174fcc175
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
Log Message:
-----------
[AArch64] Use GenericTable PrimaryKey to remove some SearchIndexes. NFC
Commit: f3d3ec86d1a40a2c86d743384d272ebcd0a1cbd8
https://github.com/llvm/llvm-project/commit/f3d3ec86d1a40a2c86d743384d272ebcd0a1cbd8
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-01-10 (Fri, 10 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
Log Message:
-----------
[flang][acc] Add a missing acc.delete generation for the copyin clause (#122539)
We are missing the deletion part of the copyin clause after a region or
in a destructor. This PR completes its implementation for data regions,
compute regions, and global declarations.
Example:
```f90
subroutine sub()
real :: x(1:10)
!$acc data copyin(x)
!$acc end data
end subroutine sub
```
We are getting the following:
```mlir
%5 = acc.copyin varPtr(%2#0 : !fir.ref<!fir.array<10xf32>>) bounds(%4) -> !fir.ref<!fir.array<10xf32>> {name = "x"}
acc.data dataOperands(%5 : !fir.ref<!fir.array<10xf32>>) {
acc.terminator
}
return
```
With this PR, we'll get:
```mlir
%5 = acc.copyin varPtr(%2#0 : !fir.ref<!fir.array<10xf32>>) bounds(%4) -> !fir.ref<!fir.array<10xf32>> {name = "x"}
acc.data dataOperands(%5 : !fir.ref<!fir.array<10xf32>>) {
acc.terminator
}
acc.delete accPtr(%5 : !fir.ref<!fir.array<10xf32>>) bounds(%4) {dataClause = #acc<data_clause acc_copyin>, name = "x"}
return
```
Commit: a3e62d849f07d1e55e6d15465f4f3842ff4b3717
https://github.com/llvm/llvm-project/commit/a3e62d849f07d1e55e6d15465f4f3842ff4b3717
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[AST] Fix a warning
This patch fixes:
clang/unittests/AST/ASTImporterTest.cpp:3397:9: error: unused
variable 'ToTU' [-Werror,-Wunused-variable]
Commit: 26d513d197e14b824dd9d353aff38af1925c3770
https://github.com/llvm/llvm-project/commit/26d513d197e14b824dd9d353aff38af1925c3770
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M mlir/lib/TableGen/Operator.cpp
M mlir/lib/TableGen/Pattern.cpp
Log Message:
-----------
[TableGen] Migrate away from PointerUnion::{is,get} (NFC) (#122569)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Commit: 212cba0ef37dd3b2a253c063240370de42fc67c1
https://github.com/llvm/llvm-project/commit/212cba0ef37dd3b2a253c063240370de42fc67c1
Author: Michael Clark <michaeljclark at mac.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/MC/X86/avx512pf-64-att.s
Log Message:
-----------
[X86] Correct the cdisp8 encoding for VSCATTER/VGATHER prefetch (#122051)
during differential fuzzing, I found 8 more instructions with disp8
offset multiplier differences to binutils. somewhat sure there is a bug
in the X86 LLVM disp8 offset multipliers for this subset of vector
scatter and gather prefetch instructions. please check and refer to the
previous pull request: https://github.com/llvm/llvm-project/pull/120340
these vector scatter and gather prefetch instructions also have an
unusual k mask operand position but I have not addressed this with this
patch as I am unsure how to change the Intel format in the tablegen
file.
```
hex: 62 f2 fd 49 c6 4c 51 01
llvm: vgatherpf0dpd {k1}, zmmword ptr [rcx + 2*ymm2 + 4]
ours: vgatherpf0dpd qword ptr * 8 [rcx + 2*ymm2 + 8] {k1}
gnu: vgatherpf0dpd QWORD PTR [rcx+ymm2*2+0x8]{k1}
hex: 62 f2 7d 49 c7 4c 51 01
llvm: vgatherpf0qps {k1}, ymmword ptr [rcx + 2*zmm2 + 8]
ours: vgatherpf0qps dword ptr * 8 [rcx + 2*zmm2 + 4] {k1}
gnu: vgatherpf0qps DWORD PTR [rcx+zmm2*2+0x4]{k1}
hex: 62 f2 fd 49 c6 54 51 01
llvm: vgatherpf1dpd {k1}, zmmword ptr [rcx + 2*ymm2 + 4]
ours: vgatherpf1dpd qword ptr * 8 [rcx + 2*ymm2 + 8] {k1}
gnu: vgatherpf1dpd QWORD PTR [rcx+ymm2*2+0x8]{k1}
hex: 62 f2 7d 49 c7 54 51 01
llvm: vgatherpf1qps {k1}, ymmword ptr [rcx + 2*zmm2 + 8]
ours: vgatherpf1qps dword ptr * 8 [rcx + 2*zmm2 + 4] {k1}
gnu: vgatherpf1qps DWORD PTR [rcx+zmm2*2+0x4]{k1}
hex: 62 f2 fd 49 c6 6c 51 01
llvm: vscatterpf0dpd {k1}, zmmword ptr [rcx + 2*ymm2 + 4]
ours: vscatterpf0dpd qword ptr * 8 [rcx + 2*ymm2 + 8] {k1}
gnu: vscatterpf0dpd QWORD PTR [rcx+ymm2*2+0x8]{k1}
hex: 62 f2 7d 49 c7 6c 51 01
llvm: vscatterpf0qps {k1}, ymmword ptr [rcx + 2*zmm2 + 8]
ours: vscatterpf0qps dword ptr * 8 [rcx + 2*zmm2 + 4] {k1}
gnu: vscatterpf0qps DWORD PTR [rcx+zmm2*2+0x4]{k1}
hex: 62 f2 fd 49 c6 74 51 01
llvm: vscatterpf1dpd {k1}, zmmword ptr [rcx + 2*ymm2 + 4]
ours: vscatterpf1dpd qword ptr * 8 [rcx + 2*ymm2 + 8] {k1}
gnu: vscatterpf1dpd QWORD PTR [rcx+ymm2*2+0x8]{k1}
hex: 62 f2 7d 49 c7 74 51 01
llvm: vscatterpf1qps {k1}, ymmword ptr [rcx + 2*zmm2 + 8]
ours: vscatterpf1qps dword ptr * 8 [rcx + 2*zmm2 + 4] {k1}
gnu: vscatterpf1qps DWORD PTR [rcx+zmm2*2+0x4]{k1}
```
Commit: f38c40bff399fda9cbed522816f7ddd18f6c0918
https://github.com/llvm/llvm-project/commit/f38c40bff399fda9cbed522816f7ddd18f6c0918
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll
Log Message:
-----------
VT: teach isImpliedCondMatchingOperands about samesign (#122474)
Move isImplied{True,False}ByMatchingCmp from CmpInst to ICmpInst, so
that it can operate on CmpPredicate instead of CmpInst::Predicate, and
teach it about samesign. There are two callers of this function, and we
choose to migrate the one in ValueTracking, namely
isImpliedCondMatchingOperands to CmpPredicate, hence teaching it about
samesign, with visible test impact.
Commit: 30bb1863892a235fe1d90eb6b496bd24b0c177d8
https://github.com/llvm/llvm-project/commit/30bb1863892a235fe1d90eb6b496bd24b0c177d8
Author: Niels Dekker <N.Dekker at lumc.nl>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
Log Message:
-----------
[clang-tidy] Mention std::forward_list in container-size-empty doc (#120701)
Mentioned `std::forward_list` as example of a container without
`size()`.
Commit: dc2963c8d77229ca1b20663beddef2323cc69a88
https://github.com/llvm/llvm-project/commit/dc2963c8d77229ca1b20663beddef2323cc69a88
Author: Tommy Chen <tmd279936 at gmail.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
Log Message:
-----------
[clang-tidy] exclude CXXParenListInitExpr from RedundantCastingCheck (#109741)
Exclude CXXParenListInitExpr from RedundantCastingCheck because there
are false positive cases. Currently, we can't think of positive cases
for CXXParenListInitExpr. This can be improved by following the
initListExpr method if we can come up with some positive cases.
Fixes #108846
Commit: 35e89897a4086f5adbab10b4b90aa63ef5b35514
https://github.com/llvm/llvm-project/commit/35e89897a4086f5adbab10b4b90aa63ef5b35514
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[Dialect] Migrate away from PointerUnion::{is,get} (NFC) (#122568)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Commit: 4435b7d8d3df31d59402b6b106d8d45fd2ba0f93
https://github.com/llvm/llvm-project/commit/4435b7d8d3df31d59402b6b106d8d45fd2ba0f93
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
Log Message:
-----------
[flang] Migrate away from PointerUnion::{is,get} (NFC) (#122585)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Commit: 642e493d4dc6d8f18900a22ed2ca6f638b69a2f8
https://github.com/llvm/llvm-project/commit/642e493d4dc6d8f18900a22ed2ca6f638b69a2f8
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Convert fshl(x, 0, y) to shl(x, and(y, BitWidth - 1)) when BitWidth is pow2 (#122362)
Convert `fshl(x, 0, y)` to `shl(x, and(y, BitWidth - 1))` when BitWidth
is pow2
Alive2 proof: https://alive2.llvm.org/ce/z/3oTEop
Fixes: #122235
Commit: 32bcd41adcc664f6d690efc9b7cd209ac9c65f68
https://github.com/llvm/llvm-project/commit/32bcd41adcc664f6d690efc9b7cd209ac9c65f68
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
Log Message:
-----------
[clang-tidy] use correct template type in ``std::min`` and ``std::max`` when operand is integer literal for readability-use-std-min-max (#122296)
When comparing with integer literal, integer promote will happen to
promote type which has less bit width than int to int or unsigned int.
It will let auto-fix provide correct but out of expected fix.
e.g.
```c++
short a;
if ( a > 10 )
a = 10;
```
will be
```c++
short a;
if ( (int)a > 10 )
a = (short)10;
```
which will be fixed as
```c++
short a;
a = std::max<int>(a, 10);
```
but actually it can be
```c++
short a;
a = std::max<short>(a, 10);
```
Fixed: #121676
Commit: 77ef5a601ad3827316e412788f609e9141b51e83
https://github.com/llvm/llvm-project/commit/77ef5a601ad3827316e412788f609e9141b51e83
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang/test/LibClang/symbols.test
Log Message:
-----------
[Clang][NFC] Fix a test failure with mold linker (#122587)
Mold prefers the suffix '$' for symbols like PLT and GOT entries, so
exclude these symbols as well. Otherwise, this test will fail for
developers using mold-linked Clang.
Closes https://github.com/llvm/llvm-project/issues/76982
Commit: 876fa60f081ed66ad9645f955790198c3a96882c
https://github.com/llvm/llvm-project/commit/876fa60f081ed66ad9645f955790198c3a96882c
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/test/Instrumentation/TypeSanitizer/basic.ll
Log Message:
-----------
[TySan] Skip instrumentation for function declarations (#122488)
Skip function declarations for instrumentation.
Fixes https://github.com/llvm/llvm-project/issues/122467
Commit: 1d58699f5ce1a79634ea81f576cd4975cb04f046
https://github.com/llvm/llvm-project/commit/1d58699f5ce1a79634ea81f576cd4975cb04f046
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SDPatternMatch] Add Matcher m_Undef (#122521)
Add Matcher `m_Undef`
Fixes: #122439
Commit: d291e459093be6df542c1770b26ff2e1bf1e6949
https://github.com/llvm/llvm-project/commit/d291e459093be6df542c1770b26ff2e1bf1e6949
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/test/Transforms/omp-map-info-finalization.fir
Log Message:
-----------
[flang] Teach omp-map-info-finalization to reuse descriptor allocas (#122507)
Internal testing shows improvements in some SPEC HPC benchmarks with
this change.
Commit: b622cc67d0af9326b9e4f1f91d8be790c57dd86c
https://github.com/llvm/llvm-project/commit/b622cc67d0af9326b9e4f1f91d8be790c57dd86c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr122580.ll
Log Message:
-----------
[X86] LowerCTPOP - check if the operand is a constant when collecting KnownBits
Under certain circumstances, lowering of other instructions can result in computeKnownBits being able to detect a constant that it couldn't previously.
Fixes #122580
Commit: b306eff56f950285e01c7accdb36f09d17506dcc
https://github.com/llvm/llvm-project/commit/b306eff56f950285e01c7accdb36f09d17506dcc
Author: William Moses <gh at wsmoses.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/inlining.mlir
Log Message:
-----------
[MLIR] Enable inlining for private symbols (#122572)
The inlining code for llvm funcs seems to have needlessly forbidden
inlining of private (e.g. non-cloning) symbols.
Commit: 38fcf62483907aa48325e60d1f685805e846c6ea
https://github.com/llvm/llvm-project/commit/38fcf62483907aa48325e60d1f685805e846c6ea
Author: William Moses <gh at wsmoses.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/Import.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
[MLIR] Import LLVM add flag to disable loadalldialects (#122574)
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: ba58d35019ae40641ae454472a43965a7bee5696
https://github.com/llvm/llvm-project/commit/ba58d35019ae40641ae454472a43965a7bee5696
Author: Janis Heims <technoelf at undertheprinter.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/test/MC/M68k/Data/Classes/MxMoveSR.s
Log Message:
-----------
[M68k] Use M68010 cpu as target for SR move test (#122452)
Fixes the test introduced in #111145.
It would also make sense to throw an error when the user attempts to use
a move-from-sr on an unsupported architecture. Currently the encoder
generates garbage instructions for a 68000 because the AsmMatcher is
able to match the move against a MOV16rr
Commit: ae9bf17697d2245be707e93125f18d09eaf77aa9
https://github.com/llvm/llvm-project/commit/ae9bf17697d2245be707e93125f18d09eaf77aa9
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
Log Message:
-----------
[clang-tidy] remove never used IgnoreCase in option (#122573)
Commit: 0249554ee1ac49e6f1d93fa78a55971fc706f635
https://github.com/llvm/llvm-project/commit/0249554ee1ac49e6f1d93fa78a55971fc706f635
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/code.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/error-config/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/normalized-path.test
Log Message:
-----------
[clang-tidy] fix incorrect configuration file path resolving when file paths contain `..` (#121323)
`makeAbsolute` will not normalize path. When getting parent folder, `..`
will go into the subfolder instead of the parent folder.
Commit: 78953433a5a0e3551f4c698636fe46e2536a30d2
https://github.com/llvm/llvm-project/commit/78953433a5a0e3551f4c698636fe46e2536a30d2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-popcnt-128-ult-ugt.ll
M llvm/test/CodeGen/X86/vector-popcnt-128.ll
M llvm/test/CodeGen/X86/vector-popcnt-256-ult-ugt.ll
M llvm/test/CodeGen/X86/vector-popcnt-256.ll
M llvm/test/CodeGen/X86/vector-popcnt-512-ult-ugt.ll
M llvm/test/CodeGen/X86/vector-popcnt-512.ll
Log Message:
-----------
[X86] vector popcnt tests - regenerate VPTERNLOG comments
Commit: 7b184687dd144de33c9f3e3f5c2d18212a5df9a9
https://github.com/llvm/llvm-project/commit/7b184687dd144de33c9f3e3f5c2d18212a5df9a9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/vselect-avx.ll
Log Message:
-----------
[X86] vselect-avx.ll - regenerate VPTERNLOG comments
Commit: 60788154981f52bb4595d2cdbe8e77d2f7ca0a48
https://github.com/llvm/llvm-project/commit/60788154981f52bb4595d2cdbe8e77d2f7ca0a48
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-mask-op.ll
Log Message:
-----------
[X86] avx512-mask-op.ll - regenerate VPTERNLOG comments
Commit: 70f37321de26bfbf2c5a0af5c274ab5ca43f8fed
https://github.com/llvm/llvm-project/commit/70f37321de26bfbf2c5a0af5c274ab5ca43f8fed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-build-vector.ll
Log Message:
-----------
[X86] avx512-build-vector.ll - regenerate VPTERNLOG comments
Commit: 32351b5450119799ef33da92e87149467c622224
https://github.com/llvm/llvm-project/commit/32351b5450119799ef33da92e87149467c622224
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][doc] fix incorrectly code snippet in release note (#122595)
Commit: 1eed46960c217f9480865702f06fb730c7521e61
https://github.com/llvm/llvm-project/commit/1eed46960c217f9480865702f06fb730c7521e61
Author: Marius Kamp <msk at posteo.org>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/csel-cmp-cse.ll
Log Message:
-----------
[AArch64] Eliminate Common Subexpression of CSEL by Reassociation (#121350)
If we have a CSEL instruction that depends on the flags set by a
(SUBS x c) instruction and the true and/or false expression is
(add (add x y) -c), we can reassociate the latter expression to
(add (SUBS x c) y) and save one instruction.
Proof for the basic transformation: https://alive2.llvm.org/ce/z/-337Pb
We can extend this transformation for slightly different constants. For
example, if we have (add (add x y) -(c-1)) and a the comparison x <u c,
we can transform the comparison to x <=u c-1 to eliminate the comparison
instruction, too. Similarly, we can transform (x == 0) to (x <u 1).
Proofs for the transformations that alter the constants:
https://alive2.llvm.org/ce/z/3nVqgR
Fixes #119606.
Commit: ab9a80a3ad78f611fd06cd6f7215bd828809310c
https://github.com/llvm/llvm-project/commit/ab9a80a3ad78f611fd06cd6f7215bd828809310c
Author: David Green <david.green at arm.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/ARM/scalarize-assert-zext.ll
Log Message:
-----------
[DAG] Allow AssertZExt to scalarize. (#122463)
With range and undef metadata on a call we can have vector AssertZExt
generated on a target with no vector operations. The AssertZExt needs to
scalarize to a normal `AssertZext tin, ValueType`. I have added
AssertSext too, although I do not have a test case.
Fixes #110374
Commit: 9a9e41ca89f0d78705b60497ece9071b0a5a83f0
https://github.com/llvm/llvm-project/commit/9a9e41ca89f0d78705b60497ece9071b0a5a83f0
Author: bernhardu <bernhardu at mailbox.org>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Add test for `8D A4 24 ...`. (#119794)
This adds a test line and updates a comment.
Commit: 657fb4433e027722e8c9a5002d0c194ecd3f2956
https://github.com/llvm/llvm-project/commit/657fb4433e027722e8c9a5002d0c194ecd3f2956
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/sched-barrier-pre-RA.mir
Log Message:
-----------
[AMDGPU] Add target hook to isGlobalMemoryObject (#112781)
We want special handing for IGLP instructions in the scheduler but they
should still be treated like they have side effects by other passes. Add
a target hook to the ScheduleDAGInstrs DAG builder so that we have more
control over this.
Commit: 2914ba1c01fdc496082197abf7cd35e2af526634
https://github.com/llvm/llvm-project/commit/2914ba1c01fdc496082197abf7cd35e2af526634
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M libcxx/src/experimental/tzdb.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp
Log Message:
-----------
[libc++] Improve diagnostic when failing to parse the tzdb (#122125)
Providing the character that we failed on is helpful for figuring out
what's going wrong in the tzdb.
Commit: 7f59b4e9982f92431f3069645dab6171363c3404
https://github.com/llvm/llvm-project/commit/7f59b4e9982f92431f3069645dab6171363c3404
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Skip non-induction phi recipes in legalizeAndOptimizeInductions.
The body of the loop only applies to wide induction recipes, skip any other
header phi recipes up-frond
Commit: bfe93aedcc7d393c2697e66d6569baffb701ba6f
https://github.com/llvm/llvm-project/commit/bfe93aedcc7d393c2697e66d6569baffb701ba6f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
Log Message:
-----------
[AMDGPU] Fix a warning
This patch fixes:
llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp:255:18: error: private
field 'DAG' is not used [-Werror,-Wunused-private-field]
Commit: cc995ad064ffe22566270fe95e974a368c71ba22
https://github.com/llvm/llvm-project/commit/cc995ad064ffe22566270fe95e974a368c71ba22
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstSimplify/subnuw-with-xor.ll
Log Message:
-----------
[InstSimpify] Simplifying `(xor (sub C_Mask, X), C_Mask)` -> `X` (#122552)
- **[InstSimpify] Add tests for simplifying `(xor (sub C_Mask, X),
C_Mask)`; NFC**
- **[InstSimpify] Simplifying `(xor (sub C_Mask, X), C_Mask)` -> `X`**
Helps address regressions with folding `clz(Pow2)`.
Proof: https://alive2.llvm.org/ce/z/zGwUBp
Commit: 17ef436e3df231fa45aa6010bf8ed41189380679
https://github.com/llvm/llvm-project/commit/17ef436e3df231fa45aa6010bf8ed41189380679
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/call.ll
Log Message:
-----------
[ValueTracking] Take into account whether zero is poison when computing CR for `ct{t,l}z` (#122548)
Commit: 07ff786e39e2190449998d3af1000454dee501be
https://github.com/llvm/llvm-project/commit/07ff786e39e2190449998d3af1000454dee501be
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#122586)
Commit: a56eb7c9986456ae4b492fff79c3cf18d0ef8ad3
https://github.com/llvm/llvm-project/commit/a56eb7c9986456ae4b492fff79c3cf18d0ef8ad3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema] Avoid repeated hash lookups (NFC) (#122588)
Commit: 4f4e2abb1a5ff1225d32410fd02b732d077aa056
https://github.com/llvm/llvm-project/commit/4f4e2abb1a5ff1225d32410fd02b732d077aa056
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/include/mlir/IR/Matchers.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/include/mlir/Pass/AnalysisManager.h
M mlir/lib/Analysis/DataFlowFramework.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.h
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
M mlir/lib/Transforms/Utils/FoldUtils.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir] Migrate away from PointerUnion::{is,get} (NFC) (#122591)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: eabf9313d47b8e25b2a2e4ee62dd70f79eacf1df
https://github.com/llvm/llvm-project/commit/eabf9313d47b8e25b2a2e4ee62dd70f79eacf1df
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Detect step failures in metrics job (#122564)
This patch makes the metrics job also detect failures in individual
steps. This is necessary now that we are setting continue-on-error in
the premerge jobs to prevent sending out unnecessary email to detect
what jobs actually fail.
Commit: 2c7829e676dfd6a33f7c9955ea930f51aca37e20
https://github.com/llvm/llvm-project/commit/2c7829e676dfd6a33f7c9955ea930f51aca37e20
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][doc] combine the clang-tidy itself's change together in release note (#122594)
<img width="1137" alt="image"
src="https://github.com/user-attachments/assets/25433743-2c19-422a-93c5-3edfc1bb7a3f"
/>
Commit: 5e4b41c1d534c90a4591b840a4f1b2f7bf59279f
https://github.com/llvm/llvm-project/commit/5e4b41c1d534c90a4591b840a4f1b2f7bf59279f
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/test/include/CMakeLists.txt
A libc/test/include/header-test-template.c
Log Message:
-----------
[libc] Add compile tests for each public header (#122527)
This adds a test that consists of compiling `#include <...>`,
pretty much alone, for each public header file in each different
language mode (`-std=...` compiler switch) with -Werror and many
warnings enabled.
There are several headers that have bugs when used alone, and
many more headers that have bugs in certain language modes. So
for now, compiling the new tests is gated on the cmake switch
-DLLVM_LIBC_BUILD_HEADER_TESTS=ON. When all the bugs are fixed,
the switch will be removed so future regressions don't land.
Commit: 4f6fabd11ad1a5de8e066adad28c8da4a615f8bb
https://github.com/llvm/llvm-project/commit/4f6fabd11ad1a5de8e066adad28c8da4a615f8bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Driver] Avoid repeated map lookups (NFC) (#122625)
Commit: 5ee0a71df919a328c714e25f0935c21e586cc18b
https://github.com/llvm/llvm-project/commit/5ee0a71df919a328c714e25f0935c21e586cc18b
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
A llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
A llvm/test/CodeGen/MIR/AArch64/called-globals.mir
M llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir
M llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
A llvm/test/MC/AArch64/win-import-call-optimization.s
A llvm/test/MC/COFF/bad-parse.s
Log Message:
-----------
[aarch64][win] Add support for import call optimization (equivalent to MSVC /d2ImportCallOptimization) (#121516)
This change implements import call optimization for AArch64 Windows
(equivalent to the undocumented MSVC `/d2ImportCallOptimization` flag).
Import call optimization adds additional data to the binary which can be
used by the Windows kernel loader to rewrite indirect calls to imported
functions as direct calls. It uses the same [Dynamic Value Relocation
Table mechanism that was leveraged on x64 to implement
`/d2GuardRetpoline`](https://techcommunity.microsoft.com/blog/windowsosplatform/mitigating-spectre-variant-2-with-retpoline-on-windows/295618).
The change to the obj file is to add a new `.impcall` section with the
following layout:
```cpp
// Per section that contains calls to imported functions:
// uint32_t SectionSize: Size in bytes for information in this section.
// uint32_t Section Number
// Per call to imported function in section:
// uint32_t Kind: the kind of imported function.
// uint32_t BranchOffset: the offset of the branch instruction in its
// parent section.
// uint32_t TargetSymbolId: the symbol id of the called function.
```
NOTE: If the import call optimization feature is enabled, then the
`.impcall` section must be emitted, even if there are no calls to
imported functions.
The implementation is split across a few parts of LLVM:
* During AArch64 instruction selection, the `GlobalValue` for each call
to a global is recorded into the Extra Information for that node.
* During lowering to machine instructions, the called global value for
each call is noted in its containing `MachineFunction`.
* During AArch64 asm printing, if the import call optimization feature
is enabled:
- A (new) `.impcall` directive is emitted for each call to an imported
function.
- The `.impcall` section is emitted with its magic header (but is not
filled in).
* During COFF object writing, the `.impcall` section is filled in based
on each `.impcall` directive that were encountered.
The `.impcall` section can only be filled in when we are writing the
COFF object as it requires the actual section numbers, which are only
assigned at that point (i.e., they don't exist during asm printing).
I had tried to avoid using the Extra Information during instruction
selection and instead implement this either purely during asm printing
or in a `MachineFunctionPass` (as suggested in [on the
forums](https://discourse.llvm.org/t/design-gathering-locations-of-instructions-to-emit-into-a-section/83729/3))
but this was not possible due to how loading and calling an imported
function works on AArch64. Specifically, they are emitted as `ADRP` +
`LDR` (to load the symbol) then a `BR` (to do the call), so at the point
when we have machine instructions, we would have to work backwards
through the instructions to discover what is being called. An initial
prototype did work by inspecting instructions; however, it didn't
correctly handle the case where the same function was called twice in a
row, which caused LLVM to elide the `ADRP` + `LDR` and reuse the
previously loaded address. Worse than that, sometimes for the
double-call case LLVM decided to spill the loaded address to the stack
and then reload it before making the second call. So, instead of trying
to implement logic to discover where the value in a register came from,
I instead recorded the symbol being called at the last place where it
was easy to do: instruction selection.
Commit: d997a722c194feec5f3a94dec5acdce59ac5e55b
https://github.com/llvm/llvm-project/commit/d997a722c194feec5f3a94dec5acdce59ac5e55b
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-11 (Sat, 11 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MIRPrinter.cpp
Log Message:
-----------
Fix build break in MIRPrinter (#122630)
Commit: 42da12063f49e8d52e63dcb36d25b55ed3688a26
https://github.com/llvm/llvm-project/commit/42da12063f49e8d52e63dcb36d25b55ed3688a26
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-simd-private.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[flang][OpenMP] Extend delayed privatization for `omp.simd` (#122156)
Adds support for delayed privatization for `simd` directives. This PR
includes PFT down to LLVM IR lowering.
Commit: a5364444bd0dbbd60e83ee6cf11adabd72f4df54
https://github.com/llvm/llvm-project/commit/a5364444bd0dbbd60e83ee6cf11adabd72f4df54
Author: Barnabás Pőcze <pobrn at protonmail.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
Log Message:
-----------
[clang-tidy] performance-unnecessary-copy-initialization: Consider static functions (#119974)
Static member functions can be considered the same way as free functions
are, so do that.
Commit: fdfe7e7fabc85ed7293ca6f5f234d41812644584
https://github.com/llvm/llvm-project/commit/fdfe7e7fabc85ed7293ca6f5f234d41812644584
Author: Sharjeel Khan <sharjeel.khan4754 at gmail.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[Driver] Error when using msan on Android (#122540)
Msan is not supported on Android as mentioned in google/sanitizers#1381.
We proactively give the warning saying it is unsupported to fix
android/ndk#1958.
Commit: 8ebc35f8d041f097a2b973b455dc3533420af6bf
https://github.com/llvm/llvm-project/commit/8ebc35f8d041f097a2b973b455dc3533420af6bf
Author: MichelleCDjunaidi <michellechrisalyn at gmail.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-shared-from-this.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
Log Message:
-----------
[clang-tidy] Create bugprone-incorrect-enable-shared-from-this check (#102299)
This checks that classes/structs inheriting from
``std::enable_shared_from_this`` does so with public inheritance, so it
prevents crashes due to ``std::make_shared`` and ``shared_from_this()``
getting called when the internal weak pointer was not initialized (e.g.
due to private inheritance).
Commit: 753295835544f16b4e180576aa020680231c4318
https://github.com/llvm/llvm-project/commit/753295835544f16b4e180576aa020680231c4318
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port 8ebc35f8d041
Commit: 6422546e996c769dda39a681da090fe28870a376
https://github.com/llvm/llvm-project/commit/6422546e996c769dda39a681da090fe28870a376
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
Log Message:
-----------
[mlir][LLVM] Fix conversion of non-standard MLIR float types (#122634)
Certain non-standard float types were directly passed through in the
LLVM type converter, resulting in invalid IR or failed assertions:
```
mlir-opt: mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:638: FailureOr<Type> mlir::LLVMTypeConverter::convertVectorType(VectorType) const: Assertion `LLVM::isCompatibleVectorType(vectorType) && "expected vector type compatible with the LLVM dialect"' failed.
```
The LLVM type converter should not define invalid type conversion rules
for such types. If there is no type conversion rule, conversion patterns
will not apply to ops with such operand types.
Commit: d080f78772acf9de4961b89062c02fdd5f82186a
https://github.com/llvm/llvm-project/commit/d080f78772acf9de4961b89062c02fdd5f82186a
Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
A clang/test/SemaCXX/crash-GH121274.cpp
Log Message:
-----------
[Clang] Fixed a crash when __PRETTY_FUNCTION__ or __FUNCSIG__ (clang-cl) appears in the trailing return type of the lambda (#122611)
The (function) type of the lambda function is null while parsing
trailing return type. The type is filled-in when the lambda body is
entered. So, resolving `__PRETTY_FUNCTION__` before the lambda body is
entered causes the crash.
Fixes #121274.
Commit: 26b4a0ac7ed3f04f10bd1c043e2cf9c52da7fc47
https://github.com/llvm/llvm-project/commit/26b4a0ac7ed3f04f10bd1c043e2cf9c52da7fc47
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
A llvm/test/tools/gold/X86/Inputs/unified-lto-foo.ll
A llvm/test/tools/gold/X86/unified-lto.ll
M llvm/tools/gold/gold-plugin.cpp
Log Message:
-----------
Add 'unifiedlto' option to gold plugin (#121336)
Option allows using full LTO when linking bitcode files compiled with
unified LTO pipeline.
Commit: 66badf224ade6e78d5da005f6a9819092fd8767b
https://github.com/llvm/llvm-project/commit/66badf224ade6e78d5da005f6a9819092fd8767b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll
Log Message:
-----------
VT: teach a special-case optz about samesign (#122590)
There is a narrow special-case in isImpliedCondICmps that can benefit
from being taught about samesign. Since it costs us nothing to implement
it, teach it about samesign, for completeness. This patch marks the
completion of the effort to teach ValueTracking about samesign.
Commit: 0d352b2ea767e043b47d78bfdbd6820356628314
https://github.com/llvm/llvm-project/commit/0d352b2ea767e043b47d78bfdbd6820356628314
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-target-id.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Clang] Use `-targets=host-x86_64-unknown-linux-gnu` as bundler target (#122627)
This a prime patch to support generic target when using `--offload-compress`.
Commit: 4f7dc1b55ae5b8ed1a36dd941ef4f9920bfdac8d
https://github.com/llvm/llvm-project/commit/4f7dc1b55ae5b8ed1a36dd941ef4f9920bfdac8d
Author: Ruhung <143302514+Ruhung at users.noreply.github.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
A llvm/test/Transforms/InstCombine/add-sext-icmp.ll
Log Message:
-----------
[InstCombine] Fold (add (add A, 1), (sext (icmp ne A, 0))) to call umax(A, 1) (#122491)
Transform (add (add A, 1), (sext (icmp ne A, 0))) into call umax(A, 1).
Fixes #121853.
Alive2: https://alive2.llvm.org/ce/z/TweTan
Commit: be6c752e157638849f1f59f7e2b7ecbe11a022fe
https://github.com/llvm/llvm-project/commit/be6c752e157638849f1f59f7e2b7ecbe11a022fe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/test/CodeGen/X86/avx512-build-vector.ll
M llvm/test/CodeGen/X86/avx512-mask-op.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/avx512-shuffles/permute.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
M llvm/test/CodeGen/X86/combine-or.ll
M llvm/test/CodeGen/X86/combine-sub-usat.ll
M llvm/test/CodeGen/X86/expand-vp-cast-intrinsics.ll
M llvm/test/CodeGen/X86/extract-concat.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/isel-buildvector-avx.ll
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/nontemporal-4.ll
M llvm/test/CodeGen/X86/pr29112.ll
M llvm/test/CodeGen/X86/pr46532.ll
M llvm/test/CodeGen/X86/pr78109.ll
M llvm/test/CodeGen/X86/pr97968.ll
M llvm/test/CodeGen/X86/sse41-intrinsics-x86.ll
M llvm/test/CodeGen/X86/vec_fp_to_int.ll
M llvm/test/CodeGen/X86/vec_minmax_sint.ll
M llvm/test/CodeGen/X86/vec_minmax_uint.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-lzcnt-128.ll
M llvm/test/CodeGen/X86/vector-lzcnt-256.ll
M llvm/test/CodeGen/X86/vector-popcnt-128.ll
M llvm/test/CodeGen/X86/vector-popcnt-256.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-avx512.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-tzcnt-128.ll
M llvm/test/CodeGen/X86/vector-tzcnt-256.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] X86FixupVectorConstantsPass - use VPMOVSX/ZX extensions for PS/PD domain moves (#122601)
For targets with free domain moves, or AVX512 support, allow the use of VPMOVSX/ZX extension loads to reduce the load sizes.
I've limited this to extension to i32/i64 types as we're mostly interested in shuffle mask loading here, but we could include i16 types as well just as easily.
Inspired by a regression on #122485
Commit: b91d5af1ac3ad2c18b1dfde2061a6ac1d638e6e4
https://github.com/llvm/llvm-project/commit/b91d5af1ac3ad2c18b1dfde2061a6ac1d638e6e4
Author: Twice <twice at apache.org>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/test/Dialect/Vector/vector-gather-lowering.mlir
Log Message:
-----------
[MLIR][Vector] Allow any strided memref for one-element vector.load in lowering vector.gather (#122437)
In `Gather1DToConditionalLoads`, currently we will check if the stride
of the most minor dim of the input memref is 1. And if not, the
rewriting pattern will not be applied. However, according to the
verification of `vector.load` here:
https://github.com/llvm/llvm-project/blob/4e32271e8b304eb018c69f74c16edd1668fcdaf3/mlir/lib/Dialect/Vector/IR/VectorOps.cpp#L4971-L4975
.. if the output vector type of `vector.load` contains only one element,
we can ignore the requirement of the stride of the input memref, i.e.
the input memref can be with any stride layout attribute in such case.
So here we can allow more cases in lowering `vector.gather` by relaxing
such check.
As shown in the test case attached in this patch
[here](https://github.com/llvm/llvm-project/blob/1933fbad58302814ccce5991a9320c0967f3571b/mlir/test/Dialect/Vector/vector-gather-lowering.mlir#L151),
now `vector.gather` of memref with non-trivial stride can be lowered
successfully if the result vector contains only one element.
---------
Signed-off-by: PragmaTwice <twice at apache.org>
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: d047dbd95ed3ef4ace54eaa7c32fe3954317f926
https://github.com/llvm/llvm-project/commit/d047dbd95ed3ef4ace54eaa7c32fe3954317f926
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
A llvm/test/tools/gold/X86/Inputs/merge-functions-foo.ll
A llvm/test/tools/gold/X86/merge-functions.ll
M llvm/tools/gold/gold-plugin.cpp
Log Message:
-----------
Add function merger to be run during LTO link with gold plugin (#121343)
Patch adds 'merge-functions' plugin option for this purpose.
Commit: 9dee7c44491635ec9037b90050bcdbd3d5291e38
https://github.com/llvm/llvm-project/commit/9dee7c44491635ec9037b90050bcdbd3d5291e38
Author: vfdev <vfdev.5 at gmail.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/docs/Bindings/Python.md
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/python/requirements.txt
A mlir/test/python/multithreaded_tests.py
Log Message:
-----------
Added free-threading CPython mode support in MLIR Python bindings (#107103)
Related to https://github.com/llvm/llvm-project/issues/105522
Description:
This PR is a joint work with Peter Hawkins (@hawkinsp) originally done
by myself for pybind11 and then reworked to nanobind based on Peter's
branch: https://github.com/hawkinsp/llvm-project/tree/nbdev .
- Added free-threading CPython mode support for MLIR Python bindings
- Added a test which can reveal data races when cpython and LLVM/MLIR
compiled with TSAN
Context:
- Related to https://github.com/google/jax/issues/23073
Co-authored-by: Peter Hawkins <phawkins at google.com>
Commit: 1d2eea962ac9724350f025f4c70808d42a435289
https://github.com/llvm/llvm-project/commit/1d2eea962ac9724350f025f4c70808d42a435289
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/OpenMP/masked_taskloop_simd_codegen.c
Log Message:
-----------
[OpenMP] codegen support for masked combined construct masked taskloop simd (#121916)
Added codegen support for combined masked constructs `masked taskloop
simd`.
Added implementation for `EmitOMPMaskedTaskLoopSimdDirective`.
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 3f1486f08e0dd64136fb7f50e38cd618dd0255d2
https://github.com/llvm/llvm-project/commit/3f1486f08e0dd64136fb7f50e38cd618dd0255d2
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/docs/Bindings/Python.md
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/python/requirements.txt
R mlir/test/python/multithreaded_tests.py
Log Message:
-----------
Revert "Added free-threading CPython mode support in MLIR Python bindings (#107103)"
Breaks on 3.8, rolling back to avoid breakage while fixing.
This reverts commit 9dee7c44491635ec9037b90050bcdbd3d5291e38.
Commit: 43fdd6e81d8ea42d1de8fd96fe45957dee54cb32
https://github.com/llvm/llvm-project/commit/43fdd6e81d8ea42d1de8fd96fe45957dee54cb32
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Migrate away from PointerUnion::is (NFC) (#122622)
Note that PointerUnion::is have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
In this patch, I'm calling call().getBase() for an instance of
PointerUnion. call() alone would return an instance of IndexCall,
which wraps PointerUnion. Note that isa<> cannot directly accept an
instance of IndexCall, at least without defining CastInfo.
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: fd87188c2bbbdd283b286daea2b9bd5c6605f7e1
https://github.com/llvm/llvm-project/commit/fd87188c2bbbdd283b286daea2b9bd5c6605f7e1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[wasm] Avoid repeated hash lookups (NFC) (#122626)
Commit: 16aa400a2780ab21f73722875734440643f276c3
https://github.com/llvm/llvm-project/commit/16aa400a2780ab21f73722875734440643f276c3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
Log Message:
-----------
[ELF] Avoid repeated hash lookups (NFC) (#122628)
Commit: 1afba19913253dda865a8e57b37b9f4dabead1ac
https://github.com/llvm/llvm-project/commit/1afba19913253dda865a8e57b37b9f4dabead1ac
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
Log Message:
-----------
[VPlan] Try to narrow wide and replicating recipes to uniform recipes.
Use the existing VPlan-based analysis to identify recipes that only have
their first lane demanded and transform them to uniform recpliate
recipes. This simplifies the generated code in some places and prepares
for fixing https://github.com/llvm/llvm-project/issues/122496.
Commit: 0ebb3ac7c92c4c1c44e7f3d17832d75ec5a42a67
https://github.com/llvm/llvm-project/commit/0ebb3ac7c92c4c1c44e7f3d17832d75ec5a42a67
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
Log Message:
-----------
Revert "[VPlan] Try to narrow wide and replicating recipes to uniform recipes."
This reverts commit 1afba19913253dda865a8e57b37b9f4dabead1ac.
Typo breaking the build
Commit: 3ff1d0198575282ad585c891b2e61e904a7d8c5a
https://github.com/llvm/llvm-project/commit/3ff1d0198575282ad585c891b2e61e904a7d8c5a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
Log Message:
-----------
Recommit "[VPlan] Try to narrow wide and replicating recipes to uniform recipes."
This reverts commit 0ebb3ac7c92c4c1c44e7f3d17832d75ec5a42a67.
Re-applies commit with typos fixed.
Commit: f5a35a31bfe6cbc16bec0c130f2bb3632dbf1fbf
https://github.com/llvm/llvm-project/commit/f5a35a31bfe6cbc16bec0c130f2bb3632dbf1fbf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[LV] Add test cases with incorrect IV live-outs.
Add test cases for https://github.com/llvm/llvm-project/issues/122496
and https://github.com/llvm/llvm-project/issues/122602.
Commit: 5c0aa31c3cb448065f12ede53e4dd54a9a98f650
https://github.com/llvm/llvm-project/commit/5c0aa31c3cb448065f12ede53e4dd54a9a98f650
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/tools/driver/cc1_main.cpp
Log Message:
-----------
-ftime-report: Move FrontendTimer closer to TimeTraceScope
... to improve consistency and make "Clang time report" cover
`FrontendAction::BeginSourceFile` and `FrontendAction::EndSourceFile`.
Commit: b4ce29ab31b29ca926704c160e3909298ddf2b2b
https://github.com/llvm/llvm-project/commit/b4ce29ab31b29ca926704c160e3909298ddf2b2b
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
[AArch64][Clang] Add support for __arm_agnostic("sme_za_state") (#121788)
This adds support for parsing the attribute and codegen to map it to
"aarch64_za_state_agnostic" LLVM IR attribute.
This attribute is described in the Arm C Language Extensions (ACLE)
document:
https://github.com/ARM-software/acle/blob/main/main/acle.md#__arm_agnostic
Commit: 8df64ed77727ab9b7540819f2fe64379e88a50be
https://github.com/llvm/llvm-project/commit/8df64ed77727ab9b7540819f2fe64379e88a50be
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/uniform-phi.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
A llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
Log Message:
-----------
[LV] Don't consider IV increments uniform if exit value is used outside.
In some cases, there might be a chain of uniform instructions producing
the exit value. To generate correct code in all cases, consider the IV
increment not uniform, if there are users outside the loop.
Instead, let VPlan narrow the IV, if possible using the logic from
3ff1d01985752.
Test case from #122602 verified with Alive2:
https://alive2.llvm.org/ce/z/bA4EGj
Fixes https://github.com/llvm/llvm-project/issues/122496.
Fixes https://github.com/llvm/llvm-project/issues/122602.
Commit: 08028d68a90bbc47464562a745e33fa10256a7d3
https://github.com/llvm/llvm-project/commit/08028d68a90bbc47464562a745e33fa10256a7d3
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M clang/lib/AST/TypePrinter.cpp
Log Message:
-----------
[Clang] Fix buildbot failure introduced by #121788
Silences 'enumeration not handled in switch' warning,
which causes buildbot failures with -Werror.
Commit: 0e51b54b7ac02b0920e20b8ccae26b32bd6b6982
https://github.com/llvm/llvm-project/commit/0e51b54b7ac02b0920e20b8ccae26b32bd6b6982
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/docs/DirectX/DXILResources.rst
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/BufferStore-sm61.ll
A llvm/test/CodeGen/DirectX/RawBufferStore-error64.ll
A llvm/test/CodeGen/DirectX/RawBufferStore.ll
Log Message:
-----------
[DirectX] Implement the resource.store.rawbuffer intrinsic (#121282)
This introduces `@llvm.dx.resource.store.rawbuffer` and generalizes the
buffer store docs under DirectX/DXILResources.
Fixes #106188
Commit: acbd822879f7727127926c25e1b47f5017f962c5
https://github.com/llvm/llvm-project/commit/acbd822879f7727127926c25e1b47f5017f962c5
Author: Bill Hoffman <bill.hoffman at kitware.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/modules-print-library-module-manifest-path.cpp
Log Message:
-----------
Fix print module manifest file for macos (#122370)
This commit fixes -print-library-module-manifest-path on macos.
Currently, this only works on linux systems. This is because on macos
systems the library and header files are installed in a different
location. The module manifest is next to the libraries and the search
function was not looking in both places. There is also a test included.
Commit: 59bba39a692fd371d0dd0e6baba49a414bf7d855
https://github.com/llvm/llvm-project/commit/59bba39a692fd371d0dd0e6baba49a414bf7d855
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/memcpy.ll
Log Message:
-----------
[RISCV] Rework memcpy test (#120364)
Use descriptive names and add more cases.
Commit: 4637c777463248d42fbdc383f324310522ce85d2
https://github.com/llvm/llvm-project/commit/4637c777463248d42fbdc383f324310522ce85d2
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/memcpy.ll
Log Message:
-----------
Revert "[RISCV] Rework memcpy test" (#122662)
Reverts llvm/llvm-project#120364
The test should be updated due to some recent changes.
Commit: 681c4a2068702f7483608b89e7a7e9235faf6bd9
https://github.com/llvm/llvm-project/commit/681c4a2068702f7483608b89e7a7e9235faf6bd9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/memcpy.ll
Log Message:
-----------
Reapply "[RISCV] Rework memcpy test (#120364)"
Use descriptive names and add more cases.
This recommits 59bba39 which was reverted in 4637c77.
Commit: 77e6f434ec79db025aa9c7d193179727f1d63714
https://github.com/llvm/llvm-project/commit/77e6f434ec79db025aa9c7d193179727f1d63714
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
Log Message:
-----------
[SPIRV] convergence anchor intrinsic does not have a parent token (#122230)
Commit: f15da5fb7845979889b73f3f47bb126617e823cf
https://github.com/llvm/llvm-project/commit/f15da5fb7845979889b73f3f47bb126617e823cf
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
A llvm/test/CodeGen/AMDGPU/invalid-cast-load-i1.ll
Log Message:
-----------
[AMDGPU] Fix an invalid cast in `AMDGPULateCodeGenPrepare::visitLoadInst` (#122494)
Fixes: SWDEV-507695
Commit: 7bf1cb702bdbec4b054a65cb58244596e8cd4138
https://github.com/llvm/llvm-project/commit/7bf1cb702bdbec4b054a65cb58244596e8cd4138
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
A llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-wave32-feature.ll
Log Message:
-----------
[AMDGPU][NewPM] Port AMDGPURemoveIncompatibleFunctions to NPM (#122261)
Commit: ecf4f95c4f55eea0830659654fa264189773a423
https://github.com/llvm/llvm-project/commit/ecf4f95c4f55eea0830659654fa264189773a423
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sincosf16_utils.h
A libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanpif16.cpp
A libc/src/math/tanf16.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/cosf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/tanf16_test.cpp
A libc/test/src/math/tanf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add tanf16 function (#121018)
- Implementation of tan for 16-bit floating point inputs.
- Exhaustive tests across the 16-bit input range
Commit: f431f93a775d2a18ff67bc53a634a81a4580bbee
https://github.com/llvm/llvm-project/commit/f431f93a775d2a18ff67bc53a634a81a4580bbee
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
[CodeGen][NewPM] Use proper NPM AtomicExpandPass in AMDGPU (#122086)
`PassRegistry.def` already has this entry, but the dummy definition was
being pulled instead.
I couldn't reproduce the build failures that FIXME referenced, maybe the
Dummy pass getting in the way was part of the cause.
Commit: b86153919652302982356990d93fda4ad9ddae30
https://github.com/llvm/llvm-project/commit/b86153919652302982356990d93fda4ad9ddae30
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M libc/include/llvm-libc-types/cfloat128.h
Log Message:
-----------
[libc][complex] fix compiler support matrix for cfloat128 (#122593)
Before this patch, [godbolt](https://godbolt.org/z/6PPsvv9qd) failed to
compile `cfloat128` with `-ffreestanding` but with the patch, the
compilation succeeds, [godbolt](https://godbolt.org/z/4M8zzejss).
Fixes: #122500
cc: @nickdesaulniers
Commit: 6f558e0e124012fd00927d6d42545649bd7e0dcd
https://github.com/llvm/llvm-project/commit/6f558e0e124012fd00927d6d42545649bd7e0dcd
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/OpenMP/masked_taskloop_codegen.c
Log Message:
-----------
[OpenMP] codegen support for masked combined construct masked taskloop (#121914)
Added codegen support for combined masked constructs `masked taskloop.`
Added implementation for `EmitOMPMaskedTaskLoopDirective`.
---------
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 36c3466aef6c8bfde0ddc736b8403e2c45f5e1c6
https://github.com/llvm/llvm-project/commit/36c3466aef6c8bfde0ddc736b8403e2c45f5e1c6
Author: Clément Fournier <clement.fournier at tu-dresden.de>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/transform-op-decompose.mlir
Log Message:
-----------
[mlir][linalg] Fix neutral elt for softmax (#118952)
The decomposition of `linalg.softmax` uses `maxnumf`, but the identity
element that is used in the generated code is the one for `maximumf`.
They are not the same, as the identity for `maxnumf` is `NaN`, while the
one of `maximumf` is `-Infty`. This is wrong and prevents the maxnumf
from being folded.
Related to #114595, which fixed the folder for maxnumf.
Commit: 76af93fbea6c5f0f3558824ce8ebfafcf80a94d4
https://github.com/llvm/llvm-project/commit/76af93fbea6c5f0f3558824ce8ebfafcf80a94d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-12 (Sun, 12 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
Log Message:
-----------
Partially revert "[TableGen] Avoid repeated hash lookups (NFC) (#122586)"
This partially reverts commit 07ff786e39e2190449998d3af1000454dee501be.
The hunk being reverted in this patch seems to break:
tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml
under LLVM_ENABLE_EXPENSIVE_CHECKS.
Commit: 56a37a3c767b037143235bf34d180be85de7fd53
https://github.com/llvm/llvm-project/commit/56a37a3c767b037143235bf34d180be85de7fd53
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Refactor HorizontalReduction::createOp (NFC) (#121549)
This patch simplifies select-based integer min/max reductions by
utilizing `llvm::getMinMaxReductionPredicate`, and generates
intrinsic-based min/max reductions by utilizing
`llvm::getMinMaxReductionIntrinsicOp`.
Commit: 4f96fb5fb349b0030f9c14b4fe389cebc3069702
https://github.com/llvm/llvm-project/commit/4f96fb5fb349b0030f9c14b4fe389cebc3069702
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Spiller.h
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
Log Message:
-----------
Reapply "Spiller: Detach legacy pass and supply analyses instead (#119181)" (#122665)
Makes Inline Spiller amenable to the new PM.
This reapplies commit a531800344dc54e9c197a13b22e013f919f3f5e1 reverted
because of two unused private members reported on sanitizer bots.
Commit: b270525f730be6e7196667925f5a9bfa153262e9
https://github.com/llvm/llvm-project/commit/b270525f730be6e7196667925f5a9bfa153262e9
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTImporterLookupTable.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Not using primary context in lookup table (#118466)
`ASTImporterLookupTable` did use the `getPrimaryContext` function to get
the declaration context of the inserted items. This is problematic
because the primary context can change during import of AST items, most
likely if a definition of a previously not defined class is imported.
(For any record the primary context is the definition if there is one.)
The use of primary context is really not important, only for namespaces
because these can be re-opened and lookup in one namespace block is not
enough. This special search is now moved into ASTImporter instead of
relying on the lookup table.
Commit: 1b199d19902a752433c397377567ff381261e94a
https://github.com/llvm/llvm-project/commit/1b199d19902a752433c397377567ff381261e94a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M .ci/generate_test_report.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[ci] Handle the case where all reported tests pass but the build is still a failure (#120264)
In this build:
https://buildkite.com/llvm-project/github-pull-requests/builds/126961
The builds actually failed, probably because prerequisite of a test
suite failed to build.
However they still ran other tests and all those passed. This meant that
the test reports were green even though the build was red. On some level
this is technically correct, but it is very misleading in practice.
So I've also passed the build script's return code, as it was when we
entered the on exit handler, to the generator, so that when this happens
again, the report will draw the viewer's attention to the overall
failure. There will be a link in the report to the build's log file, so
the next step to investigate is clear.
It would be nice to say "tests failed and there was some other build
error", but we cannot tell what the non-zero return code was caused by.
Could be either.
The script handles the following situations now:
| Have Result Files? | Tests reported failed? | Return code | Report |
|--------------------|------------------------|-------------|-----------------------------------------------------------------------------|
| Yes | No | 0 | Success style report. |
| Yes | Yes | 0 | Shouldn't happen, but if it did, failure style report
showing the failures. |
| Yes | No | 1 | Failure style report, showing no failures but noting
that the build failed. |
| Yes | Yes | 1 | Failure style report, showing the test failures. |
| No | ? | 0 | No test report, success shown in the normal build
display. |
| No | ? | 1 | No test report, failure shown in the normal build
display. |
Commit: d03f35f9b6d031d6a9375d90ccf7cc285f8e4b79
https://github.com/llvm/llvm-project/commit/d03f35f9b6d031d6a9375d90ccf7cc285f8e4b79
Author: xiaoleis-nv <99947620+xiaoleis-nv at users.noreply.github.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Fix the datatype error for nvvm.mma.sync when the operand is bf16 (#122664)
The PR fixes the datatype error for `nvvm.mma.sync` when the operand is
`bf16`. This operation originally requires the A/B type to be `f16x2`
for the `bf16` MMA. However, it violates the NVVM intrinsic
[[here](https://github.com/xiaoleis-nv/llvm-project/blob/372044ee09d39942925824f8f335aef40bfe92f0/llvm/include/llvm/IR/IntrinsicsNVVM.td#L119)],
where the A/B operand type should be `i32`. This is a bug, and there are
no tests in MLIR that cover this datatype.
```
// mma bf16 -> s32 @ m16n8k16/m16n8k8
!eq(gft,"m16n8k16:a:bf16") : !listsplat(llvm_i32_ty, 4),
!eq(gft,"m16n8k16:b:bf16") : !listsplat(llvm_i32_ty, 2),
!eq(gft,"m16n8k8:a:bf16") : !listsplat(llvm_i32_ty, 2),
!eq(gft,"m16n8k8:b:bf16") : [llvm_i32_ty],
```
This PR addresses this bug and adds tests to guarantee correctness.
Co-authored-by: Xiaolei Shi <xiaoleis at nvidia.com>
Commit: e2a071ece58790f8dd4886e998033cab82e906fb
https://github.com/llvm/llvm-project/commit/e2a071ece58790f8dd4886e998033cab82e906fb
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir
Log Message:
-----------
[MachineCP] Correctly handle register masks and sub-registers (#122472)
When passing an instruction with a register mask, the machine copy
propagation pass was dropping the information about some copy
instructions which define a register which is preserved by the mask,
because that register overlaps a register which is partially clobbered
by it. This resulted in a miscompilation for AArch64, because this
caused a live copy to be considered dead.
The fix is to clobber register masks by finding the set of reg units
which is preserved by the mask, and clobbering all units not in that
set.
Commit: 16923da241377b05cf485dcca07f2b00df6bf500
https://github.com/llvm/llvm-project/commit/16923da241377b05cf485dcca07f2b00df6bf500
Author: xtex <xtex at envs.net>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/include/clang/Frontend/Utils.h
M clang/lib/Frontend/DependencyFile.cpp
M clang/test/Frontend/dependency-gen-symlink.c
M clang/test/Frontend/dependency-gen-windows-duplicates.c
M clang/test/VFS/external-names.c
Log Message:
-----------
Revert "[clang] Canonicalize absolute paths in dependency file" (#121638)
Reverts llvm/llvm-project#117458
https://github.com/llvm/llvm-project/pull/117458#issuecomment-2568804774
https://github.com/ninja-build/ninja/issues/2528
Commit: c2979c58d49bf3c7dc892ed9fb49cdca389130ee
https://github.com/llvm/llvm-project/commit/c2979c58d49bf3c7dc892ed9fb49cdca389130ee
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang] Add release note for pointer overflow optimization change (#122462)
Add a release note for optimization change related to pointer overflow
checks. I've put this in the breaking changes section to give it the
best chance of being seen.
Commit: b5987157e86b3ef87b8ed95f737e0a016974c793
https://github.com/llvm/llvm-project/commit/b5987157e86b3ef87b8ed95f737e0a016974c793
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
Log Message:
-----------
[flang][OpenMP] Fix `omp-declarative-allocate-align.f90` expectations (#122675)
The test was effectively a no-op since we used `//` instead of `!` for
`RUN` and `CHECK` lines. Also, we have to specify the proper OpenMP
version.
Commit: a3b3c26048e1e9397cf412b07f09f82fe49e351e
https://github.com/llvm/llvm-project/commit/a3b3c26048e1e9397cf412b07f09f82fe49e351e
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
Log Message:
-----------
[TableGen] Use assert instead of PrintFatalError in TGLexer. NFC. (#122303)
Do not use the PrintFatalError diagnostic machinery for conditions that
can never happen with any input.
Commit: 7e01a322f850e86be9eefde8ae5a30e532d22cfa
https://github.com/llvm/llvm-project/commit/7e01a322f850e86be9eefde8ae5a30e532d22cfa
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Fix unused variable warning (NFC) (#122686)
Commit: 7e2eb0f83e1cf6861c8fd1f038a88a8ddd851c34
https://github.com/llvm/llvm-project/commit/7e2eb0f83e1cf6861c8fd1f038a88a8ddd851c34
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/convert-sm89.ll
A llvm/test/CodeGen/NVPTX/convert-sm90.ll
Log Message:
-----------
[NVPTX] Add float to tf32 conversion intrinsics (#121507)
This patch adds the missing variants of float to tf32 conversion
intrinsics, with their corresponding lit tests.
PTX Spec link:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: f136c800b60dbfacdbb645e7e92acba52e2f279f
https://github.com/llvm/llvm-project/commit/f136c800b60dbfacdbb645e7e92acba52e2f279f
Author: vfdev <vfdev.5 at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/docs/Bindings/Python.md
M mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/python/requirements.txt
A mlir/test/python/multithreaded_tests.py
Log Message:
-----------
Enabled freethreading support in MLIR python bindings (#122684)
Reland reverted https://github.com/llvm/llvm-project/pull/107103 with
the fixes for Python 3.8
cc @jpienaar
Co-authored-by: Peter Hawkins <phawkins at google.com>
Commit: d2ba364440662b1025b2fbc00066eaae8b369cb1
https://github.com/llvm/llvm-project/commit/d2ba364440662b1025b2fbc00066eaae8b369cb1
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
Fix an unused-variable warning in release build.
Commit: d7e79663e77e05ed4e7580be1dca00d7ef3b12c5
https://github.com/llvm/llvm-project/commit/d7e79663e77e05ed4e7580be1dca00d7ef3b12c5
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/docs/Modules.rst
Log Message:
-----------
Remove an extra trailing `` in Modules.rst, NFC
Commit: 171d3edd0507422f64cc11b33dac7b7f2b703f76
https://github.com/llvm/llvm-project/commit/171d3edd0507422f64cc11b33dac7b7f2b703f76
Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqciint-invalid.s
A llvm/test/MC/RISCV/xqciint-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqciint (Interrupts) extension (#122256)
This extension adds eleven instructions to accelerate interrupt
servicing.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
---------
Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>
Commit: 795e35a653b977bf637d1d049423adc8a63cd20d
https://github.com/llvm/llvm-project/commit/795e35a653b977bf637d1d049423adc8a63cd20d
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Reland "[LoopVectorizer] Add support for partial reductions" with non-phi operand fix. (#121744)
This relands the reverted #120721 with a fix for cases where neither
reduction operand are the reduction phi. Only
63114239cc8d26225a0ef9920baacfc7cc00fc58 and
63114239cc8d26225a0ef9920baacfc7cc00fc58 are new on top of the reverted
PR.
---------
Co-authored-by: Nicholas Guy <nicholas.guy at arm.com>
Commit: 5315f3f8cb8f562ec39f57f2fce79c8e017595f9
https://github.com/llvm/llvm-project/commit/5315f3f8cb8f562ec39f57f2fce79c8e017595f9
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c
M clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c.expected
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_cc_test_checks.py
Log Message:
-----------
Handle leading underscores in update_cc_test_checks.py (#121800)
For some ABIs `update_cc_test_checks.py` is unable to generate tests
because of the mismatch between the mangled function names reported by
clang's `-asd-dump` and the function names in LLVM IR.
This patch fixes it by striping the leading underscore from the mangled
name for global functions if the data layout string says they have one.
Commit: 6c5941b09fca487efc5000c82bbce6054bf36a7c
https://github.com/llvm/llvm-project/commit/6c5941b09fca487efc5000c82bbce6054bf36a7c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll
Log Message:
-----------
[X86] subvectorwise-store-of-vector-splat.ll - regenerate VPTERNLOG comments
Commit: b605dab7a8352158ee0d399b8c3433f9a8b495a3
https://github.com/llvm/llvm-project/commit/b605dab7a8352158ee0d399b8c3433f9a8b495a3
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M polly/lib/External/isl/interface/python.cc
M polly/lib/External/isl/libisl-gdb.py
M polly/lib/External/isl/python/isl.py.top
M polly/test/lit.site.cfg.in
M polly/utils/pyscop/isl.py
Log Message:
-----------
[Polly] Use "is" instead of "==" to check for None (#94021)
>From PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Commit: ca92bdfa3ef8f9a1cc97167fc96601f8bd7b436b
https://github.com/llvm/llvm-project/commit/ca92bdfa3ef8f9a1cc97167fc96601f8bd7b436b
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ControllerHelpers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests] Use "is" instead of "==" to check for None (#94016)
>From PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Commit: 5609724c2e5b59130c6fcfc128120777282c8d9a
https://github.com/llvm/llvm-project/commit/5609724c2e5b59130c6fcfc128120777282c8d9a
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M polly/test/update_check.py
Log Message:
-----------
[Polly] Fix invalid escape sequences (#94037)
These generate a SyntaxWarning since Python 3.12.
Commit: 3efe83291f07dcf2423065e63b826407d1ec2609
https://github.com/llvm/llvm-project/commit/3efe83291f07dcf2423065e63b826407d1ec2609
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
Log Message:
-----------
[AArch64] Fix chain for calls from agnostic-ZA functions.
The lowering code was using the wrong chain value, which meant that
the 'smstart' after the call from streaming agnostic-ZA functions ->
non-streaming private-ZA functions was incorrectly removed from the DAG.
Commit: 5eb9acff2845f08741e70be4a5fc1d6afc644375
https://github.com/llvm/llvm-project/commit/5eb9acff2845f08741e70be4a5fc1d6afc644375
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M polly/lib/External/isl/interface/python.cc
M polly/lib/External/isl/libisl-gdb.py
M polly/lib/External/isl/python/isl.py.top
Log Message:
-----------
[Polly] Revert changes to isl Python code
This partially reverts b605dab7a8352158ee0d399b8c3433f9a8b495a3,
dropping the changes to isl. This is an external library, so
we shouldn't modify it unless strictly necessary.
Commit: a1a3e019d7adbacaa848bee12020e4d9a8401c02
https://github.com/llvm/llvm-project/commit/a1a3e019d7adbacaa848bee12020e4d9a8401c02
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests] Fix invalid escape sequences (#94031)
These generate a SyntaxWarning with Python 3.12.
Commit: 73b0e8a191f89fd785a052795c1c855d4119119e
https://github.com/llvm/llvm-project/commit/73b0e8a191f89fd785a052795c1c855d4119119e
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
A llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/enqueue-kernel.ll
Log Message:
-----------
[AMDGPU][NewPM] Port AMDGPUOpenCLEnqueuedBlockLowering to NPM (#122434)
Commit: 82b9eb1086d45caf74ff3d5dfa519631c247eb14
https://github.com/llvm/llvm-project/commit/82b9eb1086d45caf74ff3d5dfa519631c247eb14
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/reduction-teams.f90
A flang/test/Lower/OpenMP/reduction-teams.f90
Log Message:
-----------
[Flang][OpenMP] Support teams reductions lowering (#122683)
This patch adds PFT to MLIR lowering of teams reductions. Since there is
still no MLIR to LLVM IR translation implemented, compilation of
programs including these constructs will still trigger
not-yet-implemented errors.
Commit: e9a55770dcee48a3c28b71720db383762049a778
https://github.com/llvm/llvm-project/commit/e9a55770dcee48a3c28b71720db383762049a778
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
Log Message:
-----------
AMDGPU: Add gfx9 run line to scalar_to_vector test (#122659)
Commit: f4598194b5d65f6bafa987a2e55c46d03c5d0052
https://github.com/llvm/llvm-project/commit/f4598194b5d65f6bafa987a2e55c46d03c5d0052
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
Log Message:
-----------
DAG: Fold bitcast of scalar_to_vector to anyext (#122660)
scalar_to_vector is difficult to make appear and test,
but I found one case where this makes an observable difference.
It fires more often than this in the test suite, but most of them
have no net result in the final code. This helps reduce regressions
in a future commit.
Commit: 41a94de75caacb979070ec7a010dfe3c4e9f116f
https://github.com/llvm/llvm-project/commit/41a94de75caacb979070ec7a010dfe3c4e9f116f
Author: Maksim Ivanov <emaxx at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/examples/Attribute/Attribute.cpp
M clang/examples/CallSuperAttribute/CallSuperAttrInfo.cpp
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/ParsedAttr.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang] Refactor attr diagnostics to use %select (#122473)
A cleanup follow-up to #118501 and #118567.
Commit: 3397950f2d21426c7520d114a12588128906a897
https://github.com/llvm/llvm-project/commit/3397950f2d21426c7520d114a12588128906a897
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Fix FindLastIV reduction for epilogue vectorization. (#120395)
Following 0e528ac404e13ed2d952a2d83aaf8383293c851e, this patch adjusts
the resume value of VPReductionPHIRecipe for FindLastIV reductions.
Replacing the resume value with:
ResumeValue = ResumeValue == StartValue ? SentinelValue : ResumeValue;
This addressed the correctness issue when the start value might not be
less than the minimum value of a monotonically increasing induction
variable.
Thanks Florian Hahn for the help.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 21e58ee9f7de60a7e9202ad3f424ec3ad5a6fce5
https://github.com/llvm/llvm-project/commit/21e58ee9f7de60a7e9202ad3f424ec3ad5a6fce5
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/UsersManual.rst
A clang/docs/analyzer/images/example_attribute_nonnull.png
A clang/docs/analyzer/images/example_cf_returns_retained.png
A clang/docs/analyzer/images/example_ns_returns_retained.png
M clang/docs/analyzer/user-docs.rst
A clang/docs/analyzer/user-docs/Annotations.rst
M clang/docs/analyzer/user-docs/FAQ.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/www/analyzer/annotations.html
R clang/www/analyzer/images/example_attribute_nonnull.png
R clang/www/analyzer/images/example_cf_returns_retained.png
R clang/www/analyzer/images/example_ns_returns_retained.png
Log Message:
-----------
[NFC][analyzer][docs] Migrate 'annotations.html' to RST (#122246)
This commit migrates the contents of 'annotations.html' in the old
HTML-based documentation of the Clang static analyzer to the new
RST-based documentation.
During this conversion I reordered the sections of this documentation
file by placing the section "Custom Assertion Handlers" as a subsection
of "Annotations to Enhance Generic Checks". (The primary motivation was
that Sphinx complained about inconsistent section levels; with this
change I preserved that sections describing individual annotations are
all on the same level.)
Apart from this change and the format conversion, I didn't review,
validate or edit the contents of this documentation file because I think
it would be better to place any additional changes in separate commits.
Commit: 8b4561467e828c3755ad2942715fac00de2be4a7
https://github.com/llvm/llvm-project/commit/8b4561467e828c3755ad2942715fac00de2be4a7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
Log Message:
-----------
LAA: add missed swap when inverting src, sink (#122254)
When inverting source and sink on a negative induction step, the types
of the source and sink should also be swapped. This fixes a bug in the
code that follows, that computes properties based on these types. With
234cc40 ([LAA] Limit no-overlap check to at least one loop-invariant
accesses.), that code is guarded by a loop-invariant condition: however,
the commit did not add any new tests exercising the guarded code, and
hence the bugfix in this patch requires additional tests to exercise
that guarded codepath.
Commit: 418f5cd6c2b99c8cd45113aada8e83446ebdc350
https://github.com/llvm/llvm-project/commit/418f5cd6c2b99c8cd45113aada8e83446ebdc350
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
Log Message:
-----------
[LV][EVL] Pre-commit test case for fixed-order recurrence with EVL tail folding. (NFC) (#122456)
This test case is from
SingleSource/UnitTests/Vectorizer/recurrences.test.
Pre-commit for #122458
Commit: ed80d0c2ae41888d8d0be90e73026bc126d82161
https://github.com/llvm/llvm-project/commit/ed80d0c2ae41888d8d0be90e73026bc126d82161
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
A clang/docs/analyzer/images/example_custom_assert.png
A clang/docs/analyzer/images/example_null_pointer.png
A clang/docs/analyzer/images/example_use_assert.png
M clang/docs/analyzer/user-docs/FAQ.rst
R clang/www/analyzer/images/example_custom_assert.png
R clang/www/analyzer/images/example_null_pointer.png
R clang/www/analyzer/images/example_use_assert.png
R clang/www/analyzer/images/scan_build_cmd.png
Log Message:
-----------
[NFC][analyzer][docs] Restore/remove orphaned images (#122481)
When commit 61a76f58ebf1 converted the static analyzer FAQ from HTML to
RST, it accidentally left out three images (`example_*.png`) that were
previously present in that document. This commit re-adds those three
images to the FAQ (and moves them to the directory for the image assets
of the RST documentation).
Moreover commit 093aaca2b0ad _copied_ the file `scan_build_cmd.png` to
the RST documentation directory instead of just moving it; so this
commit removes its "old" copy which is no longer used (because the old
HTML-based documentation file was replaced by a stub that redirects to
the RST docs).
Commit: d6f7f2a5fa0e305253f936cdc8364eecfd568121
https://github.com/llvm/llvm-project/commit/d6f7f2a5fa0e305253f936cdc8364eecfd568121
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir
Log Message:
-----------
Revert "[MachineCP] Correctly handle register masks and sub-registers (#122472)"
This reverts commit e2a071ece58790f8dd4886e998033cab82e906fb.
This causes a large compile-time regression.
Commit: 22e9024c9f374c0c740647829050c289673dbb11
https://github.com/llvm/llvm-project/commit/22e9024c9f374c0c740647829050c289673dbb11
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/Support/ModRef.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Assembler/captures-errors.ll
A llvm/test/Assembler/captures.ll
M llvm/test/Bitcode/attributes.ll
M llvm/unittests/IR/AttributesTest.cpp
Log Message:
-----------
[IR] Introduce captures attribute (#116990)
This introduces the `captures` attribute as described in:
https://discourse.llvm.org/t/rfc-improvements-to-capture-tracking/81420
This initial patch only introduces the IR/bitcode support for the
attribute and its in-memory representation as `CaptureInfo`. This will
be followed by a patch to upgrade and remove the `nocapture` attribute,
and then by actual inference/analysis support.
Based on the RFC feedback, I've used a syntax similar to the `memory`
attribute, though the only "location" that can be specified is `ret`.
I've added some pretty extensive documentation to LangRef on the
semantics. One non-obvious bit here is that using ptrtoint will not
result in a "return-only" capture, even if the ptrtoint result is only
used in the return value. Without this requirement we wouldn't be able
to continue ordinary capture analysis on the return value.
Commit: 7ed451a3f3f777966b05c51af920aa23fa1cd73e
https://github.com/llvm/llvm-project/commit/7ed451a3f3f777966b05c51af920aa23fa1cd73e
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/test/CodeGen/AArch64/fp8-sve-fdot.ll
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Change feature dependencies of fp8 features (#122280)
This patch simplifies feature dependencies of FP8 features and also adds
new tests to check these.
Commit: ad38e24eb74e97148faec97c4f843b87768b6e9b
https://github.com/llvm/llvm-project/commit/ad38e24eb74e97148faec97c4f843b87768b6e9b
Author: David Pagan <dave.pagan at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
R clang/test/OpenMP/allocate_allocator_modifier_ast_print.cpp
R clang/test/OpenMP/allocate_allocator_modifier_codegen.cpp
R clang/test/OpenMP/allocate_allocator_modifier_messages.cpp
A clang/test/OpenMP/allocate_modifiers_ast_print.cpp
A clang/test/OpenMP/allocate_modifiers_codegen.cpp
A clang/test/OpenMP/allocate_modifiers_messages.cpp
Log Message:
-----------
[clang][OpenMP] Add 'align' modifier for 'allocate' clause (#121814)
The 'align' modifier is now accepted in the 'allocate' clause. Added LIT
tests covering codegen, PCH, template handling, and serialization for
'align' modifier.
Added support for align-modifier to release notes.
Testing
- New allocate modifier LIT tests.
- OpenMP LIT tests.
- check-all
Commit: d98ced1a9d641539d5bbb287bd16378ba3f5dba9
https://github.com/llvm/llvm-project/commit/d98ced1a9d641539d5bbb287bd16378ba3f5dba9
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Multilib.h
M clang/lib/Driver/Multilib.cpp
A clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml
Log Message:
-----------
[Multilib] Custom flags YAML parsing (#110657)
This patch is the first step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.
Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058
The multilib mechanism supports libraries that target code generation or
language options such as `--target`, `-mcpu`, `-mfpu`,
`-mbranch-protection`. However, some library variants are particular to
features that do not correspond to any command-line options. Examples
include variants for multithreading and semihosting.
This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch comprises a
new section in `multilib.yaml` to declare flags for which no option
exists. Henceforth this sort of flag will be called `custom flag` for
clarity.
The `multilib.yaml` file will have a new section called Flags which
contains the declarations of the target’s custom flags:
```yaml
Flags:
- Name: multithreaded
Values:
- Name: no-multithreaded
MacroDefines: [__SINGLE_THREAD__]
- Name: multithreaded
Default: no-multithreaded
- Name: io
Values:
- Name: io-none
- Name: io-semihosting
MacroDefines: [SEMIHOSTING]
- Name: io-linux-syscalls
MacroDefines: [LINUX_SYSCALLS, HOSTED=1]
Default: io-none
```
- Name: the name to categorize a flag.
- Values: a list of possible values.
- Default: it specifies which value this flag should take if not
specified in the command-line invocation. It must be one value from the
Values field.
Each flag Value follows this description:
- Name (required): the name of the custom flag value (string). This is
the string to be used in `-fmultilib-flag=<string>`.
- MacroDefines (optional): a list of strings to be used as macro
definitions. Each string
is fed into the driver as ``-D<string>``.
A Default value is useful to save users from specifying custom flags
that have a most commonly used value.
The namespace of flag values is common across all flags. This means that
flag values must be unique.
Commit: 2a551ab3002897ba52a27961b766f3741695c816
https://github.com/llvm/llvm-project/commit/2a551ab3002897ba52a27961b766f3741695c816
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[Multilib] Add -fmultilib-flag command-line option (#110658)
This patch is the second step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.
Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058
The multilib mechanism supports libraries that target code generation or
language options such as --target, -mcpu, -mfpu, -mbranch-protection.
However, some library variants are particular to features that do not
correspond to any command-line options. Examples include variants for
multithreading and semihosting.
This work introduces a way to instruct the multilib system to consider
these features in library selection.
The driver must be informed about the multilib custom flags with a new
command-line option.
```
-fmultilib-flag=C
```
Where the grammar for C is:
```
C -> option
option -> multithreaded | no-multithreaded | io-none | io-semihosting | io-linux-syscalls | ...
```
There must be one option instance for each flag specified:
```
-fmultilib-flag=multithreaded -fmultilib-flag=io-semihosting
```
Contradictory options are untied by *last one wins*.
These options are to be used exclusively by the multilib mechanism in
the Clang driver. Hence they are not forwarded to the compiler frontend.
Commit: 162397f98d04415eebe115cdcb01558932e5c802
https://github.com/llvm/llvm-project/commit/162397f98d04415eebe115cdcb01558932e5c802
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/module.modulemap
R libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp
Log Message:
-----------
[libc++] Replace stable_sort with sort in flat_map (#121431)
Fixes #120788
Commit: cedb44af53f195135e8e8de98f161048d19f8857
https://github.com/llvm/llvm-project/commit/cedb44af53f195135e8e8de98f161048d19f8857
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__functional/function.h
M libcxx/include/__memory/allocator.h
R libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/unique_temporary_buffer.h
M libcxx/include/__new/allocate.h
M libcxx/include/__string/constexpr_c_functions.h
A libcxx/include/__utility/element_count.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/module.modulemap
M libcxx/src/memory_resource.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
Log Message:
-----------
[libc++] Pass type information down to __libcpp_allocate (#118837)
Currently, places where we call __libcpp_allocate must drop type
information on the ground even when they actually have such information
available. That is unfortunate since some toolchains and system
allocators are able to provide improved security when they know what
type is being allocated.
This is the purpose of http://wg21.link/p2719, where we introduce a new
variant of `operator new` which takes a type in its interface. A
different but related issue is that `std::allocator` does not honor any
in-class `T::operator new` since it is specified to call the global
`::operator new` instead.
This patch closes the gap to make it trivial for implementations that
provide typed memory allocators to actually benefit from that
information in more contexts, and also makes libc++ forward-compatible
with future proposals that would fix the existing defects in
`std::allocator`. It also makes the internal allocation API higher level
by operating on objects instead of operating on bytes of memory.
Since this is a widely-used function and making this a template could
have an impact on debug info sizes, I tried minimizing the number of
templated layers by removing `__do_deallocate_handle_size`, which was
easy to replace with a macro (and IMO this leads to cleaner code).
Commit: d1a622db1b1a93ac61f7f281605c4606b391f24a
https://github.com/llvm/llvm-project/commit/d1a622db1b1a93ac61f7f281605c4606b391f24a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M libcxx/include/__locale
Log Message:
-----------
[libc++][NFC] Use uint32_t instead of __uint32_t on Apple (#122356)
We had a 15 year old occurence of __uint32_t, likely from a time when
uint32_t was not available everywhere.
Commit: 019a902ac644c59dfa8e6091f96846b516444ca5
https://github.com/llvm/llvm-project/commit/019a902ac644c59dfa8e6091f96846b516444ca5
Author: A. Jiang <de34 at live.cn>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/future
A libcxx/test/libcxx/thread/futures/futures.task/type.depr.verify.cpp
M libcxx/test/libcxx/thread/futures/futures.task/types.pass.cpp
Log Message:
-----------
[libc++] Deprecate extension `packaged_task::result_type` (#122600)
This extension is questionable and non-conforming. Perhaps we should
deprecate and then remove it.
Towards #112856.
Commit: 7457f51f6cf61b960e3e6e45e63378debd5c1d5c
https://github.com/llvm/llvm-project/commit/7457f51f6cf61b960e3e6e45e63378debd5c1d5c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/pr97968.ll
M llvm/test/CodeGen/X86/shuffle-strided-with-offset-512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] Fold VPERMV3(X,M,Y) -> VPERMV(CONCAT(X,Y),WIDEN(M)) iff the CONCAT is free (#122485)
This extends the existing fold which concatenates X and Y if they are sequential subvectors extracted from the same source.
By using combineConcatVectorOps we can recognise other patterns where X and Y can be concatenated for free (e.g. sequential loads, concatenating repeated instructions etc.), which allows the VPERMV3 fold to be a lot more aggressive.
This required combineConcatVectorOps to be extended to fold the additional case of "concat(extract_subvector(x,lo), extract_subvector(x,hi)) -> extract_subvector(x)", similar to the original VPERMV3 fold where "x" was larger than the concat result type.
This also exposes more cases where we have repeated vector/subvector loads if they have multiple uses - e.g. where we're loading a ymm and the lo/hi xmm pairs independently - in the past we've always considered this to be relatively benign, but I'm not certain if we should now do more to keep these from splitting?
Commit: 65566281edac2b5f75a99302e7200c957db90143
https://github.com/llvm/llvm-project/commit/65566281edac2b5f75a99302e7200c957db90143
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/pt-gnu-property.test
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
[llvm-objdump] Remove leading whitespace for PT_GNU_PROPERTY. (#121591)
This fixes the misaligned display of addresses for this p_type.
Previous:
```
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**64
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
PROPERTY off 0x0000000000000358 vaddr 0x0000000000000358 paddr 0x0000000000000358 align 2**3
filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
NOTE off 0x0000000000000334 vaddr 0x0000000000000334 paddr 0x0000000000000334 align 2**2
filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
```
After:
```
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**64
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
PROPERTY off 0x0000000000000358 vaddr 0x0000000000000358 paddr 0x0000000000000358 align 2**3
filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
NOTE off 0x0000000000000334 vaddr 0x0000000000000334 paddr 0x0000000000000334 align 2**2
filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
```
Commit: b5ba4f06db2e159885fc4b6e7709274a3910b8b5
https://github.com/llvm/llvm-project/commit/b5ba4f06db2e159885fc4b6e7709274a3910b8b5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/fuchsia.h
A libcxx/include/__locale_dir/support/fuchsia.h
A libcxx/include/__locale_dir/support/no_locale/characters.h
A libcxx/include/__locale_dir/support/no_locale/strtonum.h
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Redefine Fuchsia locale base support on top of the new API (#122489)
This follows the same path we've been doing for all platforms so far,
moving away from the old definition of the locale base API.
Co-authored-by: Daniel Thornburgh <mysterymath at gmail.com>
Commit: ce8c64fc8e067608be0dd44ca5399f85bab9e20d
https://github.com/llvm/llvm-project/commit/ce8c64fc8e067608be0dd44ca5399f85bab9e20d
Author: vfdev <vfdev.5 at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
Log Message:
-----------
Remove StandaloneExtensionPybind11.cpp FT update as does not work with python 3.8 and old pybind11 (#122697)
Description:
- Remove StandaloneExtensionPybind11.cpp FT update as does not work with
python 3.8 and old pybind11
This should also fix the failing toy.test:
https://github.com/llvm/llvm-project/pull/122684#issuecomment-2586802692
cc @jpienaar
Commit: 99612a3a18e0c40aac9c52b68e67b106f97ed4fa
https://github.com/llvm/llvm-project/commit/99612a3a18e0c40aac9c52b68e67b106f97ed4fa
Author: bernhardu <bernhardu at mailbox.org>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Support some more 2 byte instructions. (#120235)
This patch adds several instructions seen when trying to run a
executable built with ASan with llvm-mingw.
(x86 and x86_64, using the git tip in llvm-project).
Also includes instructions collected by
Roman Pišl and Eric Pouech in the Wine bug reports below.
```
Related: https://github.com/llvm/llvm-project/issues/96270
Co-authored-by: Roman Pišl <rpisl at seznam.cz>
https://bugs.winehq.org/show_bug.cgi?id=50993
https://bugs.winehq.org/attachment.cgi?id=70233
Co-authored-by: Eric Pouech <eric.pouech at gmail.com>
https://bugs.winehq.org/show_bug.cgi?id=52386
https://bugs.winehq.org/attachment.cgi?id=71626
```
CC: @zmodem
Commit: 5e7d7fb1f0cefbb6f00bcd71867014ce8b71a11e
https://github.com/llvm/llvm-project/commit/5e7d7fb1f0cefbb6f00bcd71867014ce8b71a11e
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
Log Message:
-----------
[AArch64] Fix aarch64-fujitsu-monaka.c test (#122716)
Commit: 7378afd167860083eaaf0d8e411c91a28a6605d6
https://github.com/llvm/llvm-project/commit/7378afd167860083eaaf0d8e411c91a28a6605d6
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Multilib.h
M clang/lib/Driver/Multilib.cpp
R clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml
Log Message:
-----------
Revert "[Multilib] Custom flags YAML parsing" (#122722)
Reverts llvm/llvm-project#110657
It seems that this patch is causing the sanitizer bot to fail. Reverting
while I investigate
Commit: ab6c89c220192159a66c1a91ad3dd892bad1c3b2
https://github.com/llvm/llvm-project/commit/ab6c89c220192159a66c1a91ad3dd892bad1c3b2
Author: Brotcrunsher <brotcrunsher at hotmail.de>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M libcxx/src/shared_mutex.cpp
Log Message:
-----------
[libcxx] Don't hold the lock when calling notify_* on gates in std::shared_mutex (#107876)
Holding the associated lock while calling notify_* on a
condition_variable is generally considered a pessimization, as the
notified thread might "instantly" wake up, notice that it can't acquire
the lock, and then goes back to sleep.
Commit: 34ba84fe90b3e369c03e695a395ec632ef60e23d
https://github.com/llvm/llvm-project/commit/34ba84fe90b3e369c03e695a395ec632ef60e23d
Author: Steven Perron <stevenperron at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIRV] Return success when selecting reads and writes. (#122162)
The function `selectImageWriteIntrinsic` and `selectReadImageIntrinsic`
are void functions. The should return true if they succeed, and false
otherwise. This commit updates the code to do this.
Commit: af524de1fa94e4b4cee8b745d1b68f4ea0090759
https://github.com/llvm/llvm-project/commit/af524de1fa94e4b4cee8b745d1b68f4ea0090759
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
A llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll
Log Message:
-----------
[SLP]Do not include subvectors for fully matched buildvectors
If the buildvector node fully matched another node, need to exclude
subvectors, when building final shuffle, just a shuffle of the original
node must be emitted.
Fixes #122584
Commit: 09a8b7cbc29d8704c343197d4b33b6972366c682
https://github.com/llvm/llvm-project/commit/09a8b7cbc29d8704c343197d4b33b6972366c682
Author: gbMattN <146744444+gbMattN at users.noreply.github.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M compiler-rt/lib/tysan/tysan.cpp
A compiler-rt/test/tysan/struct-offset-different-base.cpp
Log Message:
-----------
[TySan] Fix struct access with different bases (#120412)
Original pull request
[here](https://github.com/llvm/llvm-project/pull/108385)
Fixes issue https://github.com/llvm/llvm-project/issues/105960
If a member in a struct is also a struct, accessing a member partway
through this inner struct currently causes a false positive. This is
because when checking aliasing, the access offset is seen as greater
than the starting offset of the inner struct, so the loop continues one
iteration, and believes we are accessing the member after the inner
struct.
The next member's offset is greater than the offset we are looking for,
so when we subtract the next member's offset from what we are looking
for, the offset underflows.
To fix this, we check if the member we think we are accessing has a
greater offset than the offset we are looking for. If so, we take a step
back. We cannot do this in the loop, since the loop does not check the
final member. This means the penultimate member would still cause false
positives.
Commit: 3318a7248ae464af0abd0bea5515fa58c962b890
https://github.com/llvm/llvm-project/commit/3318a7248ae464af0abd0bea5515fa58c962b890
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/cttz.ll
Log Message:
-----------
[InstCombine] Fold `(ct{t,l}z Pow2)` -> `Log2(Pow2)` (#122620)
- **[InstCombine] Add tests for folding `(ct{t,l}z Pow2)`; NFC**
- **[InstCombine] Fold `(ct{t,l}z Pow2)` -> `Log2(Pow2)`**
Do so we can find `Log2(Pow2)` for "free" with `takeLog2`
https://alive2.llvm.org/ce/z/CL77fo
Commit: e2c49a45da31522d91e2e7b12bbc0901b0519384
https://github.com/llvm/llvm-project/commit/e2c49a45da31522d91e2e7b12bbc0901b0519384
Author: Peter Hawkins <phawkins at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
Log Message:
-----------
[mlir python] Add locking around PyMlirContext::liveOperations. (#122720)
In JAX, I observed a race between two PyOperation destructors from
different threads updating the same `liveOperations` map, despite not
intentionally sharing the context between different threads. Since I
don't think we can be completely sure when GC happens and on which
thread, it seems safest simply to add locking here.
We may also want to explicitly support sharing a context between threads
in the future, which would require this change or something similar.
Commit: 79e788d02eefdacb08af365389b9055518f3fad6
https://github.com/llvm/llvm-project/commit/79e788d02eefdacb08af365389b9055518f3fad6
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/test/Lower/CUDA/cuda-devptr.cuf
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/OpenMP/copyin.f90
A flang/test/Lower/derived-types-bindc.f90
M flang/test/Lower/intentout-deallocate.f90
A flang/test/Semantics/offsets04.f90
Log Message:
-----------
[flang][AIX] BIND(C) derived type alignment for AIX (#121505)
This patch is to handle the alignment requirement for the `bind(c)`
derived type component that is real type and larger than 4 bytes. The
alignment of such component is 4-byte.
Commit: 051cd36f82ca9c9db599fc0fa782e22645d824c9
https://github.com/llvm/llvm-project/commit/051cd36f82ca9c9db599fc0fa782e22645d824c9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port b5ba4f06db2e
Commit: 7059178bd38e770bfadebeadf0811d0d7cb9a9e2
https://github.com/llvm/llvm-project/commit/7059178bd38e770bfadebeadf0811d0d7cb9a9e2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port cedb44af53f1
Commit: 7aebacbee965a83c5cc69f6a723605436651672c
https://github.com/llvm/llvm-project/commit/7aebacbee965a83c5cc69f6a723605436651672c
Author: Philipp Schilk <schilk.philipp at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/lib/TableGen/Operator.cpp
M mlir/test/mlir-tblgen/op-result.td
Log Message:
-----------
[MLIR][TableGen] Use arg index in InferredResultType constructor. (#122717)
Trying to constrain two results to be of the same type using
`AllTypesMatch` would cause `mlir-tablgen` to crash on this
assertion[1].
Example:
```tblgen
def OpL5 : NS_Op<"op_with_same_but_unconstraint_results",
[AllTypesMatch<["result_a", "result_b"]>]> {
let results = (outs AnyType:$result_a, AnyType:$result_b);
}
```
This is because there was a small bug when constructing the `inferences`
graph from these constraints: The sources should be specified by the
combined arg/result index (in other words, with results negative) not
with the result index.
[1]
https://github.com/llvm/llvm-project/blob/99612a3a18e0c40aac9c52b68e67b106f97ed4fa/mlir/lib/TableGen/Operator.cpp#L526
Commit: 658ec8593b25f2bd05874deab4582b6759e92e40
https://github.com/llvm/llvm-project/commit/658ec8593b25f2bd05874deab4582b6759e92e40
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg1xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG170 "Pointer-to-member conversions" (#121667)
This patch adds test for
[CWG170](https://cplusplus.github.io/CWG/issues/170.html). The
resolution adds explicit undefined behavior, so I think the best we can
do is to put the test into constexpr evaluator. Change to
[expr.static.cast] is not tested, because it was a drive-by fix that
removed an impossible case (I confirmed it using minutes). Minutes
mention several times a comprehensive paper in this design space which
no one seem to remember. I believe it's
[P0149R0](https://wg21.link/p0149r0) "Generalised member pointers".
Commit: f1632d25db47629221b8a25d79b7993b397f6886
https://github.com/llvm/llvm-project/commit/f1632d25db47629221b8a25d79b7993b397f6886
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll
Log Message:
-----------
IR: introduce ICmpInst::isImpliedByMatchingCmp (#122597)
Create an abstraction over isImplied{True,False}ByMatchingCmp to
faithfully communicate the result of both functions, cleaning up code in
callsites. While at it, fix a bug in the implied-false version of the
function, which was inadvertedenly dropping samesign information.
Commit: 3d507a890540082f5c7fc15a0f9b1dd85be02174
https://github.com/llvm/llvm-project/commit/3d507a890540082f5c7fc15a0f9b1dd85be02174
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][Docs] Add new LLDB Python guidance to release notes (#122719)
As decided in
https://discourse.llvm.org/t/rfc-lets-document-and-enforce-a-minimum-python-version-for-lldb/82731
and implemented by https://github.com/llvm/llvm-project/pull/114807.
Commit: 9256485043fe5cc3a24dba649deef8ae69e6d702
https://github.com/llvm/llvm-project/commit/9256485043fe5cc3a24dba649deef8ae69e6d702
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/test/CodeGen/AArch64/fmv-dependencies.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Features.td
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/AsmParser/AArch64AsmParser.cpp
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/test/MC/AArch64/SVE2/bdep-diagnostics.s
M llvm/test/MC/AArch64/SVE2/bdep.s
M llvm/test/MC/AArch64/SVE2/bext.s
M llvm/test/MC/AArch64/SVE2/bgrp.s
M llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension.s
M llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
M llvm/test/MC/AArch64/SVE2/directive-cpu.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[Clang][LLVM][AArch64]Add new feature SSVE-BitPerm (#121947)
The 20204-12 ISA update release adds a new feature: FEAT_SSVE_BitPerm,
which allows the sve-bitperm instructions to run in streaming mode.
It also removes the requirement of FEAT_SVE2 for FEAT_SVE_BitPerm. The
sve2-bitperm feature is now an alias for sve-bitperm and sve2.
A new feature flag sve-bitperm is added to reflect the change that the
instructions under FEAT_SVE_BitPerm are supported if:
on non streaming mode with FEAT_SVE2 and FEAT_SVE_BitPerm or
in streaming mode with FEAT_SME and FEAT_SSVE_BitPerm
Commit: 8d306ccdef6b70881f5d79b09c03df720351e5f8
https://github.com/llvm/llvm-project/commit/8d306ccdef6b70881f5d79b09c03df720351e5f8
Author: William Moses <gh at wsmoses.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
A mlir/test/Dialect/LLVMIR/inlining-nvvm.mlir
Log Message:
-----------
[MLIR][NVVM] Enable inlining of func's calling nvvm intrinsics (#122650)
Commit: 305b25c2f4264971515f71d192b75a9d27037c2d
https://github.com/llvm/llvm-project/commit/305b25c2f4264971515f71d192b75a9d27037c2d
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] Support discovering LLVM/Clang/MLIR without explicit *_DIR (#122639)
Support discovering LLVM, Clang and MLIR via the standard CMake logic in
addition to explicitly specified `LLVM_DIR`, etc. To prevent breaking
anyone's workflow the way #120914 did, this change explicitly introduces
two possible code paths based on variables provided:
1. If `LLVM_DIR`, etc. are defined, the current logic is used as-is.
2. If they are not defined, `find_package()` is called normally to
discover the packages using the standard CMake logic, and the discovered
paths are added
---------
Co-authored-by: Slava Zakharin <szakharin at nvidia.com>
Commit: 26e13091ea5ac3a53d11b50265a506f88129d6ff
https://github.com/llvm/llvm-project/commit/26e13091ea5ac3a53d11b50265a506f88129d6ff
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pattern for v_pack_b32_f16 (#121988)
true16 codegen pattern for v_pack_b32_f16
Commit: 092d6283838dea79670750b9415955c5f0cb5178
https://github.com/llvm/llvm-project/commit/092d6283838dea79670750b9415955c5f0cb5178
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/div-possibly-extended-with-poisons.ll
Log Message:
-----------
[SLP]Check for div/rem instructions before extending with poisons
Need to check if the instructions can be safely extended with poison
before actually doing this to avoid incorrect transformations.
Fixes #122691
Commit: 1a7d46fac8aa5ff4a96db01937cdb3b106253ac6
https://github.com/llvm/llvm-project/commit/1a7d46fac8aa5ff4a96db01937cdb3b106253ac6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[BoundsChecking] Add guard= pass parameter (#122575)
And use that as an argument for
allow_ubsan_check when needed.
Other ubsan checks use SanitizerKind,
but those are known to the clang only.
So make it a parameter in LLVM.
Commit: a8d16135a8c3ca3c894c86e55a41f4a794538913
https://github.com/llvm/llvm-project/commit/a8d16135a8c3ca3c894c86e55a41f4a794538913
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M .ci/generate_test_report.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/workflows/spirv-tests.yml
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.h
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-shared-from-this.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/code.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/error-config/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/normalized-path.test
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
M clang/docs/LanguageExtensions.rst
M clang/docs/Modules.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
A clang/docs/analyzer/images/example_attribute_nonnull.png
A clang/docs/analyzer/images/example_cf_returns_retained.png
A clang/docs/analyzer/images/example_custom_assert.png
A clang/docs/analyzer/images/example_ns_returns_retained.png
A clang/docs/analyzer/images/example_null_pointer.png
A clang/docs/analyzer/images/example_use_assert.png
M clang/docs/analyzer/user-docs.rst
A clang/docs/analyzer/user-docs/Annotations.rst
M clang/docs/analyzer/user-docs/FAQ.rst
M clang/examples/Attribute/Attribute.cpp
M clang/examples/CallSuperAttribute/CallSuperAttrInfo.cpp
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/Type.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTImporterLookupTable.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/Randstruct.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/DependencyFile.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CodeGen/AArch64/fmv-dependencies.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
M clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/fsanitize.c
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Driver/hip-target-id.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/modules-print-library-module-manifest-path.cpp
M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Frontend/dependency-gen-symlink.c
M clang/test/Frontend/dependency-gen-windows-duplicates.c
M clang/test/Frontend/ftime-report-template-decl.cpp
M clang/test/LibClang/symbols.test
R clang/test/OpenMP/allocate_allocator_modifier_ast_print.cpp
R clang/test/OpenMP/allocate_allocator_modifier_codegen.cpp
R clang/test/OpenMP/allocate_allocator_modifier_messages.cpp
A clang/test/OpenMP/allocate_modifiers_ast_print.cpp
A clang/test/OpenMP/allocate_modifiers_codegen.cpp
A clang/test/OpenMP/allocate_modifiers_messages.cpp
A clang/test/OpenMP/masked_taskloop_codegen.c
A clang/test/OpenMP/masked_taskloop_simd_codegen.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
A clang/test/SemaCXX/crash-GH121274.cpp
M clang/test/VFS/external-names.c
M clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c
M clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c.expected
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/www/analyzer/annotations.html
R clang/www/analyzer/images/example_attribute_nonnull.png
R clang/www/analyzer/images/example_cf_returns_retained.png
R clang/www/analyzer/images/example_custom_assert.png
R clang/www/analyzer/images/example_ns_returns_retained.png
R clang/www/analyzer/images/example_null_pointer.png
R clang/www/analyzer/images/example_use_assert.png
R clang/www/analyzer/images/scan_build_cmd.png
M clang/www/cxx_dr_status.html
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/tysan/tysan.cpp
A compiler-rt/test/tysan/struct-offset-different-base.cpp
M cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ControllerHelpers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
M cross-project-tests/lit.cfg.py
M flang/CMakeLists.txt
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-devptr.cuf
A flang/test/Lower/CUDA/cuda-intrinsic.cuf
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
R flang/test/Lower/OpenMP/Todo/reduction-teams.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
A flang/test/Lower/OpenMP/reduction-teams.f90
M flang/test/Lower/OpenMP/simd.f90
A flang/test/Lower/derived-types-bindc.f90
M flang/test/Lower/intentout-deallocate.f90
A flang/test/Semantics/offsets04.f90
M flang/test/Transforms/omp-map-info-finalization.fir
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/llvm-libc-types/cfloat128.h
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sincosf16_utils.h
A libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanpif16.cpp
A libc/src/math/tanf16.h
M libc/test/include/CMakeLists.txt
A libc/test/include/header-test-template.c
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/cosf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/tanf16_test.cpp
A libc/test/src/math/tanf16_test.cpp
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__functional/function.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/fuchsia.h
A libcxx/include/__locale_dir/support/fuchsia.h
A libcxx/include/__locale_dir/support/no_locale/characters.h
A libcxx/include/__locale_dir/support/no_locale/strtonum.h
M libcxx/include/__memory/allocator.h
R libcxx/include/__memory/builtin_new_allocator.h
M libcxx/include/__memory/unique_temporary_buffer.h
M libcxx/include/__new/allocate.h
M libcxx/include/__string/constexpr_c_functions.h
A libcxx/include/__utility/element_count.h
M libcxx/include/__utility/small_buffer.h
M libcxx/include/future
M libcxx/include/module.modulemap
M libcxx/src/experimental/tzdb.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/shared_mutex.cpp
R libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
A libcxx/test/libcxx/thread/futures/futures.task/type.depr.verify.cpp
M libcxx/test/libcxx/thread/futures/futures.task/types.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp
R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/test/ELF/linkerscript/filename-spec.s
M lld/test/ELF/lto/new-pass-manager.ll
M lld/wasm/SymbolTable.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/no_unique_address-with-bitfields.cpp
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/Spiller.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/Support/ModRef.h
M llvm/include/llvm/Support/Timer.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AttributeImpl.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/PassTimingInfo.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Support/ModRef.cpp
M llvm/lib/Support/Timer.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
A llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
A llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/ARM/ARMSystemRegister.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll
A llvm/test/Assembler/captures-errors.ll
A llvm/test/Assembler/captures.ll
M llvm/test/Bitcode/attributes.ll
A llvm/test/CodeGen/AArch64/csel-cmp-cse.ll
M llvm/test/CodeGen/AArch64/fp8-sve-fdot.ll
M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
A llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
A llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
M llvm/test/CodeGen/AMDGPU/enqueue-kernel.ll
A llvm/test/CodeGen/AMDGPU/invalid-cast-load-i1.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-wave32-feature.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sched-barrier-pre-RA.mir
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
A llvm/test/CodeGen/ARM/scalarize-assert-zext.ll
A llvm/test/CodeGen/DirectX/BufferStore-sm61.ll
A llvm/test/CodeGen/DirectX/RawBufferStore-error64.ll
A llvm/test/CodeGen/DirectX/RawBufferStore.ll
A llvm/test/CodeGen/MIR/AArch64/called-globals.mir
M llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir
M llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
M llvm/test/CodeGen/NVPTX/convert-sm89.ll
A llvm/test/CodeGen/NVPTX/convert-sm90.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx512-build-vector.ll
M llvm/test/CodeGen/X86/avx512-mask-op.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/avx512-shuffles/permute.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
M llvm/test/CodeGen/X86/combine-or.ll
M llvm/test/CodeGen/X86/combine-sub-usat.ll
M llvm/test/CodeGen/X86/expand-vp-cast-intrinsics.ll
M llvm/test/CodeGen/X86/extract-concat.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/isel-buildvector-avx.ll
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/nontemporal-4.ll
A llvm/test/CodeGen/X86/pr122580.ll
M llvm/test/CodeGen/X86/pr29112.ll
M llvm/test/CodeGen/X86/pr46532.ll
M llvm/test/CodeGen/X86/pr78109.ll
M llvm/test/CodeGen/X86/pr97968.ll
M llvm/test/CodeGen/X86/shuffle-strided-with-offset-512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/sse41-intrinsics-x86.ll
M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll
M llvm/test/CodeGen/X86/vec_fp_to_int.ll
M llvm/test/CodeGen/X86/vec_minmax_sint.ll
M llvm/test/CodeGen/X86/vec_minmax_uint.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-lzcnt-128.ll
M llvm/test/CodeGen/X86/vector-lzcnt-256.ll
M llvm/test/CodeGen/X86/vector-popcnt-128-ult-ugt.ll
M llvm/test/CodeGen/X86/vector-popcnt-128.ll
M llvm/test/CodeGen/X86/vector-popcnt-256-ult-ugt.ll
M llvm/test/CodeGen/X86/vector-popcnt-256.ll
M llvm/test/CodeGen/X86/vector-popcnt-512-ult-ugt.ll
M llvm/test/CodeGen/X86/vector-popcnt-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-avx512.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-tzcnt-128.ll
M llvm/test/CodeGen/X86/vector-tzcnt-256.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/Feature/load_plugin_error.ll
M llvm/test/Instrumentation/TypeSanitizer/basic.ll
M llvm/test/MC/AArch64/SVE2/bdep-diagnostics.s
M llvm/test/MC/AArch64/SVE2/bdep.s
M llvm/test/MC/AArch64/SVE2/bext.s
M llvm/test/MC/AArch64/SVE2/bgrp.s
M llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SVE2/directive-arch_extension.s
M llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
M llvm/test/MC/AArch64/SVE2/directive-cpu.s
A llvm/test/MC/AArch64/win-import-call-optimization.s
A llvm/test/MC/COFF/bad-parse.s
M llvm/test/MC/M68k/Data/Classes/MxMoveSR.s
A llvm/test/MC/RISCV/xqciint-invalid.s
A llvm/test/MC/RISCV/xqciint-valid.s
M llvm/test/MC/X86/avx512pf-64-att.s
M llvm/test/Other/X86/lto-hot-cold-split.ll
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-value.ll
A llvm/test/Transforms/InstCombine/add-sext-icmp.ll
M llvm/test/Transforms/InstCombine/cttz.ll
M llvm/test/Transforms/InstCombine/div-shift.ll
M llvm/test/Transforms/InstCombine/fsh.ll
M llvm/test/Transforms/InstSimplify/call.ll
A llvm/test/Transforms/InstSimplify/subnuw-with-xor.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform-phi.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
A llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
A llvm/test/Transforms/SLPVectorizer/X86/div-possibly-extended-with-poisons.ll
A llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll
A llvm/test/tools/gold/X86/Inputs/merge-functions-foo.ll
A llvm/test/tools/gold/X86/Inputs/unified-lto-foo.ll
A llvm/test/tools/gold/X86/merge-functions.ll
A llvm/test/tools/gold/X86/unified-lto.ll
M llvm/test/tools/llvm-objdump/ELF/pt-gnu-property.test
M llvm/tools/gold/gold-plugin.cpp
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/Debuginfod/DebuginfodTests.cpp
M llvm/unittests/IR/AttributesTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/update_cc_test_checks.py
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/docs/Bindings/Python.md
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.h
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/IR/Matchers.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/include/mlir/Pass/AnalysisManager.h
M mlir/include/mlir/Target/LLVMIR/Import.h
M mlir/lib/Analysis/DataFlowFramework.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/lib/Bytecode/Writer/IRNumbering.h
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/lib/TableGen/Operator.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
M mlir/lib/Transforms/Utils/FoldUtils.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/python/requirements.txt
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
A mlir/test/Dialect/LLVMIR/inlining-nvvm.mlir
M mlir/test/Dialect/LLVMIR/inlining.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/Linalg/transform-op-decompose.mlir
M mlir/test/Dialect/Vector/vector-gather-lowering.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
A mlir/test/Target/LLVMIR/openmp-simd-private.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/mlir-tblgen/op-result.td
A mlir/test/python/multithreaded_tests.py
M polly/test/lit.site.cfg.in
M polly/test/update_check.py
M polly/utils/pyscop/isl.py
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/8e788526045c...a8d16135a8c3
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