[all-commits] [llvm/llvm-project] 941841: [Vectorize] Update comment of getSubdividedVectorT...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Mon Sep 9 10:22:58 PDT 2024
Branch: refs/heads/users/alexey-bataev/spr/slpinitial-support-for-non-power-of-2-but-still-whole-register-number-of-elements-in-operands-1
Home: https://github.com/llvm/llvm-project
Commit: 941841b19d4f8832012f0c6ccd57954917369a3b
https://github.com/llvm/llvm-project/commit/941841b19d4f8832012f0c6ccd57954917369a3b
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/unittests/IR/VectorTypesTest.cpp
Log Message:
-----------
[Vectorize] Update comment of getSubdividedVectorType (#107632)
The original comment here is wrong, as demonstrated by the included
test.
Update the comment to reflect what getSubdividedVectorType actually
does.
Commit: 876b0e60feb6ee4eabb1c8b52881117ce93b3c4c
https://github.com/llvm/llvm-project/commit/876b0e60feb6ee4eabb1c8b52881117ce93b3c4c
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
M libc/src/signal/linux/CMakeLists.txt
Log Message:
-----------
[libc] Fix signal's dependency on the proxy header sighandler_t. (#107605)
Commit: 787cd8f0fee8659335b0ed501d6896275d936f3d
https://github.com/llvm/llvm-project/commit/787cd8f0fee8659335b0ed501d6896275d936f3d
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
A compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-debuginfod.c
A compiler-rt/test/profile/instrprof-binary-correlate-debuginfod.c
M compiler-rt/test/profile/lit.cfg.py
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/tools/llvm-profdata/CMakeLists.txt
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[InstrProf] Add debuginfod correlation support (#106606)
This patch adds debuginfod support into llvm-profdata to
find the assosicated executable by a build id in a raw
profile to correlate a profile with a provided correlation
kind (debug-info or binary).
Commit: 6cb2d40387f613c72ec8f66e47a5eb0f7e4b0f1f
https://github.com/llvm/llvm-project/commit/6cb2d40387f613c72ec8f66e47a5eb0f7e4b0f1f
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Analysis/CtxProfAnalysis.cpp
A llvm/test/Analysis/CtxProfAnalysis/load-unapplicable.ll
Log Message:
-----------
[ctx_prof] Handle case when no root is in this Module. (#107463)
If none of the functions in this `Module` are roots in the contextual profile, we can't use it and should just return the `{}` case.
Commit: 775c50709c2d18acc085c089392847c5968457b9
https://github.com/llvm/llvm-project/commit/775c50709c2d18acc085c089392847c5968457b9
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/ProfileData/ProfileCommon.h
A llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
A llvm/test/Analysis/CtxProfAnalysis/flatten-always-removes-instrumentation.ll
A llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
Log Message:
-----------
[ctx_prof] Flattened profile lowering pass (#107329)
Pass to flatten and lower the contextual profile to profile (i.e. `MD_prof`) metadata. This is expected to be used after all IPO transformations have happened.
Prior to lowering, the instrumentation is maintained during IPO and the contextual profile is kept in sync (see PRs #105469, #106154). Flattening (#104539) sums up all the counters belonging to all a function's context nodes.
We first propagate counter values (from the flattened profile) using the same propagation algorithm as `PGOUseFunc::populateCounters`, then map the edge values to `branch_weights`. Functions. in the module that don't have an entry in the flattened profile are deemed cold, and any `MD_prof` metadata they may have is reset. The profile summary is also reset at this point.
Issue [#89287](https://github.com/llvm/llvm-project/issues/89287)
Commit: fc7a8936208847b66df9b5f93ba2222b93b9f8b6
https://github.com/llvm/llvm-project/commit/fc7a8936208847b66df9b5f93ba2222b93b9f8b6
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc] Remove -ffreestanding when building MPFR wrapper. (#107637)
MPFR/GMP headers do not work with -ffreestanding flags.
Commit: 7815abec165114da29e191022c2816f857b1984f
https://github.com/llvm/llvm-project/commit/7815abec165114da29e191022c2816f857b1984f
Author: Bill Wendling <morbo at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
Log Message:
-----------
[Parser][NFC] Move the core parsing of an attribute into a separate method (#107300)
Refactor attribute parsing so that the main code parsing an attribute
can be called by a separate code path that doesn't start with the
'__attribute' keyword.
Commit: 70fcdb3d52272eba96d4b268d334826690524f50
https://github.com/llvm/llvm-project/commit/70fcdb3d52272eba96d4b268d334826690524f50
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[llvm][support] Implement tracing virtual file system (#88326)
LLVM-based tools often use the `llvm::vfs::FileSystem` instrastructure
to access the file system. This patch adds new kind of a VFS that
performs lightweight tracing of file system operations on an underlying
VFS. This is supposed to aid in investigating file system traffic
without resorting to instrumentation on the operating system level.
There will be follow-up patches that integrate this into Clang and its
dependency scanner.
Commit: eacda48a00378e2aed777633f42e2161c870250a
https://github.com/llvm/llvm-project/commit/eacda48a00378e2aed777633f42e2161c870250a
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
R compiler-rt/test/builtins/Unit/compiler_rt_fmaxf_test.c
Log Message:
-----------
[compiler-rt][builtins] Delete test __compiler_rt_fmaxf
Delete test for the removed helper function __compiler_rt_fmaxf.
This is a follow-up to d60ca0c913.
Commit: 92cd66d905aa63fe4d77bb632812dff87e0e1c08
https://github.com/llvm/llvm-project/commit/92cd66d905aa63fe4d77bb632812dff87e0e1c08
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][deps][test] Update reference to tracing VFS
This fixes build failure introduced by 70fcdb3d52272eba96d4b268d334826690524f50.
Commit: 70ff6501e6aa3e416833d6e18c9fc7d0544460d5
https://github.com/llvm/llvm-project/commit/70ff6501e6aa3e416833d6e18c9fc7d0544460d5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
Log Message:
-----------
[AArch64] Auto-generate check-lines in cost model test.
Auto-generate check lines for easier updating.
Commit: f6df5cd24d5e80eb6f92a83f52c10aed3c406a2e
https://github.com/llvm/llvm-project/commit/f6df5cd24d5e80eb6f92a83f52c10aed3c406a2e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
Log Message:
-----------
[CtxProf] Fix warnings
This patch fixes:
llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp:214:14:
error: unused variable 'Index' [-Werror,-Wunused-variable]
llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp:284:6:
error: unused function 'areAllBBsReachable'
[-Werror,-Wunused-function]
Commit: 086ee762cb95f7a629ba43110cf1945020cdce9b
https://github.com/llvm/llvm-project/commit/086ee762cb95f7a629ba43110cf1945020cdce9b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
Log Message:
-----------
[sanitizer] Remove "null" for 256 allocations in test
Very rarely this case can return all non-null
for all allocations, making this test flaky.
Commit: dc62bc8909d8136f8cd9d9ae3efc064e5aa712d7
https://github.com/llvm/llvm-project/commit/dc62bc8909d8136f8cd9d9ae3efc064e5aa712d7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
Log Message:
-----------
[nfc][ctx_prof] Remove spurious `#include` in PGOCtxProfFlattening.cpp
Re. PR ##107329, 2 includes weren't necessary - the CodeGen one, in
particular, seemed accidentally (IDE) introduced.
Commit: 9700ca0a3067ced47de956b2c79781320cf7e708
https://github.com/llvm/llvm-project/commit/9700ca0a3067ced47de956b2c79781320cf7e708
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] add missing dependencies
Commit: 49660e5565a3b4f1ec29d6c95b6d6576d398eaf1
https://github.com/llvm/llvm-project/commit/49660e5565a3b4f1ec29d6c95b6d6576d398eaf1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/test/CodeGen/RISCV/double-arith.ll
M llvm/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/float-arith.ll
M llvm/test/CodeGen/RISCV/float-bitmanip-dagcombines.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
Log Message:
-----------
[RISCV] Pass f32/f64 directly without a bitcast for Zfinx/Zdinx. (#107464)
With Zfinx/Zdinx, f32/f64 are legal types for a GPR, we don't need a
bitcast.
This avoids turning fneg/fabs into bitwise operations purely because of
these bitcasts. If the bitwise operations are faster for some reason on
a Zfinx CPU, then that seems like it should be done for all fneg/fabs,
not just ones near function arguments/returns.
I don't have much interest in Zfinx, this just makes the code more
similar to what I proposed for Zhinx in #107446.
Commit: d5d3f989689978850b23e6a3ab4520fb6e4f8b52
https://github.com/llvm/llvm-project/commit/d5d3f989689978850b23e6a3ab4520fb6e4f8b52
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[LTO] Modernize AliasSummary and ModuleSummaryIndex (NFC) (#107633)
Commit: 62ae01201fc7185aca61d040c4f2df5303bae0ad
https://github.com/llvm/llvm-project/commit/62ae01201fc7185aca61d040c4f2df5303bae0ad
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/leaks.cpp
Log Message:
-----------
[asan] Try to deflake the test
`10000000` unlikely uncovers new cases in the code,
but probably causing OOM before leak detection.
Commit: d1b9adb05c329211a5f29935744b367c34c391d4
https://github.com/llvm/llvm-project/commit/d1b9adb05c329211a5f29935744b367c34c391d4
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
Log Message:
-----------
Fix compiler errors in GVN.h for clang versions older than 15 (#107636)
Fix compiler errors in GVN.h from clang versions older than 15 that
don't support gnu style attribute on namespaces. @tstellar, @compnerd.
Commit: 3a13c5a2862fdc957d751a7679581d5da151efc2
https://github.com/llvm/llvm-project/commit/3a13c5a2862fdc957d751a7679581d5da151efc2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M compiler-rt/test/tsan/signal_block.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
Log Message:
-----------
[tsan] Disable tests flaky on PPC with COMPILER_RT_DEBUG
Workaround for https://github.com/google/sanitizers/issues/1792
Commit: d4ddf06b0c7f38612f334db71ef1d7a58a3cc8e0
https://github.com/llvm/llvm-project/commit/d4ddf06b0c7f38612f334db71ef1d7a58a3cc8e0
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
R llvm/include/llvm/LTO/SummaryBasedOptimizations.h
R llvm/include/llvm/Transforms/IPO/SyntheticCountsPropagation.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.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/ModuleSummaryIndex.cpp
M llvm/lib/LTO/CMakeLists.txt
M llvm/lib/LTO/LTO.cpp
R llvm/lib/LTO/SummaryBasedOptimizations.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/CMakeLists.txt
R llvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
R llvm/test/Bitcode/thinlto-synthetic-count-flag.ll
R llvm/test/ThinLTO/X86/function_entry_count.ll
R llvm/test/Transforms/SyntheticCountsPropagation/initial.ll
R llvm/test/Transforms/SyntheticCountsPropagation/prop.ll
R llvm/test/Transforms/SyntheticCountsPropagation/scc.ll
M llvm/utils/gn/secondary/llvm/lib/LTO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
Log Message:
-----------
[NFCI]Remove EntryCount from FunctionSummary and clean up surrounding synthetic count passes. (#107471)
The primary motivation is to remove `EntryCount` from `FunctionSummary`.
This frees 8 bytes out of `sizeof(FunctionSummary)` (136 bytes as of
https://github.com/llvm/llvm-project/commit/64498c54831bed9cf069e0923b9b73678c6451d8).
While I'm at it, this PR clean up {SummaryBasedOptimizations,
SyntheticCountsPropagation} since they were not used and there are no
plans to further invest on them.
With this patch, bitcode writer writes a placeholder 0 at the byte
offset of `EntryCount` and bitcode reader can parse the function entry
count at the correct byte offset. Added a TODO to stop writing
`EntryCount` and bump bitcode version
Commit: 9e1e36d52cfb6861c063395c45c513f68c6f4499
https://github.com/llvm/llvm-project/commit/9e1e36d52cfb6861c063395c45c513f68c6f4499
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/fastcc-half.ll
Log Message:
-----------
[RISCV] Add Zfhmin fastcc test. NFC
Commit: 748ae69b5d0ed9205e9da5121bd780d283aab164
https://github.com/llvm/llvm-project/commit/748ae69b5d0ed9205e9da5121bd780d283aab164
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
A llvm/test/CodeGen/RISCV/fastcc-bf16.ll
Log Message:
-----------
[RISCV] Add fastcc support for bf16 with Zfbfmin.
Commit: a7f152f59b1d64c6e1698fc68ffff40c4911e11a
https://github.com/llvm/llvm-project/commit/a7f152f59b1d64c6e1698fc68ffff40c4911e11a
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[Bitcode] Fix -Wunused-but-set-variable in BitcodeReader.cpp (NFC)
/llvm-project/llvm/lib/Bitcode/Reader/BitcodeReader.cpp:7795:16:
error: variable 'EntryCount' set but not used [-Werror,-Wunused-but-set-variable]
uint64_t EntryCount = 0;
^
1 error generated.
Commit: adf44d5c3ea03569f019740e1140c3205810b3fa
https://github.com/llvm/llvm-project/commit/adf44d5c3ea03569f019740e1140c3205810b3fa
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
Log Message:
-----------
[lldb] Fix some tests that fail with system libstdc++ (#106885)
This is a revert of b1fcc1840c312472cb9ccb8c4e5e02ca13b31113.
These tests weren't working on Ubuntu 22.04 or Fedora 37-40. I'm not
sure exactly why, but it seems like they may be incompatible with
libstdc++. Also, despite the fact that the tests were using the system
libstdc++, the tests were only run when libcxx was enabled.
I tested this with a RelWithDebInfo build and the tests passed.
Fixes #106475
Commit: d5ef3f8c94c2857929ce28a31ec41ddb515ea5a4
https://github.com/llvm/llvm-project/commit/d5ef3f8c94c2857929ce28a31ec41ddb515ea5a4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
Log Message:
-----------
[RISCV] Support fastcc passing scalable vectors indirectly with no free GPRs. (#107623)
We can still pass indirectly by putting the pointer on the stack. This
is what we do in the normal calling convention.
Commit: 78315a383847860bebb5ef2860627d721cb9147a
https://github.com/llvm/llvm-project/commit/78315a383847860bebb5ef2860627d721cb9147a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
Log Message:
-----------
[gn] port 787cd8f0fee8 (llvm-profdata debuginfod dep)
Commit: 166baf3bebbb61123bd9b2e599d41a47bac9c986
https://github.com/llvm/llvm-project/commit/166baf3bebbb61123bd9b2e599d41a47bac9c986
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[gn build] Port 775c50709c2d
Commit: f93114d7004ebf6443dd2b6e557b57209fd58852
https://github.com/llvm/llvm-project/commit/f93114d7004ebf6443dd2b6e557b57209fd58852
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
Log Message:
-----------
[RISCV] Use int64_t for offsets returned from CCState::AllocateStack. NFC
AllocateStack returns int64_t and CCValAssign::getMem expects an
int64_t. The interfaces used unsigned prior to
da42b2846c82063bd1bce78d6a046f78f218eb72.
Offsets for RISC-V should be positive and less than 32-bits so this
shouldn't be a functional change.
Commit: 644c9020ff6fac98cbffcbf33c7e273f14670658
https://github.com/llvm/llvm-project/commit/644c9020ff6fac98cbffcbf33c7e273f14670658
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
M llvm/test/Analysis/CtxProfAnalysis/load.ll
Log Message:
-----------
[ctx_prof] Fix nondeterminism in CtxProfAnalysisPrinterPass
Using a `std::map` instead of a `DenseMap` for the FuncInfo
member.
Addresses the ctx_prof part of Issue #106855
Commit: 2bf551e6005d138237e13cd2aa9a6b04119aea0d
https://github.com/llvm/llvm-project/commit/2bf551e6005d138237e13cd2aa9a6b04119aea0d
Author: dyung <douglas.yung at sony.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/2011-10-03-CritEdgeMerge.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/expander-crashes.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
M llvm/test/Transforms/LoopStrengthReduce/preserve-lcssa.ll
Log Message:
-----------
Revert "[LSR] Do not create duplicated PHI nodes while preserving LCSSA form" (#107666)
Reverts llvm/llvm-project#107380
Change is causing the test preserve-lcssa.ll to fail on at least 2 build
bots:
- https://lab.llvm.org/buildbot/#/builders/190/builds/5231
- https://lab.llvm.org/buildbot/#/builders/161/builds/1855
Commit: 9a84afefa1ab98c5315ad2e7a78e8cdc6372e153
https://github.com/llvm/llvm-project/commit/9a84afefa1ab98c5315ad2e7a78e8cdc6372e153
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M llvm/include/llvm/Analysis/SyntheticCountsUtils.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
Log Message:
-----------
Fix build errors with a `LLVM_ENABLE_MODULES=ON` build (#107654)
The errors fixed were:
* llvm-project/llvm/include/llvm/Analysis/SyntheticCountsUtils.h:33:22:
error: missing '#include <__fwd/vector.h>'; default argument of 'vector'
must be defined before it is used
*
llvm-project/clang/include/clang/Tooling/Inclusions/StandardLibrary.h:41:15:
error: missing '#include <vector>'; 'vector' must be declared before it
is used
*
llvm-project/llvm/include/llvm/Transforms/InstCombine/InstCombiner.h:83:3:
error: missing '#include "llvm/ADT/PostOrderIterator.h"';
'ReversePostOrderTraversal' must be declared before it is used
Commit: e6e857cdf9826032dcb12e660d9d84b9f1865ae3
https://github.com/llvm/llvm-project/commit/e6e857cdf9826032dcb12e660d9d84b9f1865ae3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args-bf16-err.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args-f16-err.ll
Log Message:
-----------
[GISel] Use Function::getFunctionType() instead of getType() in some remarks. (#107651)
getType() on a Function is always 'ptr'. We should use getFunctionType()
so we get the function signature.
Commit: d7fb5b9df0a8170d082e6f8f254e723283f76bac
https://github.com/llvm/llvm-project/commit/d7fb5b9df0a8170d082e6f8f254e723283f76bac
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
Log Message:
-----------
[ctx_prof] PGOCtxProfFlattener must always return `PreservedAnalyses::none()`
This is because it always removes instrumentation. This fixes failures
detectable with extensive checks, e.g. https://lab.llvm.org/buildbot/#/builders/187/builds/987
(Related to PR #107329)
Commit: 090b07f2e1a26d33a1c1f0c4d92b498d5738ff7a
https://github.com/llvm/llvm-project/commit/090b07f2e1a26d33a1c1f0c4d92b498d5738ff7a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Simplify some code in unpackFromMemLoc. NFC
Use VA.getLocInfo() == CCValAssign::Indirect instead of checking
for scalable vector VT.
Commit: 1d2da210a2f04af53b10fc9d91dcd1e0eed61140
https://github.com/llvm/llvm-project/commit/1d2da210a2f04af53b10fc9d91dcd1e0eed61140
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/test/Analysis/CtxProfAnalysis/load-unapplicable.ll
Log Message:
-----------
[nfc][ctx_prof] Test comments and more clarity in values.
Commit: 60eb9b214cdcf482069ac4d5da9490b3bbd81b6a
https://github.com/llvm/llvm-project/commit/60eb9b214cdcf482069ac4d5da9490b3bbd81b6a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Fix reinterpret casts of two non-primitive types (#107564)
We don't want to allow e.g. cast from a record to an array or the other
way arround.
Commit: eef8116be169de2a7a55b2a9b003efd2c7ee0be0
https://github.com/llvm/llvm-project/commit/eef8116be169de2a7a55b2a9b003efd2c7ee0be0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
Log Message:
-----------
[clang][bytecode] Only visit local variables if they have constant init (#107576)
See the comment I added for why this is weird. We might want to have a
different mechanism for this in the future.
Fixes https://github.com/llvm/llvm-project/issues/101801
Commit: fe6c025037f0b2b52725b5e912dbda9eb3371ad3
https://github.com/llvm/llvm-project/commit/fe6c025037f0b2b52725b5e912dbda9eb3371ad3
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
M llvm/test/Analysis/CtxProfAnalysis/load.ll
Log Message:
-----------
[nfc][ctx_prof] Fix the second source of nondeterminism in `CtxProfAnalysisPrinterPass`
Verified on a build with `LLVM_REVERSE_ITERATION=ON`
Issue #106855
Commit: 3242e7784190b6e544ec4018706fa5923a20a98e
https://github.com/llvm/llvm-project/commit/3242e7784190b6e544ec4018706fa5923a20a98e
Author: Austin <71816933+Zhenhang1213 at users.noreply.github.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/big-endian-neon-fp16-bitconv.ll
M llvm/test/CodeGen/ARM/big-endian-vmov.ll
M llvm/test/CodeGen/ARM/vmov.ll
M llvm/test/CodeGen/Thumb2/mve-be.ll
M llvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
M llvm/test/CodeGen/Thumb2/mve-pred-bitcast.ll
M llvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll
M llvm/test/CodeGen/Thumb2/mve-pred-spill.ll
M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll
Log Message:
-----------
[ARM][Codegen] Fix vector data miscompilation in arm32be (#105519)
Fix #102418, resolved the issue of generating incorrect vrev during
vectorization in big-endian scenarios
Commit: 83fea8b809b284594e6dd133150bb6d365775e5b
https://github.com/llvm/llvm-project/commit/83fea8b809b284594e6dd133150bb6d365775e5b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/codegen.cpp
Log Message:
-----------
[clang][bytecode] Allow continuing when discarded MemberExpr Base fails (#107231)
We don't need the value in this case, since we're discarding it anyway.
Allow continuing the interpretation but note the side effect.
Commit: 610b85395d233b5cbc5a1f112ac3039b888c0a88
https://github.com/llvm/llvm-project/commit/610b85395d233b5cbc5a1f112ac3039b888c0a88
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_operator{new,delete} (#107672)
Commit: 7d4afba831bcf9b3e50ee7b6a3fbc9c0a7c61597
https://github.com/llvm/llvm-project/commit/7d4afba831bcf9b3e50ee7b6a3fbc9c0a7c61597
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Function.h
Log Message:
-----------
[clang][bytecode][NFC] Fix Function::getName() for non-decl functions
Commit: 78cf9b830c78daa5aed51b5ca77bb7db9974d1ec
https://github.com/llvm/llvm-project/commit/78cf9b830c78daa5aed51b5ca77bb7db9974d1ec
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Implement using operator new/operator delete (#107679)
Reuse the __builtin_operator_{new,delete} implementations.
Commit: 6df12912964caf118c0c8019d7ec681e6ad8bf5c
https://github.com/llvm/llvm-project/commit/6df12912964caf118c0c8019d7ec681e6ad8bf5c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pull-conditional-binop-through-shift.ll
M llvm/test/CodeGen/X86/select.ll
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - extend branchless OR/XOR select codegen to handle ADD/SUB as well (#107612)
Extend the "SELECT ((AND X, 1) != 0), Y, (OR/XOR Y, Z) -> (OR/XOR Y, (AND (NEG(AND X, 1)), Z))" to also handle ADD/SUB.
As SUB is not commutative, we have to be more careful and only accept LHS matches.
Commit: 0ceffd362bf01769fa310103b11af9cdc12e2f5b
https://github.com/llvm/llvm-project/commit/0ceffd362bf01769fa310103b11af9cdc12e2f5b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/Error.h
M llvm/lib/TableGen/Error.cpp
A llvm/test/TableGen/intrinsic-prefix-error.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
Log Message:
-----------
[TableGen] Add PrintError family overload that take a print function (#107333)
Add PrintError and family overload that accepts a print function. This
avoids constructing potentially long strings for passing into these
print functions.
Commit: d6d60707ec2b60843c5bfc2c3bc44e4478add17a
https://github.com/llvm/llvm-project/commit/d6d60707ec2b60843c5bfc2c3bc44e4478add17a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/initializer_list.cpp
Log Message:
-----------
[clang][bytecode] Fix two-pointer-style std::initializer_lists (#107682)
The first pointer needs to point to the first element of the underlying
array. This requires some changes to how we handle array expansion
Commit: 056a1676cbe43ce22b65a500a2dc9916fd575563
https://github.com/llvm/llvm-project/commit/056a1676cbe43ce22b65a500a2dc9916fd575563
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/stack_t.h
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/sigaltstack.h
Log Message:
-----------
[libc] Add proxy header for the stack_t type (#107559)
added proxy header for the stack_t type and modified the corresponding
CMakeLists.txt files
Commit: 3ba0755d3e50c62d27ac9c37a0250f525dcad28d
https://github.com/llvm/llvm-project/commit/3ba0755d3e50c62d27ac9c37a0250f525dcad28d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/include/clang/Basic/OpenMPKinds.h
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Simplify handling of implicit DSA/mapping information (#106786)
Create `VariableImplicitInfo` to hold the data. Most of it is used all
at once, so aggregating it seems like a good idea.
Commit: 307713aafc011844acdcb18ca6acbf3f2de29f5f
https://github.com/llvm/llvm-project/commit/307713aafc011844acdcb18ca6acbf3f2de29f5f
Author: David Green <david.green at arm.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[AArch64] Do not generate uitofp(ld4) where and/shift can be used. (#107538)
After #107201 and #107367 the codegen for zext(ld4) can use and / shift
to extract the lanes out of the original vectors elements. This avoids
the need for the expensive ld4 operations, so can lead to performance
improvements over using the interleaving loads and ushll.
This patch stops the generation of ld4 for uitofp(ld4) that would become
uitofp(zext(ld4)). It doesn't handle zext yet to make sure that widening
instructions like mull and addl are not adversely affected.
Commit: 11eae671b707618ad09915ecac3f910e3874b1af
https://github.com/llvm/llvm-project/commit/11eae671b707618ad09915ecac3f910e3874b1af
Author: David Green <david.green at arm.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/test/CodeGen/ARM/big-endian-vmov.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/bitwise-imm.ll
M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll
Log Message:
-----------
[ARM] Add and extend big-endian testing for vorrimm and vbicimm. NFC
Commit: 4b676e17d9f0e7e5cc3c8f9158a69174675a60f2
https://github.com/llvm/llvm-project/commit/4b676e17d9f0e7e5cc3c8f9158a69174675a60f2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#107669)
Commit: 23a26e7120df474f37f7369e8e06fd90f21a58b5
https://github.com/llvm/llvm-project/commit/23a26e7120df474f37f7369e8e06fd90f21a58b5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Log Message:
-----------
[DFAJumpThreading] Avoid repeated hash lookups (NFC) (#107670)
Commit: 1b8e26ff26be7c769d68bc44920026f56ed588b6
https://github.com/llvm/llvm-project/commit/1b8e26ff26be7c769d68bc44920026f56ed588b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
Log Message:
-----------
[RISCV] Use RISCVSubtarget to get XLen in CC_RISCV. NFC
Commit: a1e06f767440010f605b82d97950433f687e4b45
https://github.com/llvm/llvm-project/commit/a1e06f767440010f605b82d97950433f687e4b45
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorAttributes.td
Log Message:
-----------
[mlir][vector] Fix the enum type in vector::CombiningKind (#107681)
Change the enum type fo vector::CombiningKind from I32BitEnumAttrCaseBit
to I32EnumAttrCase
Fixes #107448
Commit: 51d3829d8fc5beba269629903365af75174de7f6
https://github.com/llvm/llvm-project/commit/51d3829d8fc5beba269629903365af75174de7f6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
Log Message:
-----------
[ThinLTO] Shrink FunctionSummary by 8 bytes (#107706)
During the ThinLTO indexing step for one of our large applications, we
create 4 million instances of FunctionSummary.
Changing:
std::vector<EdgeTy> CallGraphEdgeList;
to:
SmallVector<EdgeTy, 0> CallGraphEdgeList;
in FunctionSummary reduces the size of each instance by 8 bytes. The
rest of the patch makes the same change to other places so that the
types stay compatible across function boundaries.
Commit: 6f6100f19ca1fc130a9c2bd2586d136805eafa89
https://github.com/llvm/llvm-project/commit/6f6100f19ca1fc130a9c2bd2586d136805eafa89
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
Log Message:
-----------
[Bitcode] Avoid repeated hash lookups (NFC) (#107708)
Commit: 9c86a7e9ec716fb54a0b74e13af12cb655723e53
https://github.com/llvm/llvm-project/commit/9c86a7e9ec716fb54a0b74e13af12cb655723e53
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/AST/OpenMPClause.cpp
Log Message:
-----------
[AST] Avoid repeated hash lookups (NFC) (#107709)
While I am at it, I'm renaming Cache to UniqueDecls and removing
TotalNum in favor of UniqueDecls.size().
Commit: a0c43be0e912bca178cec3f00b9f9f7388e9dbef
https://github.com/llvm/llvm-project/commit/a0c43be0e912bca178cec3f00b9f9f7388e9dbef
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#107710)
Commit: fa6580470547411667b866362941db0b02e25578
https://github.com/llvm/llvm-project/commit/fa6580470547411667b866362941db0b02e25578
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/DependenceFlags.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang] Implement CWG2398 provisional TTP matching to class templates (#94981)
This extends default argument deduction to cover class templates as
well, applying only to partial ordering, adding to the provisional
wording introduced in https://github.com/llvm/llvm-project/pull/89807.
This solves some ambuguity introduced in P0522 regarding how template
template parameters are partially ordered, and should reduce the
negative impact of enabling `-frelaxed-template-template-args` by
default.
Given the following example:
```C++
template <class T1, class T2 = float> struct A;
template <class T3> struct B;
template <template <class T4> class TT1, class T5> struct B<TT1<T5>>; // #1
template <class T6, class T7> struct B<A<T6, T7>>; // #2
template struct B<A<int>>;
```
Prior to P0522, `#2` was picked. Afterwards, this became ambiguous. This
patch restores the pre-P0522 behavior, `#2` is picked again.
Commit: 0e775b8c6f14fb72892d0c838a66bf24a2dc8959
https://github.com/llvm/llvm-project/commit/0e775b8c6f14fb72892d0c838a66bf24a2dc8959
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
Log Message:
-----------
[RISCV] Move fixed vector LocVT change in CC_RISCV. NFC
We don't need to change the LocVT unless we succesfully allocated
a register.
Commit: 3d0f44f5ae9437005e90aa167d4180ff0d4fbe02
https://github.com/llvm/llvm-project/commit/3d0f44f5ae9437005e90aa167d4180ff0d4fbe02
Author: Chris Apple <cja-private at pm.me>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M compiler-rt/test/rtsan/basic.cpp
Log Message:
-----------
[rtsan] Add basic test for c compilation (#107717)
I was reminded of
https://github.com/realtime-sanitizer/radsan/issues/25, where we were
including C++ code that was never linked in C.
Adding this test to ensure that we don't break this functionality in the
future
Commit: dbb03f8f606e587e981fc5f9393283828e30907a
https://github.com/llvm/llvm-project/commit/dbb03f8f606e587e981fc5f9393283828e30907a
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
Log Message:
-----------
[compiler-rt] Replace assignment w/.set directive (#107667)
These assignment statements are rejected by `llvm-mc --triple=hexagon`,
likely because the syntax so strongly resembles hexagon asm mnemonics.
The statements were being normalized by llvm-mc into `.set` directives
for most architectures, so I assume that this change is a portable one.
Commit: 6b67f79f5f851bfcd5a5861910aedc9e31f377b9
https://github.com/llvm/llvm-project/commit/6b67f79f5f851bfcd5a5861910aedc9e31f377b9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M compiler-rt/test/lsan/TestCases/use_registers.cpp
Log Message:
-----------
[lsan] Deflake test on aarch64
Looks like registers are clobbered by sched_yield.
Commit: c1e3b990a9c194cd6c379130c3db028bfea8cf9d
https://github.com/llvm/llvm-project/commit/c1e3b990a9c194cd6c379130c3db028bfea8cf9d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/InstCombineTables.td
M llvm/test/TableGen/searchabletables-intrinsic.td
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen] Eliminate static CodeGenIntrinsicMap in PatternParser (#107339)
Instead, move it to CodeGenTarget class, and use it in both
PatternParser and SearchableTableEmitter.
Commit: b60c6cbc0b444b2d40742ec60c962c0be700f6b7
https://github.com/llvm/llvm-project/commit/b60c6cbc0b444b2d40742ec60c962c0be700f6b7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M mlir/include/mlir/TableGen/CodeGenHelpers.h
M mlir/include/mlir/TableGen/GenInfo.h
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
M mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp
M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
M mlir/tools/mlir-tblgen/OpGenHelpers.h
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[MLIR][TableGen] Migrate MLIR backends to use const RecordKeeper (#107505)
- Migrate MLIR backends to use a const RecordKeeper reference.
Commit: 98563b19c2d13bac7fb5ee2717ccae6279699e4c
https://github.com/llvm/llvm-project/commit/98563b19c2d13bac7fb5ee2717ccae6279699e4c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M libc/utils/HdrGen/Command.h
M libc/utils/HdrGen/Generator.cpp
M libc/utils/HdrGen/Generator.h
M libc/utils/HdrGen/IncludeFileCommand.cpp
M libc/utils/HdrGen/IncludeFileCommand.h
M libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
M libc/utils/HdrGen/PublicAPICommand.cpp
M libc/utils/HdrGen/PublicAPICommand.h
M libc/utils/LibcTableGenUtil/APIIndexer.cpp
M libc/utils/LibcTableGenUtil/APIIndexer.h
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[libc][TableGen] Migrate libc-hdrgen backend to use const RecordKeeper (#107542)
Migrate libc-hdrgen backend to use const RecordKeeper
Commit: bcd586b5abfc7c22a1c0eca3a7abf18e7a09518d
https://github.com/llvm/llvm-project/commit/bcd586b5abfc7c22a1c0eca3a7abf18e7a09518d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating CastRParen (#107675)
Fixes #107568.
Commit: b93457073762bb347b6c7f39c23636dec036a815
https://github.com/llvm/llvm-project/commit/b93457073762bb347b6c7f39c23636dec036a815
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
Log Message:
-----------
[lldb] Update ScriptInterpreterLua for Status changes (NFC)
The Status constructor that takes an error has been removed in favor of
Status::FromError.
Commit: bb343468ffa8c2190fcdd0f704d370c75d3b5edd
https://github.com/llvm/llvm-project/commit/bb343468ffa8c2190fcdd0f704d370c75d3b5edd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
R lldb/include/lldb/Target/CoreFileMemoryRanges.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/RangeMap.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Target/CMakeLists.txt
R lldb/source/Target/CoreFileMemoryRanges.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/unittests/Process/Utility/CMakeLists.txt
R lldb/unittests/Process/Utility/CoreFileMemoryRangesTest.cpp
Log Message:
-----------
Revert "[LLDB] Reappply SBSaveCore AddMemoryList" (#107731)
Reverts llvm/llvm-project#107159 as this is still causing
`TestSkinnyCorefile.py` to time out.
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/11099/
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/lldb-cmake/5544/
Commit: 718fbcb27194aefa8db45aed4b93bd0727196b3a
https://github.com/llvm/llvm-project/commit/718fbcb27194aefa8db45aed4b93bd0727196b3a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
Log Message:
-----------
[gn build] Port bb343468ffa8
Commit: 482e7dc67b7de22a47aff63eda1dd719cda86267
https://github.com/llvm/llvm-project/commit/482e7dc67b7de22a47aff63eda1dd719cda86267
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[ThinLTO] Use DenseMap for OidGuidMap (#107725)
We use OidGuidMap only to map an old GUID to a new one. We don't use
std::set's strengths like iterators staying valid or the ability to
traverse in a sorted order.
As a data point, during the ThinLTO indexing step of a large
application of ours, we create 440,000 mappings. Our memory profiler
reports reduction of 127MB in the peak memory usage (out of 4.991GB),
which is bigger than expected savings most likely due to some noise.
The savings should be about 8MB at the max load factor of DenseMap.
Commit: caebb4562ce634a22f7b13480b19cffc2a6a6730
https://github.com/llvm/llvm-project/commit/caebb4562ce634a22f7b13480b19cffc2a6a6730
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-07 (Sat, 07 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash looksup (NFC) (#107727)
Commit: 49e38606cdad9eb2414a41d2b81903f0b516984d
https://github.com/llvm/llvm-project/commit/49e38606cdad9eb2414a41d2b81903f0b516984d
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
Log Message:
-----------
[Sanitizer] Create DiagnosticInfoInstrumentation for IR Instrumentation reporting. (#106356)
This PR adds DK_Instrumentation enum to DiagnosticKind and
DiagnosticInfoInstrumentation is extended from DiagnosticsInfo for IR
instrumentation reporting.
Commit: cf11eb62e1d0fa41f68b4ca3150eac854ac2e991
https://github.com/llvm/llvm-project/commit/cf11eb62e1d0fa41f68b4ca3150eac854ac2e991
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/constexpr-vectors.cpp
Log Message:
-----------
[clang][bytecode] Implement logical operators for vector type (#107678)
Implement `&&`, `||` logical operators for vector type.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: f5aad24820fb717be709e424a7344cbc6472c0e5
https://github.com/llvm/llvm-project/commit/f5aad24820fb717be709e424a7344cbc6472c0e5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
[IROutliner] Avoid repeated hash lookups (NFC) (#107726)
Commit: 81ec7bd4183439ba824045b92f00fdebb10ff224
https://github.com/llvm/llvm-project/commit/81ec7bd4183439ba824045b92f00fdebb10ff224
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Log Message:
-----------
[Frontend] Avoid repeated hash lookups (NFC) (#107728)
Commit: bc59b638ae35594b55a439a5986519a3f9cc903d
https://github.com/llvm/llvm-project/commit/bc59b638ae35594b55a439a5986519a3f9cc903d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[Vectorize] Avoid repeated hash lookups (NFC) (#107729)
Commit: 1d44ecb9daffbc3b1ed78b7c95662a6fea3f90b9
https://github.com/llvm/llvm-project/commit/1d44ecb9daffbc3b1ed78b7c95662a6fea3f90b9
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Remove unnecessary untieRegOperand (#107695)
As far as I can tell, V_SET_INACTIVE has never had tied operands.
Commit: 13546c284fc31fa5543b07941e864b9b0aaa8638
https://github.com/llvm/llvm-project/commit/13546c284fc31fa5543b07941e864b9b0aaa8638
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#107736)
Commit: 1ab649c18a0368af2a2a046ff7ac245282f9a895
https://github.com/llvm/llvm-project/commit/1ab649c18a0368af2a2a046ff7ac245282f9a895
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - move !canUseCMOV check inside fold and update comment describing fold for clarity. NFC.
Minor refactor step before extending fold to support more patterns.
Commit: 3d00e1e208413738fc978d0a4b4ff853c0413618
https://github.com/llvm/llvm-project/commit/3d00e1e208413738fc978d0a4b4ff853c0413618
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-calling-conv.ll
M llvm/test/CodeGen/X86/avx512-extract-subvector-load-store.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/pr43507.ll
M llvm/test/CodeGen/X86/setcc-lowering.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - fold "SELECT (AND(X,1) == 0), 0, -1 -> NEG(AND(X,1))"
Commit: 71560771d73d71e3ac9b73c81496efecc2e3a08d
https://github.com/llvm/llvm-project/commit/71560771d73d71e3ac9b73c81496efecc2e3a08d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M libcxx/include/complex
Log Message:
-----------
[libc++][NFC] Use std::isinf in non-constexpr functions (#107690)
Commit: 78fa41524b6f6e2696ff21ec50e760311ac939a3
https://github.com/llvm/llvm-project/commit/78fa41524b6f6e2696ff21ec50e760311ac939a3
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Update deps (#107339) for AMDGPU/InstCombineTableGen
FIXME: Move this to the relevant block.
Commit: 058964d3dacdc1321dcf2fdf82bebd3a37fcbc9c
https://github.com/llvm/llvm-project/commit/058964d3dacdc1321dcf2fdf82bebd3a37fcbc9c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmov-promotion.ll
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - move "select (X != 0), -1, Y --> 0 - X; or (sbb), Y" fold
Move fold into LowerSELECTWithCmpZero so it can be used with (AND X,1) ==/!= 0 select cases
Commit: ffeef7599af94694191458a0e2a131e122181a13
https://github.com/llvm/llvm-project/commit/ffeef7599af94694191458a0e2a131e122181a13
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmov-promotion.ll
M llvm/test/CodeGen/X86/select.ll
M llvm/test/CodeGen/X86/select_const.ll
Log Message:
-----------
[X86] LowerSELECTWithCmpZero - without CMOV, fold "SELECT (AND(X,1) == 0), C1, C2 -> XOR(C1,AND(NEG(AND(X,1)),XOR(C1,C2))"
Use xor-bitselect pattern to avoid branching when selecting between 2 constants
Commit: 97e6f92d3181f1bb22e848b23eac801ab5d63575
https://github.com/llvm/llvm-project/commit/97e6f92d3181f1bb22e848b23eac801ab5d63575
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
Fix GCC Wparentheses warning. NFC.
Commit: 0f1bc5dbf3c51a1ee33d6037a6a169f0b0fbe217
https://github.com/llvm/llvm-project/commit/0f1bc5dbf3c51a1ee33d6037a6a169f0b0fbe217
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
Fix GCC Wimplicit-fallthrough warnings. NFC.
Commit: 4ea6552f4bf049ece2bb9fa2620a67123afb725c
https://github.com/llvm/llvm-project/commit/4ea6552f4bf049ece2bb9fa2620a67123afb725c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/TableGen/VTEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Migrate LLVM RISCVTarget/VT Emitters to const RecordKeeper (#107697)
Migrate LLVM RISCVTarget/VT Emitters to const RecordKeeper.
Commit: dec0781c8b06b1a5b8ad8646d299f643745a36d0
https://github.com/llvm/llvm-project/commit/dec0781c8b06b1a5b8ad8646d299f643745a36d0
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Always locate the IAT at the beginning of the .rdata section and align its size to 4KB on ARM64EC. (#107588)
This mimics the behavior of MSVC's link.exe. My guess is that the reason
for this approach is to facilitate tracking runtime IAT modifications.
An auxiliary IAT allows bypassing the call checker for imported function
calls. It's the OS's responsibility to ensure that, if runtime patching
occurs, the auxiliary IAT is reverted to enable call checking. Modifying
the IAT is a form of runtime patching, and ensuring that it doesn’t
share pages with other data likely helps with tracking accuracy.
Although alignment alone should ensure that the IAT occupies its own
pages, placing it at the beginning of the .rdata section might be an
optimization. This way, padding is only needed after the IAT, not
before. The auxiliary IAT seems to follow a similar idea but is
positioned at the end of the .rdata section.
Commit: 45c8766973bb3bb73dd8d996231e114dcf45df9f
https://github.com/llvm/llvm-project/commit/45c8766973bb3bb73dd8d996231e114dcf45df9f
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Reapply "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer" (#97308)
The PR reapply https://github.com/llvm/llvm-project/pull/92527.
Implemented CWG1815 and fixed the bugs mentioned in the comments of
https://github.com/llvm/llvm-project/pull/92527 and
https://github.com/llvm/llvm-project/pull/87933.
The reason why the original PR was reverted was that errors might occur
during the rebuild.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: e29e7e726614d59cd5adae1f81266de947ee2f3b
https://github.com/llvm/llvm-project/commit/e29e7e726614d59cd5adae1f81266de947ee2f3b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Log Message:
-----------
[FrontEnd] Use SetVector (NFC) (#107743)
We could also use range-based for loops at several places, but I'm
leaving that to a subsequent patch.
Commit: 4cab4f43d199b2de579892913a5e36f2c4f4cb80
https://github.com/llvm/llvm-project/commit/4cab4f43d199b2de579892913a5e36f2c4f4cb80
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M mlir/docs/Dialects/Linalg/OpDSL.md
Log Message:
-----------
[mlir][linalg] Update name of linalg ods-gen target in docs (NFC) (#107742)
Commit: 08085eddfdca51f2bcc23945579109d01b730310
https://github.com/llvm/llvm-project/commit/08085eddfdca51f2bcc23945579109d01b730310
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#107759)
Commit: 0078d4b5a467d2dd30b066740979d73483d56328
https://github.com/llvm/llvm-project/commit/0078d4b5a467d2dd30b066740979d73483d56328
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M mlir/lib/Pass/Pass.cpp
Log Message:
-----------
[Pass] Avoid repeated hash lookups (NFC) (#107761)
Commit: 668cbd84099c82f9c34e220a019db2f5f50f4320
https://github.com/llvm/llvm-project/commit/668cbd84099c82f9c34e220a019db2f5f50f4320
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Log Message:
-----------
[Frontend] Use range-based for loops (NFC) (#107757)
Commit: bdb6f1b9d6d6262f1a0f96f410c2702a438a7498
https://github.com/llvm/llvm-project/commit/bdb6f1b9d6d6262f1a0f96f410c2702a438a7498
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/APINotes/APINotesWriter.cpp
Log Message:
-----------
[APINotes] Avoid repeated hash lookups (NFC) (#107758)
Commit: f5b7c10923566ee4c49eb918cfa6941e2a6f6456
https://github.com/llvm/llvm-project/commit/f5b7c10923566ee4c49eb918cfa6941e2a6f6456
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#107760)
Commit: 6f67c386845be85cfcbf5c90949edcdaf40a0ef7
https://github.com/llvm/llvm-project/commit/6f67c386845be85cfcbf5c90949edcdaf40a0ef7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix a variable scope problem with continue/break jumps (#107738)
Cleaning up _all_ the scopes is a little too much. Only clean up until
the point here we started the scope relevant for the break/continue
statement.
Commit: ce3c58e10481dd1d0393d342b4102c633cfd0def
https://github.com/llvm/llvm-project/commit/ce3c58e10481dd1d0393d342b4102c633cfd0def
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[NFC][TableGen] Replace DefInit::get() with Record::getDefInit() (#107762)
Eliminate DefInit::get() as its a duplicate of Record::getDefInit().
Use early return in `VarDefInit::instantiate`.
Commit: 8ae5521d64ee211ed15e654c270a7b00fd8d55ce
https://github.com/llvm/llvm-project/commit/8ae5521d64ee211ed15e654c270a7b00fd8d55ce
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/utils/TableGen/CTagsEmitter.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DirectiveEmitter.cpp
Log Message:
-----------
[TableGen] Migrate CTags/DFA/Directive Emitters to const RecordKeeper (#107693)
Migrate CTags/DFA/Directive Emitters to const RecordKeeper.
Commit: 80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1
https://github.com/llvm/llvm-project/commit/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/benchmarks/SandboxIRBench.cpp
Log Message:
-----------
[SandboxIR][Bench] Fix missing include
In 362da640dd18 "[SandboxIR][Bench] Test RAUW (#107440)" we started
using std::stringstream, but didn't include `<sstream>` for the
definition. This is resulting in a build failure on windows.
Commit: 9ade4e2646bd52b49e50c1648301da65de90ffa9
https://github.com/llvm/llvm-project/commit/9ade4e2646bd52b49e50c1648301da65de90ffa9
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/LTO.cpp
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[NFCI][LTO][lld] Optimize away symbol copies within LTO global resolution in ELF (#106193)
`StringMap<T>` creates a [copy of the
string](https://github.com/llvm/llvm-project/blob/d4c519e7b2ac21350ec08b23eda44bf4a2d3c974/llvm/include/llvm/ADT/StringMapEntry.h#L55-L58)
for entry insertions and intentionally keep copies [since the
implementation optimizes string memory
usage](https://github.com/llvm/llvm-project/blob/d4c519e7b2ac21350ec08b23eda44bf4a2d3c974/llvm/include/llvm/ADT/StringMap.h#L124).
On the other hand, linker keeps copies of symbol names [1] in
`lld::elf::parseFiles` [2] before invoking `compileBitcodeFiles` [3].
This change proposes to optimize away string copies inside
[LTO::GlobalResolutions](https://github.com/llvm/llvm-project/blob/24e791b4164986a1ca7776e3ae0292ef20d20c47/llvm/include/llvm/LTO/LTO.h#L409),
which will make LTO indexing more memory efficient for ELF. There are
similar opportunities for other (COFF, wasm, MachO) formats.
The optimization takes place for lld (ELF) only. For the rest of use
cases (gold plugin, `llvm-lto2`, etc), LTO owns a string saver to keep
copies and use global resolution key for de-duplication.
Together with @kazutakahirata's work to make `ComputeCrossModuleImport`
more memory efficient, we see a ~20% peak memory usage reduction in a
binary where peak memory usage needs to go down. Thanks to the
optimization in
https://github.com/llvm/llvm-project/commit/329ba523ccbbe68a12434926c92fd9a86494d958,
the max (as opposed to the sum) of `ComputeCrossModuleImport` or
`GlobalResolution` shows up in peak memory usage.
* Regarding correctness, the set of
[resolved](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/lib/LTO/LTO.cpp#L739)
[per-module
symbols](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/include/llvm/LTO/LTO.h#L188-L191)
is a subset of
[llvm::lto::InputFile::Symbols](https://github.com/llvm/llvm-project/blob/80c47ad3aec9d7f22e1b1bdc88960a91b66f89f1/llvm/include/llvm/LTO/LTO.h#L120).
And bitcode symbol parsing saves symbol name when iterating
`obj->symbols` in `BitcodeFile::parse` already. This change updates
`BitcodeFile::parseLazy` to keep copies of per-module undefined symbols.
* Presumably the undefined symbols in a LTO unit (copied in this patch
in linker unique saver) is a small set compared with the set of symbols
in global-resolution (copied before this patch), making this a
worthwhile trade-off. Benchmarking this change alone shows measurable
memory savings across various benchmarks.
[1] ELF
https://github.com/llvm/llvm-project/blob/1cea5c2138bef3d8fec75508df6dbb858e6e3560/lld/ELF/InputFiles.cpp#L1748
[2]
https://github.com/llvm/llvm-project/blob/ef7b18a53c0d186dcda1e322be6035407fdedb55/lld/ELF/Driver.cpp#L2863
[3]
https://github.com/llvm/llvm-project/blob/ef7b18a53c0d186dcda1e322be6035407fdedb55/lld/ELF/Driver.cpp#L2995
Commit: 1c4b04ce1f022ec12b0111ad75d8f2f0eec3b054
https://github.com/llvm/llvm-project/commit/1c4b04ce1f022ec12b0111ad75d8f2f0eec3b054
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/LLVMIR/constant-folding.mlir
Log Message:
-----------
[mlir] Fix crash in `InsertOpConstantFolder` when vector.insert operand is from a llvm.mlir.constant op (#88314)
In cases where llvm.mlir.constant has an attribute with a different type than the returned type,
the folder use to create an incorrect DenseElementsAttr and crash.
Resolves #74236
Commit: 1cc4c87198ec0c6febca3f6ed03357e9e091cfd4
https://github.com/llvm/llvm-project/commit/1cc4c87198ec0c6febca3f6ed03357e9e091cfd4
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/LTO.cpp
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
Revert "[NFCI][LTO][lld] Optimize away symbol copies within LTO global resolution in ELF" (#107788)
Reverts llvm/llvm-project#106193 while investigating bot failures
https://lab.llvm.org/buildbot/#/builders/169/builds/2989/steps/9/logs/stdio
Commit: 3d7af093f3d7b5c025e727277b9cc2b899c2d84e
https://github.com/llvm/llvm-project/commit/3d7af093f3d7b5c025e727277b9cc2b899c2d84e
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/jmp_buf.h
M libc/hdr/types/stack_t.h
M libc/src/setjmp/aarch64/CMakeLists.txt
M libc/src/setjmp/aarch64/longjmp.cpp
M libc/src/setjmp/aarch64/setjmp.cpp
M libc/src/setjmp/arm/CMakeLists.txt
M libc/src/setjmp/arm/longjmp.cpp
M libc/src/setjmp/arm/setjmp.cpp
M libc/src/setjmp/longjmp.h
M libc/src/setjmp/riscv/CMakeLists.txt
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
M libc/src/setjmp/setjmp_impl.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
M libc/test/src/setjmp/CMakeLists.txt
Log Message:
-----------
[libc] Add proxy header for the jmp_buf type (#107712)
Added proxy header for the jmp_buf type and changed all use instances
from __jmp_buf * to the typedef alias jmp_buf , fixed the link to LLVM
in stack_t.h description
Commit: 9d8950a8d98708e73f6352f9664deac2ed8f910c
https://github.com/llvm/llvm-project/commit/9d8950a8d98708e73f6352f9664deac2ed8f910c
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir] 'dyn_cast' is deprecated: Use mlir::dyn_cast<U>() instead (NFC)
/llvm-project/mlir/lib/Dialect/Vector/IR/VectorOps.cpp:2923:29: error: 'dyn_cast' is deprecated: Use mlir::dyn_cast<U>() instead [-Werror,-Wdeprecated-declarations]
2923 | if (auto intAttr = attr.dyn_cast<IntegerAttr>()) {
| ^
/llvm-project/mlir/include/mlir/IR/Attributes.h:184:14: note: 'dyn_cast' has been explicitly marked deprecated here
184 | U Attribute::dyn_cast() const {
| ^
Commit: fef84c56dcd93fc63aa61a1313f0f5465e104291
https://github.com/llvm/llvm-project/commit/fef84c56dcd93fc63aa61a1313f0f5465e104291
Author: Jim Lin <jim at andestech.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
A llvm/lib/Target/RISCV/RISCVConstantPoolValue.cpp
A llvm/lib/Target/RISCV/RISCVConstantPoolValue.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
Log Message:
-----------
[RISCV] Support the large code model. (#70308)
Implement large code model for GlobalAddressSDNode and ExternalSymbolSDNode.
See discussion on
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/388.
---------
Co-authored-by: Kuan-Lin Chen <rufus at andestech.com>
Commit: 0f5033053a3d4dcf27cd488a360e64c48a36c27a
https://github.com/llvm/llvm-project/commit/0f5033053a3d4dcf27cd488a360e64c48a36c27a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port fef84c56dcd9
Commit: 74ac96ae1a81c7ecc0e27ff6f45309cff1f2df97
https://github.com/llvm/llvm-project/commit/74ac96ae1a81c7ecc0e27ff6f45309cff1f2df97
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Modules/pr107673.cppm
Log Message:
-----------
[C++20] [Modules] Treat constexpr/consteval member function as implicitly inline
Close https://github.com/llvm/llvm-project/issues/107673
Commit: 869435325454f7fd901a5c0f2436745cb72bc897
https://github.com/llvm/llvm-project/commit/869435325454f7fd901a5c0f2436745cb72bc897
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[LLVM]Fix symbol visibility macros not being define for AIX (#107705)
This is to try and fix buildbot failure on
[clang-ppc64-aix](https://lab.llvm.org/buildbot/#/builders/64/builds/881)
from my changes in #96630. I don't really know much about AIX so it
would be good to have someone more knowledgeable to say if visibility
macros on extern templates is needed on AIX similar to ELF. @compnerd
@tstellar
Commit: c30c0659d6c0c9fd3bc6861cd1eb99a3fcaa1026
https://github.com/llvm/llvm-project/commit/c30c0659d6c0c9fd3bc6861cd1eb99a3fcaa1026
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/half-zfa.ll
Log Message:
-----------
[RISCV] Fix crashes with Zfhmin+Zfa.
We were incorrectly making ISD::FMAXIMUM, ISD::FMINIMUM, and
ISD::FNEARBYINT legal with Zfhmin+Zfa when we really need Zfh+Zfa.
Commit: f2b71491d11355c0df0c92ef7cce7d610c894660
https://github.com/llvm/llvm-project/commit/f2b71491d11355c0df0c92ef7cce7d610c894660
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Make MCRegisterInfo::getLLVMRegNum return std::optional<MCRegister>. NFC (#107776)
Commit: b5ee4639dee0fd74c1215547e35bd9a10cfc5925
https://github.com/llvm/llvm-project/commit/b5ee4639dee0fd74c1215547e35bd9a10cfc5925
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Types.def
A flang/test/Driver/save-temps-use-module.f90
Log Message:
-----------
[flang][driver] Add pre-processing type for Fortran pre-processed files (#104664)
When using `--save-temps`, flang-new emits (among other things) an
`<input>.i` file. These `.i` files are pre-processed Fortran files
containing information about the modules referenced by the input source
(these files are emitted by: `Parsing::EmitPreprocessedSource`).
This diff allows `.i` files emitted by flang-new to be treated as valid
files in the pre-processing phase. This, in turn, allows flang-new to
add pre-processing options (e.g. `-I`) when launching compilation jobs
for these files.
This solves a bug when using `--save-temps` with source files that
include modules from non-standard directories, for example:
```
flang-new -c --save-temps -I/tmp/module_dir -fno-integrated-as \
/tmp/ModuleUser.f90
```
The problem was that `.i` files were treated as "binary" files and
therefore the return value for `types::getPreprocessedType(InputType)`
in `Flang::ConstructJob(...)` was `types::TY_INVALID`.
Commit: 65dc53baca60b7dd59de36c21f5f5176ea4f2be1
https://github.com/llvm/llvm-project/commit/65dc53baca60b7dd59de36c21f5f5176ea4f2be1
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/remat.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
Log Message:
-----------
[RISCV] Rematerialize vmv.v.i (#107550)
This continues the line of work started in #97520, and gives a 2.5%
reduction in the number of spills on SPEC CPU 2017.
Program regalloc.NumSpills
lhs rhs diff
605.mcf_s 141.00 141.00 0.0%
505.mcf_r 141.00 141.00 0.0%
519.lbm_r 73.00 73.00 0.0%
619.lbm_s 68.00 68.00 0.0%
631.deepsjeng_s 354.00 353.00 -0.3%
531.deepsjeng_r 354.00 353.00 -0.3%
625.x264_s 1896.00 1886.00 -0.5%
525.x264_r 1896.00 1886.00 -0.5%
508.namd_r 6665.00 6598.00 -1.0%
644.nab_s 761.00 753.00 -1.1%
544.nab_r 761.00 753.00 -1.1%
638.imagick_s 4287.00 4181.00 -2.5%
538.imagick_r 4287.00 4181.00 -2.5%
602.gcc_s 12771.00 12450.00 -2.5%
502.gcc_r 12771.00 12450.00 -2.5%
510.parest_r 43876.00 42740.00 -2.6%
500.perlbench_r 4297.00 4179.00 -2.7%
600.perlbench_s 4297.00 4179.00 -2.7%
526.blender_r 13503.00 13103.00 -3.0%
511.povray_r 2006.00 1937.00 -3.4%
620.omnetpp_s 984.00 946.00 -3.9%
520.omnetpp_r 984.00 946.00 -3.9%
657.xz_s 302.00 289.00 -4.3%
557.xz_r 302.00 289.00 -4.3%
541.leela_r 378.00 356.00 -5.8%
641.leela_s 378.00 356.00 -5.8%
623.xalancbmk_s 1646.00 1548.00 -6.0%
523.xalancbmk_r 1646.00 1548.00 -6.0%
Geomean difference -2.5%
I initially held off submitting this patch because it surprisingly
introduced a lot of spills in the test diffs, but after #107290 the
vmv.v.is that caused them are now gone.
The gist is that marking vmv.v.i as spillable decreased its spill
weight, which actually resulted in more m8 registers getting evicted and
spilled during register allocation.
The SPEC results show this isn't an issue in practice though, and I plan
on posting a separate patch to explain this in more detail.
Commit: 738abb9ffda73d517c412d1e24268419506880f9
https://github.com/llvm/llvm-project/commit/738abb9ffda73d517c412d1e24268419506880f9
Author: GkvJwa <gkvjwa at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
Log Message:
-----------
[SandboxIR][Bench] Fix build (#107699)
Add header files(sstream), so that msvc can be compiled normally on windows
Commit: ac9355446291a02239ce9b45d0c2225a4db0515a
https://github.com/llvm/llvm-project/commit/ac9355446291a02239ce9b45d0c2225a4db0515a
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
Log Message:
-----------
Refine the examples in the debug info document (#86272)
This PR modifies the examples of section "When to merge instruction
locations" in
[HowToUpdateDebugInfo](https://llvm.org/docs/HowToUpdateDebugInfo.html)
according to [the
discussion](https://discourse.llvm.org/t/debuginfo-merging-instruction-locations-of-hoisted-instructions/77357),
revise one misleading counterexample and refining the description of
hoisting identical instructions.
Commit: e17a39bc314f97231e440c9e68d9f46a9c07af6d
https://github.com/llvm/llvm-project/commit/e17a39bc314f97231e440c9e68d9f46a9c07af6d
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCUDARuntime.cpp
M clang/lib/CodeGen/CGCUDARuntime.h
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaCoroutine.cpp
A clang/test/CodeGenCoroutines/Inputs/utility.h
A clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
Log Message:
-----------
[Clang] C++20 Coroutines: Introduce Frontend Attribute [[clang::coro_await_elidable]] (#99282)
This patch is the frontend implementation of the coroutine elide
improvement project detailed in this discourse post:
https://discourse.llvm.org/t/language-extension-for-better-more-deterministic-halo-for-c-coroutines/80044
This patch proposes a C++ struct/class attribute
`[[clang::coro_await_elidable]]`. This notion of await elidable task
gives developers and library authors a certainty that coroutine heap
elision happens in a predictable way.
Originally, after we lower a coroutine to LLVM IR, CoroElide is
responsible for analysis of whether an elision can happen. Take this as
an example:
```
Task foo();
Task bar() {
co_await foo();
}
```
For CoroElide to happen, the ramp function of `foo` must be inlined into
`bar`. This inlining happens after `foo` has been split but `bar` is
usually still a presplit coroutine. If `foo` is indeed a coroutine, the
inlined `coro.id` intrinsics of `foo` is visible within `bar`. CoroElide
then runs an analysis to figure out whether the SSA value of
`coro.begin()` of `foo` gets destroyed before `bar` terminates.
`Task` types are rarely simple enough for the destroy logic of the task
to reference the SSA value from `coro.begin()` directly. Hence, the pass
is very ineffective for even the most trivial C++ Task types. Improving
CoroElide by implementing more powerful analyses is possible, however it
doesn't give us the predictability when we expect elision to happen.
The approach we want to take with this language extension generally
originates from the philosophy that library implementations of `Task`
types has the control over the structured concurrency guarantees we
demand for elision to happen. That is, the lifetime for the callee's
frame is shorter to that of the caller.
The ``[[clang::coro_await_elidable]]`` is a class attribute which can be
applied to a coroutine return type.
When a coroutine function that returns such a type calls another
coroutine function, the compiler performs heap allocation elision when
the following conditions are all met:
- callee coroutine function returns a type that is annotated with
``[[clang::coro_await_elidable]]``.
- In caller coroutine, the return value of the callee is a prvalue that
is immediately `co_await`ed.
>From the C++ perspective, it makes sense because we can ensure the
lifetime of elided callee cannot exceed that of the caller if we can
guarantee that the caller coroutine is never destroyed earlier than the
callee coroutine. This is not generally true for any C++ programs.
However, the library that implements `Task` types and executors may
provide this guarantee to the compiler, providing the user with
certainty that HALO will work on their programs.
After this patch, when compiling coroutines that return a type with such
attribute, the frontend checks that the type of the operand of
`co_await` expressions (not `operator co_await`). If it's also
attributed with `[[clang::coro_await_elidable]]`, the FE emits metadata
on the call or invoke instruction as a hint for a later middle end pass
to elide the elision.
The original patch version is
https://github.com/llvm/llvm-project/pull/94693 and as suggested, the
patch is split into frontend and middle end solutions into stacked PRs.
The middle end CoroSplit patch can be found at
https://github.com/llvm/llvm-project/pull/99283
The middle end transformation that performs the elide can be found at
https://github.com/llvm/llvm-project/pull/99285
Commit: 234cc81625030e934651d6ae0ace66e37138ba4a
https://github.com/llvm/llvm-project/commit/234cc81625030e934651d6ae0ace66e37138ba4a
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
M llvm/docs/Coroutines.rst
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/test/Transforms/Coroutines/coro-split-00.ll
Log Message:
-----------
[LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (#99283)
This patch is episode two of the coroutine HALO improvement project
published on discourse:
https://discourse.llvm.org/t/language-extension-for-better-more-deterministic-halo-for-c-coroutines/80044
Previously CoroElide depends on inlining, and its analysis does not work
very well with code generated by the C++ frontend due the existence of
many customization points. There has been issue reported to upstream how
ineffective the original CoroElide was in real world applications.
For C++ users, this set of patches aim to fix this problem by providing
library authors and users deterministic HALO behaviour for some
well-behaved coroutine `Task` types. The stack begins with a library
side attribute on the `Task` class that guarantees no unstructured
concurrency when coroutines are awaited directly with `co_await`ed as a
prvalue. This attribute on Task types gives us lifetime guarantees and
makes C++ FE capable to telling the ME which coroutine calls are
elidable. We convey such information from FE through the attribute
`coro_elide_safe`.
This patch modifies CoroSplit to create a variant of the coroutine ramp
function that 1) does not use heap allocated frame, instead take an
additional parameter as the pointer to the frame. Such parameter is
attributed with `dereferenceble` and `align` to convey size and align
requirements for the frame. 2) always stores cleanup instead of destroy
address for `coro.destroy()` actions.
In a later patch, we will have a new pass that runs right after
CoroSplit to find usages of the callee coroutine attributed
`coro_elide_safe` in presplit coroutine callers, allocates the frame on
its "stack", transform those usages to call the `noalloc` ramp function
variant.
(note I put quotes on the word "stack" here, because for presplit
coroutine, any alloca will be spilled into the frame when it's being
split)
The C++ Frontend attribute implementation that works with this change
can be found at https://github.com/llvm/llvm-project/pull/99282
The pass that makes use of the new `noalloc` split can be found at
https://github.com/llvm/llvm-project/pull/99285
Commit: a416267a5f3fffb3d1e9d8d53245aef8169c5ddb
https://github.com/llvm/llvm-project/commit/a416267a5f3fffb3d1e9d8d53245aef8169c5ddb
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-09-08 (Sun, 08 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Coroutines/CoroAnnotationElide.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Coroutines/CMakeLists.txt
A llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
A llvm/test/Transforms/Coroutines/coro-transform-must-elide.ll
Log Message:
-----------
[LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (#99285)
This patch is episode three of the middle end implementation for the
coroutine HALO improvement project published on discourse:
https://discourse.llvm.org/t/language-extension-for-better-more-deterministic-halo-for-c-coroutines/80044
After we attribute the calls to some coroutines as "coro_elide_safe" in
the C++ FE and creating a `noalloc` ramp function, we use a new middle
end pass to move the call to coroutines to the noalloc variant.
This pass should be run after CoroSplit. For each node we process in
CoroSplit, we look for its callers and replace the attributed ones in
presplit coroutines to the noalloc one. The transformed `noalloc` ramp
function will also require a frame pointer to a block of memory it can
use as an activation frame. We allocate this on the caller's frame with
an alloca.
Please note that we cannot safely transform such attributed calls in
post-split coroutines due to memory lifetime reasons. The CoroSplit pass
is responsible for creating the coroutine frame spills for all the
allocas in the coroutine. Therefore it will be unsafe to create new
allocas like this one in post-split coroutines. This happens relatively
rarely because CGSCC performs the passes on the callees before the
caller. However, if multiple coroutines coexist in one SCC, this
situation does happen (and prevents us from having potentially unbound
frame size due to recursion.)
You can find episode 1: Clang FE of this patch series at
https://github.com/llvm/llvm-project/pull/99282
Episode 2: CoroSplit at https://github.com/llvm/llvm-project/pull/99283
Commit: bdcbfa7fb4ac6f23262095c401d28309d689225e
https://github.com/llvm/llvm-project/commit/bdcbfa7fb4ac6f23262095c401d28309d689225e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Coroutines/BUILD.gn
Log Message:
-----------
[gn build] Port a416267a5f3f
Commit: 9347b66cfcd9acf84dbbd500b6344041c587f6a9
https://github.com/llvm/llvm-project/commit/9347b66cfcd9acf84dbbd500b6344041c587f6a9
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
R llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
R llvm/test/tools/llvm-split/AMDGPU/debug-non-kernel-root.ll
M llvm/test/tools/llvm-split/AMDGPU/declarations.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
M llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
M llvm/test/tools/llvm-split/AMDGPU/non-kernels-dependency-indirect.ll
A llvm/test/tools/llvm-split/AMDGPU/recursive-search-2.ll
A llvm/test/tools/llvm-split/AMDGPU/recursive-search-8.ll
Log Message:
-----------
Reland "[AMDGPU] Graph-based Module Splitting Rewrite (#104763)" (#107076)
Relands #104763 with
- Fixes for EXPENSIVE_CHECKS test failure (due to sorting operator
failing if the input is shuffled first)
- Fix for broken proposal selection
- c3cb27370af40e491446164840766478d3258429 included
Original commit description below
---
Major rewrite of the AMDGPUSplitModule pass in order to better support
it long-term.
Highlights:
- Removal of the "SML" logging system in favor of just using CL options
and LLVM_DEBUG, like any other pass in LLVM.
- The SML system started from good intentions, but it was too flawed and
messy to be of any real use. It was also a real pain to use and made the
code more annoying to maintain.
- Graph-based module representation with DOTGraph printing support
- The graph represents the module accurately, with bidirectional, typed
edges between nodes (a node usually represents one function).
- Nodes are assigned IDs starting from 0, which allows us to represent a
set of nodes as a BitVector. This makes comparing 2 sets of nodes to
find common dependencies a trivial task. Merging two clusters of nodes
together is also really trivial.
- No more defaulting to "P0" for external calls
- Roots that can reach non-copyable dependencies (such as external
calls) are now grouped together in a single "cluster" that can go into
any partition.
- No more defaulting to "P0" for indirect calls
- New representation for module splitting proposals that can be graded
and compared.
- Graph-search algorithm that can explore multiple branches/assignments
for a cluster of functions, up to a maximum depth.
- With the default max depth of 8, we can create up to 256 propositions
to try and find the best one.
- We can still fall back to a greedy approach upon reaching max depth.
That greedy approach uses almost identical heuristics to the previous
version of the pass.
All of this gives us a lot of room to experiment with new heuristics or
even entirely different splitting strategies if we need to. For
instance, the graph representation has room for abstract nodes, e.g. if
we need to represent some global variables or external constraints. We
could also introduce more edge types to model other type of relations
between nodes, etc.
I also designed the graph representation & the splitting strategies to
be as fast as possible, and it seems to have paid off. Some quick tests
showed that we spend pretty much all of our time in the CloneModule
function, with the actual splitting logic being >1% of the runtime.
Commit: 022b3c27e27832f27c61683095899227c26e0cca
https://github.com/llvm/llvm-project/commit/022b3c27e27832f27c61683095899227c26e0cca
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-target-riscv.c
Log Message:
-----------
[Clang][RISCV] Recognize unsupport target feature by supporting isValidFeatureName (#106495)
This patch makes unsupported target attributes emit a warning and ignore
the target attribute during semantic checks. The changes include:
1. Adding the RISCVTargetInfo::isValidFeatureName function.
2. Rejecting non-full-arch strings in the handleFullArchString function.
3. Adding test cases to demonstrate the warning behavior.
Commit: 8549b324bc1f450f4477f46f18db67439dbf6d75
https://github.com/llvm/llvm-project/commit/8549b324bc1f450f4477f46f18db67439dbf6d75
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
R clang/test/SemaCXX/pr61460.cpp
Log Message:
-----------
[Clang] Don't assert non-empty packs for FunctionParmPackExprs (#107561)
`FunctionParmPackExpr`s are peculiar in that they have to be of
unexpanded dependency while they don't introduce any unexpanded packs.
So this patch rules them out in the non-empty pack assertion in
`DiagnoseUnexpandedParameterPack()`.
There was a fix #69224, but that turned out to be insufficient.
I also moved the separate tests to a pre-existing file.
Fixes https://github.com/llvm/llvm-project/issues/86361
Commit: d5f6f30664ed53ef27d949fad0ce3994ea9988dd
https://github.com/llvm/llvm-project/commit/d5f6f30664ed53ef27d949fad0ce3994ea9988dd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
Log Message:
-----------
[MLGO] Add spaces at the end of lines in multiline string
This patch adds spaces at the end of lines in multiline strings in the
extract_ir script. Without this patch, the warning/info messages will be
printed without spaces between words when there is a line break in the
source which looks/reads weird.
Commit: 3e04ad428313dde40c779af6d675b162e150125e
https://github.com/llvm/llvm-project/commit/3e04ad428313dde40c779af6d675b162e150125e
Author: Lang Hames <lhames at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/adt.h
M compiler-rt/lib/orc/bitmask_enum.h
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/coff_platform.h
M compiler-rt/lib/orc/debug.cpp
M compiler-rt/lib/orc/debug.h
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
M compiler-rt/lib/orc/elfnix_platform.h
M compiler-rt/lib/orc/endianness.h
M compiler-rt/lib/orc/error.h
M compiler-rt/lib/orc/executor_address.h
M compiler-rt/lib/orc/executor_symbol_def.h
M compiler-rt/lib/orc/extensible_rtti.cpp
M compiler-rt/lib/orc/extensible_rtti.h
M compiler-rt/lib/orc/interval_map.h
M compiler-rt/lib/orc/interval_set.h
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/macho_platform.h
M compiler-rt/lib/orc/run_program_wrapper.cpp
M compiler-rt/lib/orc/simple_packed_serialization.h
M compiler-rt/lib/orc/stl_extras.h
M compiler-rt/lib/orc/string_pool.h
M compiler-rt/lib/orc/wrapper_function_utils.h
Log Message:
-----------
[ORC-RT] Remove double underscore from the orc_rt namespace.
We should use `orc_rt` as the public C++ API namespace for the ORC runtime and
control symbol visibility to hide implementation details, rather than rely on
the '__' prefix.
Commit: 74ad2540523ec78122ba5a32e35e0b65ee27b7b3
https://github.com/llvm/llvm-project/commit/74ad2540523ec78122ba5a32e35e0b65ee27b7b3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[Github][MLGO] Fix mlgo-utils path in new-prs-labeler
This patch (hopefully) fixes the mlgo-utils path in new-prs-labeler so
that it actually matches all files in that directory. Currently it is
not catching the files as they are relatively deeply nested within the
folder.
Commit: 3b1146e050657f40954e8e1f977837f884df2488
https://github.com/llvm/llvm-project/commit/3b1146e050657f40954e8e1f977837f884df2488
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
Log Message:
-----------
[llvm-exegesis] Use MCRegister instead of unsigned to hold registers (#107820)
Commit: 04742f34b343af87dda93edacbb06f6e98a1d80f
https://github.com/llvm/llvm-project/commit/04742f34b343af87dda93edacbb06f6e98a1d80f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/Transforms/SCCP/pointer-nonnull.ll
Log Message:
-----------
[SCCP] Add test for nonnull argument inference (NFC)
Commit: da11ede57d034767a6f5d5e211c06c1c3089d7fd
https://github.com/llvm/llvm-project/commit/da11ede57d034767a6f5d5e211c06c1c3089d7fd
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp
A clang/test/Analysis/nullability-nocrash.c
Log Message:
-----------
[analyzer] Remove overzealous "No dispatcher registered" assertion (#107294)
Random testing revealed it's possible to crash the analyzer with the
command line invocation:
clang -cc1 -analyze -analyzer-checker=nullability empty.c
where the source file, empty.c is an empty source file.
```
clang: <root>/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp:56:
void clang::ento::CheckerManager::finishedCheckerRegistration():
Assertion `Event.second.HasDispatcher && "No dispatcher registered for an event"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/
Stack dump:
0. Program arguments: clang -cc1 -analyze -analyzer-checker=nullability nullability-nocrash.c
#0 ...
...
#7 <addr> clang::ento::CheckerManager::finishedCheckerRegistration()
#8 <addr> clang::ento::CheckerManager::CheckerManager(clang::ASTContext&,
clang::AnalyzerOptions&, clang::Preprocessor const&,
llvm::ArrayRef<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char>>>, llvm::ArrayRef<std::function<void (clang::ento::CheckerRegistry&)>>)
```
This commit removes the assertion which failed here, because it was
logically incorrect: it required that if an Event is handled by some
(enabled) checker, then there must be an **enabled** checker which can
emit that kind of Event. It should be OK to disable the event-producing
checkers but enable an event-consuming checker which has different
responsibilities in addition to handling the events.
Note that this assertion was in an `#ifndef NDEBUG` block, so this
change does not impact the non-debug builds.
Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>
Commit: 476b1a661f6846537d232e9a3bc5a68c5f15efb3
https://github.com/llvm/llvm-project/commit/476b1a661f6846537d232e9a3bc5a68c5f15efb3
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[TOSA] Update input name for Sin and Cos operators (#107606)
Update the dialect input names from input to input1 for Sin/Cos for
consistency.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: d57be195e37f9c11a26e8e3fe8da5ef62bb921af
https://github.com/llvm/llvm-project/commit/d57be195e37f9c11a26e8e3fe8da5ef62bb921af
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-to-zero.ll
Log Message:
-----------
[AArch64] replace SVE intrinsics with no active lanes with zero (#107413)
This patch extends https://github.com/llvm/llvm-project/pull/73964 and
optimises SVE intrinsics into zero constants when predicate is zero.
Commit: b98aa6fb1d5f5fa904ce6d789a8fa4a245a90ee6
https://github.com/llvm/llvm-project/commit/b98aa6fb1d5f5fa904ce6d789a8fa4a245a90ee6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[X86] LowerABD - lower i8/i16 cases directly to CMOV(SUB(X,Y),SUB(Y,X)) pattern
Better codegen (shorter dependency chain for better ILP) than via the TRUNC(ABS(SUB(EXT(LHS),EXT(RHS)))) expansion
Commit: aa21ce4a792c170074193c32e8ba8dd35e57c628
https://github.com/llvm/llvm-project/commit/aa21ce4a792c170074193c32e8ba8dd35e57c628
Author: Jonas Rickert <Jonas.Rickert at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/lib/AsmParser/Parser.h
M mlir/unittests/Parser/CMakeLists.txt
M mlir/unittests/Parser/ParserTest.cpp
Log Message:
-----------
[mlir] Do not set lastToken in AsmParser's resetToken function and add a unit test for AsmParsers's locations (#105529)
This changes the function `resetToken` to not update `lastToken`.
The member `lastToken` is the last token that was consumed by the
parser.
Resetting the lexer position to a different position does not cause any
token to be consumed, so `lastToken` should not be updated.
Setting it to `curToken` can cause the scopeLoc.end location of
`OperationDefinition `to be off-by-one, pointing to the
first token after the operation.
An example for an operation for which the scopeLoc.end location was
wrong before is:
```
%0 = torch.vtensor.literal(dense_resource<__elided__> : tensor<768xbf16>) : !torch.vtensor<[768],bf16>
```
Here the scope end loc always pointed to the next token
This also adds a test for the Locations of `OperationDefinitions`.
Without the change to `resetToken` the test failes, with the scope end
location for `llvm.mlir.undef` pointing to the `func.return` in the next
line
Commit: 663e9cec9c96169aa4e72ab9b6bf08b2d6603093
https://github.com/llvm/llvm-project/commit/663e9cec9c96169aa4e72ab9b6bf08b2d6603093
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
A mlir/test/Dialect/GPU/indirect-device-func-call.mlir
Log Message:
-----------
[Func][GPU] Use SymbolUserOpInterface in func::ConstantOp (#107748)
This PR enables `func::ConstantOp` creation and usage for device
functions inside GPU modules.
The current main returns error for referencing device functions via
`func::ConstantOp`, because during the `ConstantOp` verification it only
checks symbols in `ModuleOp` symbol table, which, of course, does not
contain device functions that are defined in `GPUModuleOp`. This PR
proposes a more general solution.
Co-authored-by: Artem Kroviakov <artem.kroviakov at tum.de>
Commit: dbd81ba2e85c2f244f22c983d96a106eae65c06a
https://github.com/llvm/llvm-project/commit/dbd81ba2e85c2f244f22c983d96a106eae65c06a
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M compiler-rt/lib/orc/string_pool.h
M compiler-rt/lib/orc/tests/unit/adt_test.cpp
M compiler-rt/lib/orc/tests/unit/bitmask_enum_test.cpp
M compiler-rt/lib/orc/tests/unit/endian_test.cpp
M compiler-rt/lib/orc/tests/unit/error_test.cpp
M compiler-rt/lib/orc/tests/unit/executor_address_test.cpp
M compiler-rt/lib/orc/tests/unit/executor_symbol_def_test.cpp
M compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
M compiler-rt/lib/orc/tests/unit/interval_map_test.cpp
M compiler-rt/lib/orc/tests/unit/interval_set_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_utils.h
M compiler-rt/lib/orc/tests/unit/string_pool_test.cpp
M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
Log Message:
-----------
complete rename of __orc_rt namespace
for 3e04ad428313dde40c779af6d675b162e150125e
it's bizzare that none of the builbots were broken, only bazel build
https://buildkite.com/llvm-project/upstream-bazel/builds/109623#0191d5d0-2b3e-4ee7-b8dd-1e2580977e9b
Commit: 345cc47ba7a28811ae4ec7d113059ccb39c500a3
https://github.com/llvm/llvm-project/commit/345cc47ba7a28811ae4ec7d113059ccb39c500a3
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M lldb/source/API/SBDebugger.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Host/MainLoopTest.cpp
Log Message:
-----------
[NFC] Add explicit #include llvm-config.h where its macros are used, lldb part. (#107603)
(this is lldb part)
Without these explicit includes, removing other headers, who implicitly
include llvm-config.h, may have non-trivial side effects. For example,
`clangd` may report even `llvm-config.h` as "no used" in case it defines
a macro, that is explicitly used with #ifdef. It is actually amplified
with different build configs which use different set of macros.
Commit: 049512e39d96995cb373a76cf2d009a86eaf3aab
https://github.com/llvm/llvm-project/commit/049512e39d96995cb373a76cf2d009a86eaf3aab
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/test/CXX/drs/cwg18xx.cpp
Log Message:
-----------
[NFC][clang] Fix clang version in the test for the implementation of cwg1815 (#107838)
This PR fix the clang version in
https://github.com/llvm/llvm-project/pull/97308 .
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 09c00b6f0463f6936be5d2100f9d47c0077700f8
https://github.com/llvm/llvm-project/commit/09c00b6f0463f6936be5d2100f9d47c0077700f8
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependencies for 345cc47ba7a28811ae4ec7d113059ccb39c500a3
Commit: d84d9559bdc7aeb4ce14c251f6a3490c66db8d3a
https://github.com/llvm/llvm-project/commit/d84d9559bdc7aeb4ce14c251f6a3490c66db8d3a
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/embed.c
Log Message:
-----------
[clang][analyzer] Fix #embed crash (#107764)
Fix #107724.
Commit: b8b8fbe19dea2825b801c4738ff78dbf26aae430
https://github.com/llvm/llvm-project/commit/b8b8fbe19dea2825b801c4738ff78dbf26aae430
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Attributes.cpp
Log Message:
-----------
[NFC][TableGen] Migrate LLVM Attribute Emitter to const RecordKeeper (#107698)
Migrate LLVM Attribute Emitter to const RecordKeeper.
Commit: 959d84044a70da08923fe221f999f4e406094ee9
https://github.com/llvm/llvm-project/commit/959d84044a70da08923fe221f999f4e406094ee9
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
Log Message:
-----------
[AMDGPU] Remove unused SplitGraph::Node::getFullCost
Commit: 7a930ce327fdbc5c77b50ee6304645084100c037
https://github.com/llvm/llvm-project/commit/7a930ce327fdbc5c77b50ee6304645084100c037
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/CodeGen/PowerPC/aix-xcoff-exception-section-debug.ll
M llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll
A llvm/test/DebugInfo/X86/empty-line-info.ll
Log Message:
-----------
[DWARF] Emit a minimal line-table for totally empty functions (#107267)
In degenerate but legal inputs, we can have functions that have no source
locations at all -- all the DebugLocs attached to instructions are empty.
LLVM didn't produce any source location for the function; with this patch
it will at least emit the function-scope source location. Demonstrated by
empty-line-info.ll
The XCOFF test modified has similar symptoms -- with this patch, the size
of the ".dwline" section grows a bit, thus shifting some of the file
internal offsets, which I've updated.
Commit: cca54e347ac34912cdfb9983533c61836db135e0
https://github.com/llvm/llvm-project/commit/cca54e347ac34912cdfb9983533c61836db135e0
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Revert "Reapply "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer" (#97308)"
This reverts commit 45c8766973bb3bb73dd8d996231e114dcf45df9f
and 049512e39d96995cb373a76cf2d009a86eaf3aab.
This change triggers failed asserts on inputs like this:
struct a {
} constexpr b;
class c {
public:
c(a);
};
class B {
public:
using d = int;
struct e {
enum { f } g;
int h;
c i;
d j{};
};
};
B::e k{B::e::f, int(), b};
Compiled like this:
clang -target x86_64-linux-gnu -c repro.cpp
clang: ../../clang/lib/CodeGen/CGExpr.cpp:3105: clang::CodeGen::LValue
clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(const clang::DeclRefExpr*):
Assertion `(ND->isUsed(false) || !isa<VarDecl>(ND) || E->isNonOdrUse() ||
!E->getLocation().isValid()) && "Should not use decl without marking it used!"' failed.
Commit: 32cef07885e112d05bc2b1c285f40e353d80e18f
https://github.com/llvm/llvm-project/commit/32cef07885e112d05bc2b1c285f40e353d80e18f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M lldb/utils/TableGen/LLDBOptionDefEmitter.cpp
M lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp
M lldb/utils/TableGen/LLDBTableGen.cpp
M lldb/utils/TableGen/LLDBTableGenBackends.h
M lldb/utils/TableGen/LLDBTableGenUtils.cpp
M lldb/utils/TableGen/LLDBTableGenUtils.h
Log Message:
-----------
[LLDB][TableGen] Migrate lldb-tblgen to use const RecordKeeper (#107536)
Migrate LLDB TableGen backend to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: cf8fb4320f1be29c55909adf5ff8ad47e02b2dbe
https://github.com/llvm/llvm-project/commit/cf8fb4320f1be29c55909adf5ff8ad47e02b2dbe
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/aarch64-neon-faminmax-intrinsics.c
A clang/test/Sema/aarch64-neon-faminmax-no-faminmax.c
A clang/test/Sema/aarch64-neon-faminmax-no-neon.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/neon-famin-famax.ll
Log Message:
-----------
[AArch64] Implement NEON vamin/vamax intrinsics (#99041)
This patch implements the intrinsics of the form
floatNxM_t vamin[q]_fN(floatNxM_t vn, floatNxM_t vm);
floatNxM_t vamax[q]_fN(floatNxM_t vn, floatNxM_t vm);
as defined in https://github.com/ARM-software/acle/pull/324
---------
Co-authored-by: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Commit: 1199e5b9ce5a001445463ba8da1f70fa4558fbcc
https://github.com/llvm/llvm-project/commit/1199e5b9ce5a001445463ba8da1f70fa4558fbcc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
[MemCpyOpt] Add more tests for memcpy passed to readonly arg (NFC)
Commit: e25eb1433110d94d16fd69e5aca9bdf72259263d
https://github.com/llvm/llvm-project/commit/e25eb1433110d94d16fd69e5aca9bdf72259263d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
A llvm/test/Transforms/ConstraintElimination/monotonic-pointer-phis-chain-of-exits.ll
Log Message:
-----------
[ConstraintElim] Add tests for loops with chained header conditions.
Commit: aa158bf40285925d3c019d9e697cd2c88421297a
https://github.com/llvm/llvm-project/commit/aa158bf40285925d3c019d9e697cd2c88421297a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
Log Message:
-----------
[LV] Update tests to replace some code with loop varying instructions.
Update some tests with loop-invariant instructions, where hoisting them
out of the loop changes the vectorization decision. This should preserve
their original spirit when making further improvements.
Commit: 17f0c5dfaab8bc72e19cb68e73b0944e5ee27b88
https://github.com/llvm/llvm-project/commit/17f0c5dfaab8bc72e19cb68e73b0944e5ee27b88
Author: Sergey Kachkov <sergey.kachkov at syntacore.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
A llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
Log Message:
-----------
[LSR][NFC] Add pre-commit test
Commit: 1f2a634c44dedef11f590956f297b2c7a1659fcf
https://github.com/llvm/llvm-project/commit/1f2a634c44dedef11f590956f297b2c7a1659fcf
Author: Sergey Kachkov <sergey.kachkov at syntacore.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/2011-10-03-CritEdgeMerge.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/expander-crashes.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/missing-phi-operand-update.ll
M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
Log Message:
-----------
Reland "[LSR] Do not create duplicated PHI nodes while preserving LCSSA form" (#107380)
Motivating example: https://godbolt.org/z/eb97zrxhx
Here we have 2 induction variables in the loop: one is corresponding to
i variable (add rdx, 4), the other - to res (add rax, 2). The second
induction variable can be removed by rewriteLoopExitValues() method
(final value of res at loop exit is unroll_iter * -2); however, this
doesn't happen because we have duplicated LCSSA phi nodes at loop exit:
```
; Preheader:
for.body.preheader.new: ; preds = %for.body.preheader
%unroll_iter = and i64 %N, -4
br label %for.body
; Loop:
for.body: ; preds = %for.body, %for.body.preheader.new
%lsr.iv = phi i64 [ %lsr.iv.next, %for.body ], [ 0, %for.body.preheader.new ]
%i.07 = phi i64 [ 0, %for.body.preheader.new ], [ %inc.3, %for.body ]
%inc.3 = add nuw i64 %i.07, 4
%lsr.iv.next = add nsw i64 %lsr.iv, -2
%niter.ncmp.3.not = icmp eq i64 %unroll_iter, %inc.3
br i1 %niter.ncmp.3.not, label %for.end.loopexit.unr-lcssa.loopexit, label %for.body, !llvm.loop !7
; Exit blocks
for.end.loopexit.unr-lcssa.loopexit: ; preds = %for.body
%inc.3.lcssa = phi i64 [ %inc.3, %for.body ]
%lsr.iv.next.lcssa11 = phi i64 [ %lsr.iv.next, %for.body ]
%lsr.iv.next.lcssa = phi i64 [ %lsr.iv.next, %for.body ]
br label %for.end.loopexit.unr-lcssa
```
rewriteLoopExitValues requires %lsr.iv.next value to have only 2 uses:
one in LCSSA phi node, the other - in induction phi node. Here we have 3
uses of this value because of duplicated lcssa nodes, so the transform
doesn't apply and leads to an extra add operation inside the loop. The
proposed solution is to accumulate inserted instructions that will
require LCSSA form update into SetVector and then call
formLCSSAForInstructions for this SetVector once, so the same
instructions don't process twice.
Reland fixes the issue with preserve-lcssa.ll test: it fails in the situation
when x86_64-unknown-linux-gnu target is unavailable in opt. The changes are
moved into separate duplicated-phis.ll test with explicit x86 target requirement
to fix bots which are not building this target.
Commit: 1a5a1e97817c9a3db4d1f9795789c99790cf88e2
https://github.com/llvm/llvm-project/commit/1a5a1e97817c9a3db4d1f9795789c99790cf88e2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Assert that VFxUF is always used.
Add assertion to ensure invariant discussed in
https://github.com/llvm/llvm-project/pull/95305.
Commit: eaac4a26136ca8e3633bf91795343cd060d7af87
https://github.com/llvm/llvm-project/commit/eaac4a26136ca8e3633bf91795343cd060d7af87
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
Log Message:
-----------
[AMDGPU] Document & Finalize GFX12 Memory Model (#98599)
Documents the memory model implemented as of #98591, with some
fixes/optimizations to the implementation.
Commit: 620b8d994b8abdcf31271d9f4db7e7422fc9bd65
https://github.com/llvm/llvm-project/commit/620b8d994b8abdcf31271d9f4db7e7422fc9bd65
Author: Samuel Thibault <samuel.thibault at ens-lyon.org>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[hurd] Fix accessing f_type field of statvfs (#71851)
f4719c4d2cda ("Add support for GNU Hurd in Path.inc and other places")
made llvm use an internal __f_type name for the f_type field (which it
is not supposed to since accessing double-underscore names is explicitly
not supported by standards). In glibc 2.39 this field was renamed to
f_type so application can now access the field as the standard says.
Commit: 563dc226fe17f7638d02a957d1b2870dfa968f01
https://github.com/llvm/llvm-project/commit/563dc226fe17f7638d02a957d1b2870dfa968f01
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#107794)
Commit: 3940a1ba1454afec916be86385bb2031526e3e13
https://github.com/llvm/llvm-project/commit/3940a1ba1454afec916be86385bb2031526e3e13
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/Float2Int.cpp
Log Message:
-----------
[Float2Int] Avoid repeated hash lookups (NFC) (#107795)
Commit: ab95ed5ce0b099913eb5c9b03fef7f322c24acd2
https://github.com/llvm/llvm-project/commit/ab95ed5ce0b099913eb5c9b03fef7f322c24acd2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#107796)
Commit: a2f659c1349cb70c09b183eb214e2a24cf04c2c6
https://github.com/llvm/llvm-project/commit/a2f659c1349cb70c09b183eb214e2a24cf04c2c6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Log Message:
-----------
[StructurizeCFG] Avoid repeated hash lookups (NFC) (#107797)
Commit: 2d338bed00b2bba713bceb4915400063b95929b2
https://github.com/llvm/llvm-project/commit/2d338bed00b2bba713bceb4915400063b95929b2
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[CodeGen] Refactor DeadMIElim isDead and GISel isTriviallyDead (#105956)
Merge GlobalISel's isTriviallyDead and DeadMachineInstructionElim's
isDead code and remove all unnecessary checks from the hot path by
looping over the operands before doing any other checks.
See #105950 for why DeadMIElim needs to remove LIFETIME markers even
though they probably shouldn't generally be considered dead.
x86 CTMark O3: -0.1%
AArch64 GlobalISel CTMark O0: -0.6%, O2: -0.2%
Commit: 111932d5cae0199d9c59669b37232a011f8b8757
https://github.com/llvm/llvm-project/commit/111932d5cae0199d9c59669b37232a011f8b8757
Author: Luke Lau <luke at igalia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
Log Message:
-----------
[RISCV] Fix same mask vmerge peephole discarding false operand (#107827)
This fixes the issue raised in
https://github.com/llvm/llvm-project/pull/106108#discussion_r1749677510
True's passthru needs to be equivalent to vmerge's false, but we also
allow true's passthru to be undef.
However if it's undef then we need to replace it with false, otherwise
we end up discarding the false operand entirely.
The changes in fixed-vectors-strided-load-store-asm.ll undo the changes
in #106108 where we introduced this miscompile.
Commit: 6634d44e5e6079e19efe54c2de35e2e63108b085
https://github.com/llvm/llvm-project/commit/6634d44e5e6079e19efe54c2de35e2e63108b085
Author: Amy Wang <kai.ting.wang at huawei.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
A mlir/test/Dialect/Transform/transform-state-extension-initializer.mlir
M mlir/test/lib/Dialect/Transform/CMakeLists.txt
A mlir/test/lib/Dialect/Transform/TestPassStateExtensionCommunication.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
M mlir/test/lib/Dialect/Transform/TestTransformStateExtension.h
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR][Transform] Allow stateInitializer and stateExporter for applyTransforms (#101186)
This is discussed in RFC:
https://discourse.llvm.org/t/rfc-making-the-constructor-of-the-transformstate-class-protected/80377
Commit: ea9204505cf1099b98b1fdcb898f0bd35e463984
https://github.com/llvm/llvm-project/commit/ea9204505cf1099b98b1fdcb898f0bd35e463984
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
R clang/test/CodeGen/PowerPC/transparent_union.c
A clang/test/CodeGen/transparent-union-type.c
Log Message:
-----------
Fix codegen for transparent_union function params (#104816)
Update codegen for func param with transparent_union attr to be that of
the first union member.
This is a followup to #101738 to fix non-ppc codegen and closes #76773.
Commit: 6cc3bf7d1d343f910b40cee24d4cda873a6ddd55
https://github.com/llvm/llvm-project/commit/6cc3bf7d1d343f910b40cee24d4cda873a6ddd55
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Add canonicalization to fold consecutive tensor.pad ops (#107302)
`tensor.pad(tensor.pad)` with the same constant padding value can be
combined into a single pad that pads to the sum of the high and low
padding amounts.
Commit: 763bc9249cf0b7da421182e24716d9a569fb5184
https://github.com/llvm/llvm-project/commit/763bc9249cf0b7da421182e24716d9a569fb5184
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Utils/Chipset.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/AMDGPU/Utils/Chipset.cpp
M mlir/unittests/Dialect/AMDGPU/AMDGPUUtilsTest.cpp
Log Message:
-----------
[mlir][amdgpu] Align Chipset with TargetParser (#107720)
Update the Chipset struct to follow the `IsaVersion` definition from
llvm's `TargetParser`. This is a follow up to
https://github.com/llvm/llvm-project/pull/106169#discussion_r1733955012.
* Add the stepping version. Note: This may break downstream code that
compares against the minor version directly.
* Use comparisons with full Chipset version where possible.
Note that we can't use the code in `TargetParser` directly because the
chipset utility is outside of `mlir/Target` that re-exports llvm's
target library.
Commit: 86e5c5468ae3fcd65b23fd7b3cb0182e676829bd
https://github.com/llvm/llvm-project/commit/86e5c5468ae3fcd65b23fd7b3cb0182e676829bd
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][run-clang-tidy] Fix minor shutdown noise (#105724)
On my new machine, the script outputs some shutdown noise:
```
Ctrl-C detected, goodbye.
Traceback (most recent call last):
File "/home/nvankempen/llvm-project/./clang-tools-extra/clang-tidy/tool/run-clang-tidy.py", line 626, in <module>
asyncio.run(main())
File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete
self.run_forever()
File "/usr/lib/python3.10/asyncio/base_events.py", line 603, in run_forever
self._run_once()
File "/usr/lib/python3.10/asyncio/base_events.py", line 1871, in _run_once
event_list = self._selector.select(timeout)
File "/usr/lib/python3.10/selectors.py", line 469, in select
fd_event_list = self._selector.poll(timeout, max_ev)
KeyboardInterrupt
```
This fixes it. Also remove an unused typing import.
Relevant documentation:
https://docs.python.org/3/library/asyncio-runner.html#handling-keyboard-interruption
Commit: e46f03bc31a61a903416f1d3c68063ab75aebe6e
https://github.com/llvm/llvm-project/commit/e46f03bc31a61a903416f1d3c68063ab75aebe6e
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Remove unnecessary data structure (NFC) (#107643)
Recent change #106623 added the CallToFunc map, but I subsequently
realized the same information is already available for the calls being
examined in the StackIdToMatchingCalls map we're iterating through.
Commit: 1651014960b90bd1398f61bec0866d4a187910ef
https://github.com/llvm/llvm-project/commit/1651014960b90bd1398f61bec0866d4a187910ef
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/utils/TableGen/NeonEmitter.cpp
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/TableGen/SetTheory.h
M llvm/lib/TableGen/Record.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/TableGen.cpp
Log Message:
-----------
[TableGen] Change SetTheory set/vec to use const Record * (#107692)
Change SetTheory::RecSet/RecVec to use const Record pointers.
Commit: ea2da571c761066542f8d2273933d2523279e631
https://github.com/llvm/llvm-project/commit/ea2da571c761066542f8d2273933d2523279e631
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CMakeLists.txt
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
A llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.h
Log Message:
-----------
[Coroutines] Move the SuspendCrossingInfo analysis helper into its own header/source (#106306)
* Move the SuspendCrossingInfo analysis helper into its own
header/source
See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057
Co-authored-by: tnowicki <tnowicki.nowicki at amd.com>
Commit: 914ab366c24cf494a798ce3a178686456731861a
https://github.com/llvm/llvm-project/commit/914ab366c24cf494a798ce3a178686456731861a
Author: sstipanovic <146831748+sstipanovic at users.noreply.github.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.dim.ll
Log Message:
-----------
[AMDGPU] Overload image atomic swap to allow float as well. (#107283)
LLPC can generate llvm.amdgcn.image.atomic.swap intrinsic with data
argument as float type as well as float return type. This went unnoticed
until CreateIntrinsic with implicit mangling was used.
Commit: eba6160deec5a32e4b31c2a446172d0e388195c9
https://github.com/llvm/llvm-project/commit/eba6160deec5a32e4b31c2a446172d0e388195c9
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/w-option.f90
Log Message:
-----------
[flang][Driver] Support --no-warnings option (#107455)
Because of the way visibility is implemented in Options.td, options that
are aliases do not inherit the visibility of the option being aliased.
Therefore, explicitly set the visibility of the alias to be the same as
the aliased option.
This partially addresses
https://github.com/llvm/llvm-project/issues/89888
Commit: 3cdb30ebbc18fa894d3bd67aebcff76ce7c741ac
https://github.com/llvm/llvm-project/commit/3cdb30ebbc18fa894d3bd67aebcff76ce7c741ac
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Use the correct lookup context when building overloaded 'operator->' in the current instantiation (#104458)
Currently, clang erroneously rejects the following:
```
struct A
{
template<typename T>
void f();
};
template<typename T>
struct B
{
void g()
{
(*this)->template f<int>(); // error: no member named 'f' in 'B<T>'
}
A* operator->();
};
```
This happens because `Sema::ActOnStartCXXMemberReference` does not adjust the `ObjectType` parameter when `ObjectType` is a dependent type (except when the type is a `PointerType` and the class member access is the `->` form). Since the (possibly adjusted) `ObjectType` parameter (`B<T>` in the above example) is passed to `Parser::ParseOptionalCXXScopeSpecifier`, we end up looking up `f` in `B` rather than `A`.
This patch fixes the issue by identifying cases where the type of the object expression `T` is a dependent, non-pointer type and:
- `T` is the current instantiation and lookup for `operator->` finds a member of the current instantiation, or
- `T` has at least one dependent base case, and `operator->` is not found in the current instantiation
and using `ASTContext::DependentTy` as the type of the object expression when the optional _nested-name-specifier_ is parsed.
Fixes #104268.
Commit: db6051dae085c35020c1273ae8d38508c9958bc7
https://github.com/llvm/llvm-project/commit/db6051dae085c35020c1273ae8d38508c9958bc7
Author: Pavel Skripkin <paskripkin at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/test/Analysis/asm.cpp
Log Message:
-----------
[analyzer] fix crash on binding to symbolic region with `void *` type (#107572)
As reported in
https://github.com/llvm/llvm-project/pull/103714#issuecomment-2295769193.
CSA crashes on trying to bind value to symbolic region with `void *`.
This happens when such region gets passed as inline asm input and engine
tries to bind `UnknownVal` to that region.
Fix it by changing type from void to char before calling
`GetElementZeroRegion`
Commit: 95753ffa49f57c284a4682a8ca03e05d59f2c112
https://github.com/llvm/llvm-project/commit/95753ffa49f57c284a4682a8ca03e05d59f2c112
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Coroutines/BUILD.gn
Log Message:
-----------
[gn build] Port ea2da571c761
Commit: 5c8fd1eece8fff69871cef57a2363dc0f734a7d1
https://github.com/llvm/llvm-project/commit/5c8fd1eece8fff69871cef57a2363dc0f734a7d1
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M lld/wasm/SyntheticSections.cpp
Log Message:
-----------
[lld][WebAssembly] Fix use of uninitialized stack data with --wasm64 (#107780)
In the case of `--wasm64` we were setting the type of the init expression
to be 64-bit but were only setting the low 32-bits of the value (by
assigning to Int32).
Fixes: https://github.com/emscripten-core/emscripten/issues/22538
Commit: 60f052edc66a5b5b346635656f231930c436a008
https://github.com/llvm/llvm-project/commit/60f052edc66a5b5b346635656f231930c436a008
Author: Petr Hosek <phosek at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
[CMake] Passthrough variables for packages to subbuilds (#107611)
These packaged are imported by LLVMConfig.cmake and so we should be
passing through the necessary variables from the parent build into the
subbuilds.
We use `CMAKE_CACHE_DEFAULT_ARGS` so subbuilds can override these
variables if needed.
Commit: 7d371725cdf993d16f6debf74cf740c3aea84f9b
https://github.com/llvm/llvm-project/commit/7d371725cdf993d16f6debf74cf740c3aea84f9b
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[NFCI][BitcodeReader]Read real GUID from VI as opposed to storing it in map (#107735)
Currently, `ValueIdToValueInfoMap` [1] stores `std::tuple<ValueInfo,
GlobalValue::GUID /* original GUID */, GlobalValue::GUID /* real GUID*/
>`. This change updates the stored value type to `std::pair<ValueInfo,
GlobalValue::GUID /* original GUID */>`, and reads real GUID from
ValueInfo.
When an entry is inserted into `ValueIdToValueInfoMap`, ValueInfo is
created or inserted using real GUID [2]. ValueInfo keeps a pointer to
GlobalValueMap [3], using either `GUID` or `{GUID, Name}` [4] when
reading per-module summaries to create a combined summary.
[1] owned by per module-summary bitcode reader
https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L947-L950
[2]
[first](https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L7130-L7133),
[second](https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L7221-L7222),
[third](https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/lib/Bitcode/Reader/BitcodeReader.cpp#L7622-L7623)
[3]
https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/include/llvm/IR/ModuleSummaryIndex.h#L1427-L1431
[4]
https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/include/llvm/IR/ModuleSummaryIndex.h#L1631
and
https://github.com/llvm/llvm-project/blob/caebb4562ce634a22f7b13480b19cffc2a6a6730/llvm/include/llvm/IR/ModuleSummaryIndex.h#L1621
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: c36c462cc719d47aa2408bca91a028300b2be6d4
https://github.com/llvm/llvm-project/commit/c36c462cc719d47aa2408bca91a028300b2be6d4
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[LTO] Simplify calculateCallGraphRoot (NFC) (#107765)
The function returns an instance of FunctionSummary populated by
calculateCallGraphRoot regardless of whether Edges is empty or not.
Commit: 95831f012d76558fe78f5f3e71b1003a773384e5
https://github.com/llvm/llvm-project/commit/95831f012d76558fe78f5f3e71b1003a773384e5
Author: David Green <david.green at arm.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
Log Message:
-----------
[ARM] Add a default unreachable case to AddrModeToString. NFC
Fixes #107739
Commit: 7f90479b2300b3758fd90015a2e6e7e94cfcf1e7
https://github.com/llvm/llvm-project/commit/7f90479b2300b3758fd90015a2e6e7e94cfcf1e7
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/default.f90
Log Message:
-----------
[flang][OpenMP] Don't abort when default is used on an invalid directive (#107586)
The previous assert was not considering programs with semantic errors.
Fixes https://github.com/llvm/llvm-project/issues/107495
Fixes https://github.com/llvm/llvm-project/issues/93437
Commit: 7c68dbf777a97915188fa8115787b346ca82be7e
https://github.com/llvm/llvm-project/commit/7c68dbf777a97915188fa8115787b346ca82be7e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-09-09 (Mon, 09 Sep 2024)
Changed paths:
M .github/new-prs-labeler.yml
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/DependenceFlags.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/Tooling/Inclusions/StandardLibrary.h
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDARuntime.cpp
M clang/lib/CodeGen/CGCUDARuntime.h
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/constexpr-vectors.cpp
A clang/test/AST/ByteCode/initializer_list.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/Analysis/asm.cpp
A clang/test/Analysis/embed.c
A clang/test/Analysis/nullability-nocrash.c
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
R clang/test/CodeGen/PowerPC/transparent_union.c
A clang/test/CodeGen/aarch64-neon-faminmax-intrinsics.c
A clang/test/CodeGen/transparent-union-type.c
A clang/test/CodeGenCoroutines/Inputs/utility.h
A clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Modules/pr107673.cppm
A clang/test/Sema/aarch64-neon-faminmax-no-faminmax.c
A clang/test/Sema/aarch64-neon-faminmax-no-neon.c
M clang/test/Sema/attr-target-riscv.c
M clang/test/SemaCXX/lambda-pack-expansion.cpp
R clang/test/SemaCXX/pr61460.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M compiler-rt/lib/orc/adt.h
M compiler-rt/lib/orc/bitmask_enum.h
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/coff_platform.h
M compiler-rt/lib/orc/debug.cpp
M compiler-rt/lib/orc/debug.h
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
M compiler-rt/lib/orc/elfnix_platform.h
M compiler-rt/lib/orc/endianness.h
M compiler-rt/lib/orc/error.h
M compiler-rt/lib/orc/executor_address.h
M compiler-rt/lib/orc/executor_symbol_def.h
M compiler-rt/lib/orc/extensible_rtti.cpp
M compiler-rt/lib/orc/extensible_rtti.h
M compiler-rt/lib/orc/interval_map.h
M compiler-rt/lib/orc/interval_set.h
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/macho_platform.h
M compiler-rt/lib/orc/run_program_wrapper.cpp
M compiler-rt/lib/orc/simple_packed_serialization.h
M compiler-rt/lib/orc/stl_extras.h
M compiler-rt/lib/orc/string_pool.h
M compiler-rt/lib/orc/tests/unit/adt_test.cpp
M compiler-rt/lib/orc/tests/unit/bitmask_enum_test.cpp
M compiler-rt/lib/orc/tests/unit/endian_test.cpp
M compiler-rt/lib/orc/tests/unit/error_test.cpp
M compiler-rt/lib/orc/tests/unit/executor_address_test.cpp
M compiler-rt/lib/orc/tests/unit/executor_symbol_def_test.cpp
M compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
M compiler-rt/lib/orc/tests/unit/interval_map_test.cpp
M compiler-rt/lib/orc/tests/unit/interval_set_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_utils.h
M compiler-rt/lib/orc/tests/unit/string_pool_test.cpp
M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
M compiler-rt/test/asan/TestCases/leaks.cpp
R compiler-rt/test/builtins/Unit/compiler_rt_fmaxf_test.c
M compiler-rt/test/lsan/TestCases/use_registers.cpp
A compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-debuginfod.c
A compiler-rt/test/profile/instrprof-binary-correlate-debuginfod.c
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/rtsan/basic.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
M compiler-rt/test/tsan/signal_block.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Driver/save-temps-use-module.f90
M flang/test/Driver/w-option.f90
M flang/test/Semantics/OpenMP/default.f90
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/jmp_buf.h
A libc/hdr/types/stack_t.h
M libc/src/setjmp/aarch64/CMakeLists.txt
M libc/src/setjmp/aarch64/longjmp.cpp
M libc/src/setjmp/aarch64/setjmp.cpp
M libc/src/setjmp/arm/CMakeLists.txt
M libc/src/setjmp/arm/longjmp.cpp
M libc/src/setjmp/arm/setjmp.cpp
M libc/src/setjmp/longjmp.h
M libc/src/setjmp/riscv/CMakeLists.txt
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
M libc/src/setjmp/setjmp_impl.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/longjmp.cpp
M libc/src/setjmp/x86_64/setjmp.cpp
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/sigaltstack.h
M libc/test/src/setjmp/CMakeLists.txt
M libc/utils/HdrGen/Command.h
M libc/utils/HdrGen/Generator.cpp
M libc/utils/HdrGen/Generator.h
M libc/utils/HdrGen/IncludeFileCommand.cpp
M libc/utils/HdrGen/IncludeFileCommand.h
M libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
M libc/utils/HdrGen/PublicAPICommand.cpp
M libc/utils/HdrGen/PublicAPICommand.h
M libc/utils/LibcTableGenUtil/APIIndexer.cpp
M libc/utils/LibcTableGenUtil/APIIndexer.h
M libc/utils/MPFRWrapper/CMakeLists.txt
M libcxx/include/complex
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64ec-import.test
M lld/wasm/SyntheticSections.cpp
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
R lldb/include/lldb/Target/CoreFileMemoryRanges.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/RangeMap.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Target/CMakeLists.txt
R lldb/source/Target/CoreFileMemoryRanges.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/unittests/Host/MainLoopTest.cpp
M lldb/unittests/Process/Utility/CMakeLists.txt
R lldb/unittests/Process/Utility/CoreFileMemoryRangesTest.cpp
M lldb/utils/TableGen/LLDBOptionDefEmitter.cpp
M lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp
M lldb/utils/TableGen/LLDBTableGen.cpp
M lldb/utils/TableGen/LLDBTableGenBackends.h
M lldb/utils/TableGen/LLDBTableGenUtils.cpp
M lldb/utils/TableGen/LLDBTableGenUtils.h
M llvm/benchmarks/SandboxIRBench.cpp
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/docs/Coroutines.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
M llvm/include/llvm/Analysis/SyntheticCountsUtils.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
R llvm/include/llvm/LTO/SummaryBasedOptimizations.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/ProfileCommon.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/TableGen/Error.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/TableGen/SetTheory.h
A llvm/include/llvm/Transforms/Coroutines/CoroAnnotationElide.h
M llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
R llvm/include/llvm/Transforms/IPO/SyntheticCountsPropagation.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
A llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/StackMaps.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/CMakeLists.txt
M llvm/lib/LTO/LTO.cpp
R llvm/lib/LTO/SummaryBasedOptimizations.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/TableGen/Error.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/InstCombineTables.td
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
A llvm/lib/Target/RISCV/RISCVConstantPoolValue.cpp
A llvm/lib/Target/RISCV/RISCVConstantPoolValue.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/Coroutines/CMakeLists.txt
A llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
A llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
A llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/lib/Transforms/IPO/CMakeLists.txt
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
R llvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
M llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
A llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
A llvm/test/Analysis/CtxProfAnalysis/flatten-always-removes-instrumentation.ll
A llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
A llvm/test/Analysis/CtxProfAnalysis/load-unapplicable.ll
M llvm/test/Analysis/CtxProfAnalysis/load.ll
R llvm/test/Bitcode/thinlto-synthetic-count-flag.ll
A llvm/test/CodeGen/AArch64/neon-famin-famax.ll
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.dim.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll
M llvm/test/CodeGen/ARM/big-endian-neon-fp16-bitconv.ll
M llvm/test/CodeGen/ARM/big-endian-vmov.ll
M llvm/test/CodeGen/ARM/vmov.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-exception-section-debug.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args-bf16-err.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args-f16-err.ll
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
M llvm/test/CodeGen/RISCV/double-arith.ll
M llvm/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
A llvm/test/CodeGen/RISCV/fastcc-bf16.ll
A llvm/test/CodeGen/RISCV/fastcc-half.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/float-arith.ll
M llvm/test/CodeGen/RISCV/float-bitmanip-dagcombines.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-zfa.ll
M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/remat.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/Thumb2/mve-be.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/bitwise-imm.ll
M llvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
M llvm/test/CodeGen/Thumb2/mve-pred-bitcast.ll
M llvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll
M llvm/test/CodeGen/Thumb2/mve-pred-spill.ll
M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
M llvm/test/CodeGen/X86/avx512-calling-conv.ll
M llvm/test/CodeGen/X86/avx512-extract-subvector-load-store.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/cmov-promotion.ll
M llvm/test/CodeGen/X86/pr43507.ll
M llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll
M llvm/test/CodeGen/X86/pull-conditional-binop-through-shift.ll
M llvm/test/CodeGen/X86/select.ll
M llvm/test/CodeGen/X86/select_const.ll
M llvm/test/CodeGen/X86/setcc-lowering.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
A llvm/test/DebugInfo/X86/empty-line-info.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
A llvm/test/TableGen/intrinsic-prefix-error.td
M llvm/test/TableGen/searchabletables-intrinsic.td
R llvm/test/ThinLTO/X86/function_entry_count.ll
A llvm/test/Transforms/ConstraintElimination/monotonic-pointer-phis-chain-of-exits.ll
M llvm/test/Transforms/Coroutines/coro-split-00.ll
A llvm/test/Transforms/Coroutines/coro-transform-must-elide.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-to-zero.ll
A llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
M llvm/test/Transforms/LoopStrengthReduce/preserve-lcssa.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
M llvm/test/Transforms/SCCP/pointer-nonnull.ll
R llvm/test/Transforms/SyntheticCountsPropagation/initial.ll
R llvm/test/Transforms/SyntheticCountsPropagation/prop.ll
R llvm/test/Transforms/SyntheticCountsPropagation/scc.ll
M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
M llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
R llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
R llvm/test/tools/llvm-split/AMDGPU/debug-non-kernel-root.ll
M llvm/test/tools/llvm-split/AMDGPU/declarations.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
M llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
M llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
M llvm/test/tools/llvm-split/AMDGPU/non-kernels-dependency-indirect.ll
A llvm/test/tools/llvm-split/AMDGPU/recursive-search-2.ll
A llvm/test/tools/llvm-split/AMDGPU/recursive-search-8.ll
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/LlvmState.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-profdata/CMakeLists.txt
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/IR/VectorTypesTest.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Attributes.cpp
M llvm/utils/TableGen/CTagsEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DirectiveEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M llvm/utils/TableGen/TableGen.cpp
M llvm/utils/TableGen/VTEmitter.cpp
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/LTO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Coroutines/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
M mlir/docs/Dialects/Linalg/OpDSL.md
M mlir/include/mlir/Dialect/AMDGPU/Utils/Chipset.h
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
M mlir/include/mlir/Dialect/Vector/IR/VectorAttributes.td
M mlir/include/mlir/TableGen/CodeGenHelpers.h
M mlir/include/mlir/TableGen/GenInfo.h
M mlir/lib/AsmParser/Parser.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/AMDGPU/Utils/Chipset.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
A mlir/test/Dialect/GPU/indirect-device-func-call.mlir
M mlir/test/Dialect/LLVMIR/constant-folding.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
A mlir/test/Dialect/Transform/transform-state-extension-initializer.mlir
M mlir/test/lib/Dialect/Transform/CMakeLists.txt
A mlir/test/lib/Dialect/Transform/TestPassStateExtensionCommunication.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
M mlir/test/lib/Dialect/Transform/TestTransformStateExtension.h
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
M mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp
M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/tools/mlir-tblgen/OmpOpGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
M mlir/tools/mlir-tblgen/OpGenHelpers.h
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
M mlir/unittests/Dialect/AMDGPU/AMDGPUUtilsTest.cpp
M mlir/unittests/Parser/CMakeLists.txt
M mlir/unittests/Parser/ParserTest.cpp
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Rebase, restored some code, some optimizations
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/b8b152751389...7c68dbf777a9
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