[all-commits] [llvm/llvm-project] 50d368: [LinkerWrapper] Relax ordering of static libraries...
agozillon via All-commits
all-commits at lists.llvm.org
Fri Apr 19 08:29:31 PDT 2024
Branch: refs/heads/users/agozillon/flangopenmpmlir-initial-derived-type-member-map-support
Home: https://github.com/llvm/llvm-project
Commit: 50d368aee981738cd05f3d16f5d1cfc122c9b0ab
https://github.com/llvm/llvm-project/commit/50d368aee981738cd05f3d16f5d1cfc122c9b0ab
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-libs.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Relax ordering of static libraries for offloading (#87532)
Summary:
The linker wrapper attempts to maintain consistent semantics with
existing host invocations. Static libraries by default only extract if
there are non-weak symbols that remain undefined. However, we have
situations between linkers that put different meanings on ordering. The
ld.bfd linker requires static libraries to be defined after the symbols,
while `ld.lld` relaxes this rule. The linker wrapper went with the
former as it's the easier solution, however this has caused a lot of
issues as I've had to explain this rule to several people, it also make
it difficult to include things like `libc` in the OpenMP runtime because
it would sometimes be linked before or after.
This patch reworks the logic to more or less perform the following logic
for static libraries.
1. Split library / object inputs.
2. Include every object input and record its undefined symbols
3. Repeatedly try to extract static libraries to resolve these
symbols. If a file is extracted we need to check every library
again to resolve any new undefined symbols.
This allows the following to work and will cause fewer issues when
replacing HIP, which does `--whole-archive` so it's very likely the old
logic will regress.
```console
$ clang -lfoo main.c -fopenmp --offload-arch=native
```
Commit: 6b35cbee3f577d9ee55f7277affa0fe194859b25
https://github.com/llvm/llvm-project/commit/6b35cbee3f577d9ee55f7277affa0fe194859b25
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaSYCL.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Introduce `SemaSYCL` (#88086)
This patch moves SYCL-related `Sema` functions into new `SemaSYCL`
class, following the recent example of OpenACC and HLSL. This is a part
of the effort to split `Sema`. Additional context can be found in
#82217, #84184, #87634.
Commit: 0c7b92a42a36563dfd28e3a828e87f4f3a6e4311
https://github.com/llvm/llvm-project/commit/0c7b92a42a36563dfd28e3a828e87f4f3a6e4311
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-default-clause.c
A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
Log Message:
-----------
[OpenACC] Implement Default clause for Compute Constructs (#88135)
As a followup to my previous commits, this is an implementation of a
single clause, in this case the 'default' clause. This implements all
semantic analysis for it on compute clauses, and continues to leave it
rejected for all others (some as 'doesnt appertain', others as 'not
implemented' as appropriate).
This also implements and tests the TreeTransform as requested in the
previous patch.
Commit: 5ae9ffbd18fd93edbbc8efebe140aeb24cd763c2
https://github.com/llvm/llvm-project/commit/5ae9ffbd18fd93edbbc8efebe140aeb24cd763c2
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Address review comment from 88062
As pointed out by Fraser, KillSrcReg is always false at this point in
code, and having the inconcistency on whether we check the flag between
the if and else blocks is confusing.
Commit: a8f9f85ab0114deb0f6adae2b578bc39c62c19b3
https://github.com/llvm/llvm-project/commit/a8f9f85ab0114deb0f6adae2b578bc39c62c19b3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/src/interface.cpp
Log Message:
-----------
[Libomptarget][NFC] Fix unused variable warnings
Summary:
This patch fixes a few warnings that would show up while building.
Commit: 2bf48892ab0ce5d53126c7b114070bba18521501
https://github.com/llvm/llvm-project/commit/2bf48892ab0ce5d53126c7b114070bba18521501
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/HIPSupport.rst
Log Message:
-----------
[HIP] document difference with CUDA (#86838)
Commit: 6ca5a410d26262f06f954e91200eefe0cbfb7fb8
https://github.com/llvm/llvm-project/commit/6ca5a410d26262f06f954e91200eefe0cbfb7fb8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractlements-gathered-first-node.ll
Log Message:
-----------
[SLP]Fix PR87358: broken module, Instruction does not dominate all uses.
If the first node is a gather node with extractelement instructions,
still need to put the vector value after all instructions, not after the
very first one.
Commit: 7f1b9adfc8d86c77ee87a268b3d30e0eda8ed493
https://github.com/llvm/llvm-project/commit/7f1b9adfc8d86c77ee87a268b3d30e0eda8ed493
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add MachineCombiner to fold (sh3add Z, (add X, (slli Y, 6))) -> (sh3add (sh3add Y, Z), X). (#87884)
This improves a pattern that occurs in 531.deepsjeng_r. Reducing the
dynamic instruction count by 0.5%.
This may be possible to improve in SelectionDAG, but given the special
cases around shXadd formation, it's not obvious it can be done in a
robust way without adding multiple special cases.
I've used a GEP with 2 indices because that mostly closely resembles the
motivating case. Most of the test cases are the simplest GEP case. One
test has a logical right shift on an index which is closer to the
deepsjeng code. This requires special handling in isel to reverse a
DAGCombiner canonicalization that turns a pair of shifts into (srl (and
X, C1), C2).
Commit: f9f4aba547f50e6dcb2d9345b51fe4883bb64d8d
https://github.com/llvm/llvm-project/commit/f9f4aba547f50e6dcb2d9345b51fe4883bb64d8d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[InstCombine] Add tests for non-zero/knownbits of `vector_reduce_{s,u}{min,max}`; NFC
Commit: 77d668451ad2e6370eb595c171779429e9becdf2
https://github.com/llvm/llvm-project/commit/77d668451ad2e6370eb595c171779429e9becdf2
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[ValueTracking] Add support for `vector_reduce_{s,u}{min,max}` in `isKnownNonZero`
Previously missing, proofs for all implementations:
https://alive2.llvm.org/ce/z/G8wpmG
Commit: 41c52217b003ce9435ae534251b0d0d035495262
https://github.com/llvm/llvm-project/commit/41c52217b003ce9435ae534251b0d0d035495262
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[ValueTracking] Add support for `vector_reduce_{s,u}{min,max}` in `computeKnownBits`
Previously missing. We compute by just applying the reduce function on
the knownbits of each element.
Closes #88169
Commit: a02b3c01820090d4208146b51372587251fdce61
https://github.com/llvm/llvm-project/commit/a02b3c01820090d4208146b51372587251fdce61
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for overflow detection functions is `isKnownNonZero`; NFC
Commit: f0a487d7e2085e21f3691393070f54110d889fb6
https://github.com/llvm/llvm-project/commit/f0a487d7e2085e21f3691393070f54110d889fb6
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Split `isNonZero(mul)` logic to a helper; NFC
Commit: 37ca6fa1e26e86c85c544023b18695be420e80dd
https://github.com/llvm/llvm-project/commit/37ca6fa1e26e86c85c544023b18695be420e80dd
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add support for overflow detection functions is `isKnownNonZero`
Adds support for: `{s,u}{add,sub,mul}.with.overflow`
The logic is identical to the the non-overflow binops, we where just
missing the cases.
Closes #87701
Commit: 2ff82c2c6490a1478e4311f60f1ce80af0957403
https://github.com/llvm/llvm-project/commit/2ff82c2c6490a1478e4311f60f1ce80af0957403
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for improving `isKnownNonZero` of `smax`; NFC
Commit: f1ee458ddb45c9887b3df583ce9a4ba12aae8b3b
https://github.com/llvm/llvm-project/commit/f1ee458ddb45c9887b3df583ce9a4ba12aae8b3b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] improve `isKnownNonZero` precision for `smax`
Instead of relying on known-bits for strictly positive, use the
`isKnownPositive` API. This will use `isKnownNonZero` which is more
accurate.
Closes #88170
Commit: 7d60232b38b66138dae1b31027d73ee5b9df5c58
https://github.com/llvm/llvm-project/commit/7d60232b38b66138dae1b31027d73ee5b9df5c58
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/PreprocessorOptions.h
M flang/include/flang/Parser/parsing.h
A flang/include/flang/Parser/preprocessor.h
A flang/include/flang/Parser/token-sequence.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
R flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/token-sequence.cpp
R flang/lib/Parser/token-sequence.h
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Preprocessing/show-macros1.F90
A flang/test/Preprocessing/show-macros2.F90
A flang/test/Preprocessing/show-macros3.F90
Log Message:
-----------
[flang][Frontend] Implement printing defined macros via -dM (#87627)
This should work the same way as in clang.
Commit: 52aaa8a87960a7d342c5e6b7d5af82c76c8cc45d
https://github.com/llvm/llvm-project/commit/52aaa8a87960a7d342c5e6b7d5af82c76c8cc45d
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/Driver/lld-repro.c
Log Message:
-----------
[clang][test] Avoid writing to a potentially write-protected dir (#88258)
This test just checks for the stdout/stderr of clang, but it
incidentally tries to write to `a.out` in the current directory, which
may be write protected. Typically one would write `clang -o %t.o` for a
writeable dir, but since we only care about stdout/stderr, throw away
the object file and just write to /dev/null instead.
Commit: 0ad663ead1242e908a8c5005f35e72747d136a3b
https://github.com/llvm/llvm-project/commit/0ad663ead1242e908a8c5005f35e72747d136a3b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__config
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
Log Message:
-----------
[libc++] Removes Clang-16 support. (#87810)
With the release of Clang-18 we no longer officially support Clang-16.
Commit: fc3dff9b4637bb5960fe70add90cd27e6842d58b
https://github.com/llvm/llvm-project/commit/fc3dff9b4637bb5960fe70add90cd27e6842d58b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/home-is-cwd-search-paths.c
Log Message:
-----------
[clang][modules] Stop eagerly reading files with diagnostic pragmas (#87442)
This makes it so that the importer doesn't need to stat all input files
of a module that contain diagnostic pragmas, reducing file system
traffic.
Commit: 51786eb5bfc30e7eff998323a9ce433ec4620383
https://github.com/llvm/llvm-project/commit/51786eb5bfc30e7eff998323a9ce433ec4620383
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] Only compute affecting module maps with implicit search (#87849)
When writing out a PCM, we compute the set of module maps that did
affect the compilation and we strip the rest to make the output
independent of them. The most common way to read a module map that is
not affecting is with implicit module map search. The other option is to
pass a bunch of unnecessary `-fmodule-map-file=<path>` arguments on the
command-line, in which case the client should probably not give those to
Clang anyway.
This makes serialization of explicit modules faster, mostly due to
reduced file system traffic.
Commit: 323d3ab2574ba9d371926bb1b5c67dbe7b2b4ec3
https://github.com/llvm/llvm-project/commit/323d3ab2574ba9d371926bb1b5c67dbe7b2b4ec3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[RISCV] Optimize undef Even vector in getWideningInterleave. (#88221)
We recently optimized the code when the Odd vector was undef to fix a
poison bug.
There are additional optimizations we can do if the even vector is
undef. With Zvbb, we can use a single vwsll. Without Zvbb, we can use a
vzext.vf2 and a vsll.
Commit: e72c949c15208ba3dd53a9cebfee02734965a678
https://github.com/llvm/llvm-project/commit/e72c949c15208ba3dd53a9cebfee02734965a678
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/overflow.ll
Log Message:
-----------
[msan] Overflow intrinsics. (#88210)
Commit: 43b2b2ebce635bec1e3c060092ea75db858ee3fd
https://github.com/llvm/llvm-project/commit/43b2b2ebce635bec1e3c060092ea75db858ee3fd
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Revert "Fix complex log1p accuracy with large abs values." (#88290)
Reverts llvm/llvm-project#88260
The test fails on the GCC7 buildbot.
Commit: 48c5c70fdd3bec2929e2e903e3bf4494a65f7a92
https://github.com/llvm/llvm-project/commit/48c5c70fdd3bec2929e2e903e3bf4494a65f7a92
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
[NFC] Update SemaRef.Diag to just Diag in OpenACC implementation
I missed these two in my last patch as the two patches crossed in
review, so correct this now.
Commit: 3d468566eb395995ac54fcf90d3afb9b9f822eb3
https://github.com/llvm/llvm-project/commit/3d468566eb395995ac54fcf90d3afb9b9f822eb3
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[NFC] Remove unneeded 'maybe_unused' attributes
This was added while we only had a partial implementation of clauses, so
we don't need these anymore.
Commit: f388a3a446ef2566d73b6a73ba300738f8c2c002
https://github.com/llvm/llvm-project/commit/f388a3a446ef2566d73b6a73ba300738f8c2c002
Author: Aart Bik <ajcbik at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
Log Message:
-----------
[mlir][sparse] update doc and examples of the [dis]assemble operations (#88213)
The doc and examples of the [dis]assemble operations did not reflect all
the recent changes on order of the operands. Also clarified some of the
text.
Commit: 798e04f93769318db857b27f51020e7115e00301
https://github.com/llvm/llvm-project/commit/798e04f93769318db857b27f51020e7115e00301
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 335d5d5f47b883055e676ffe5f981469a5f5f4f6
https://github.com/llvm/llvm-project/commit/335d5d5f47b883055e676ffe5f981469a5f5f4f6
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/test/CodeGen/SPIRV/SampledImageRetType.ll
Log Message:
-----------
[SPIRV] Tweak parsing of base type name in builtins (#88255)
This PR is a small improvement of parsing of base type name in builtins,
allowing to understand `unsigned ...` types. The test case that fails
without the fix is attached.
Commit: 4dcf33b6c2806216dfe8c5e1e3582a45516dbc69
https://github.com/llvm/llvm-project/commit/4dcf33b6c2806216dfe8c5e1e3582a45516dbc69
Author: David Green <david.green at arm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/lrint-conv.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64] Cleanup and GISel coverage for lrint tests. NFC
Commit: 04bf1a4090c535e3a1033ab9a8ef92068166461f
https://github.com/llvm/llvm-project/commit/04bf1a4090c535e3a1033ab9a8ef92068166461f
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
Log Message:
-----------
Update `LowerContractionToSMMLAPattern` to ingnore matvec (#88288)
Patterns in `LowerContractionToSMMLAPattern` are designed to handle
vector-to-matrix multiplication but not matrix-to-vector. This leads to
the following error when processing `rhs` with rank < 2:
```
iree-compile: /usr/local/google/home/kooljblack/code/iree-build/llvm-project/tools/mlir/include/mlir/IR/BuiltinTypeInterfaces.h.inc:268: int64_t mlir::detail::ShapedTypeTrait<mlir::VectorType>::getDimSize(unsigned int) const [ConcreteType = mlir::VectorType]: Assertion `idx < getRank() && "invalid index for shaped type"' failed.
```
Updates to explicitly check the rhs rank and fail cases that cannot
process.
Commit: c54afe5c33ca6159841d909fb8fe20e5d4e0069b
https://github.com/llvm/llvm-project/commit/c54afe5c33ca6159841d909fb8fe20e5d4e0069b
Author: higher-performance <113926381+higher-performance at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ParentMapContext.cpp
Log Message:
-----------
Fix quadratic slowdown in AST matcher parent map generation (#87824)
Avoids the need to linearly re-scan all seen parent nodes to check for
duplicates, which previously caused a slowdown for ancestry checks in
Clang AST matchers.
Fixes: #86881
Commit: f27f3697108470c3e995cf3cb454641c22ec1fa9
https://github.com/llvm/llvm-project/commit/f27f3697108470c3e995cf3cb454641c22ec1fa9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
Log Message:
-----------
[RISCV] Remove interrupt handler special case from RISCVFrameLowering::determineCalleeSaves. (#88069)
This code was trying to save temporary argument registers in interrupt
handler functions that contain calls. With the exception that all FP
registers are saved including the normally callee saved registers.
If all of the callees use an FP ABI and the interrupt handler doesn't
touch the normally callee saved FP registers, we don't need to save
them.
It doesn't appear that we need to special case functions with calls. The
normal callee saved register handling will already check each of the calls
and consider a register clobbered if the call doesn't explicitly say it is preserved.
All of the test changes are from the removal of the FP callee saved
registers. There are tests for interrupt handlers with F and D extension
that use ilp32 or lp64 ABIs that are not affected by this change. They
still save the FP callee saved registers as they should.
gcc appears to have a bug where the D extension being enabled with the
ilp32f or lp64f ABI does not save the FP callee saved regs. The callee
would only save/restore the lower 32 bits and clobber the upper bits.
LLVM saves the FP callee saved regs in this case and there is an
unchanged test for it.
The unnecessary save/restore was raised in this thread
https://discourse.llvm.org/t/has-bugs-when-optimizing-save-restore-csrs-by-changing-csr-xlen-f32-interrupt/78200/1
Commit: 86842e1f724fba5abae50ce438553895e69b8141
https://github.com/llvm/llvm-project/commit/86842e1f724fba5abae50ce438553895e69b8141
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-features.c
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
Log Message:
-----------
[AMDGPU] New clang option for emitting a waitcnt instruction after each memory instruction (#79236)
This patch introduces a new command-line option for clang, namely,
amdgpu-precise-mem-op (or precise-memory in the backend). When this option is specified, a waitcnt
instruction is generated after each memory load/store instruction. The
counter values are always 0, but which counters are involved depends on
the memory instruction.
---------
Co-authored-by: Jun Wang <jun.wang7 at amd.com>
Commit: 4d80dff819d1164775d0d55fc68bffedb90ba53c
https://github.com/llvm/llvm-project/commit/4d80dff819d1164775d0d55fc68bffedb90ba53c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
Log Message:
-----------
int -> uintptr_t to silence diagnostics
'int' may not be sufficiently large to store a pointer representation
anyway, so this is also a correctness fix.
Commit: 21009f466ece9f21b18e1bb03bd74b566188bae5
https://github.com/llvm/llvm-project/commit/21009f466ece9f21b18e1bb03bd74b566188bae5
Author: martinboehme <mboehme at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Propagate locations from result objects to initializers. (#87320)
Previously, we were propagating storage locations the other way around,
i.e.
from initializers to result objects, using `RecordValue::getLoc()`. This
gave
the wrong behavior in some cases -- see the newly added or fixed tests
in this
patch.
In addition, this patch now unblocks removing the `RecordValue` class
entirely,
as we no longer need `RecordValue::getLoc()`.
With this patch, the test `TransferTest.DifferentReferenceLocInJoin`
started to
fail because the framework now always uses the same storge location for
a
`MaterializeTemporaryExpr`, meaning that the code under test no longer
set up
the desired state where a variable of reference type is mapped to two
different
storage locations in environments being joined. Rather than trying to
modify
this test to set up the test condition again, I have chosen to replace
the test
with an equivalent test in DataflowEnvironmentTest.cpp that sets up the
test
condition directly; because this test is more direct, it will also be
less
brittle in the face of future changes.
Commit: b9a3551c905573df456ee52fa1051e49fa956c65
https://github.com/llvm/llvm-project/commit/b9a3551c905573df456ee52fa1051e49fa956c65
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/unittests/Bitcode/BitReaderTest.cpp
Log Message:
-----------
[FPEnv][BitcodeReader] Correct strictfp test.
Correct a strictfp test to follow the rules documented in the LangRef:
https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
This test needed the strictfp attribute added to a function definition.
Test changes verified with D146845.
Commit: c1d3f39ae98535777c957aab3611d2abc97b2815
https://github.com/llvm/llvm-project/commit/c1d3f39ae98535777c957aab3611d2abc97b2815
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `shufflevector` in `isKnownNonZero`
Commit: 87528bfefbb50ed6560b9b8482fc7c9f86ca34cd
https://github.com/llvm/llvm-project/commit/87528bfefbb50ed6560b9b8482fc7c9f86ca34cd
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add support for `shufflevector` in `isKnownNonZero`
Shuffles don't modify the data, so if all elements that end up in the
destination are non-zero the result is non-zero.
Closes #87702
Commit: 8a28b9b8ec1686426a4b43c8431570eaa1da77d9
https://github.com/llvm/llvm-project/commit/8a28b9b8ec1686426a4b43c8431570eaa1da77d9
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `insertelement` in `isKnownNonZero`; NFC
Commit: 9c545a14c09051b011358854655c1f466d656e79
https://github.com/llvm/llvm-project/commit/9c545a14c09051b011358854655c1f466d656e79
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add support for `insertelement` in `isKnownNonZero`
Inserts don't modify the data, so if all elements that end up in the
destination are non-zero the result is non-zero.
Closes #87703
Commit: 195d278d502308655edb1e9ff1c6f0c9256d0d15
https://github.com/llvm/llvm-project/commit/195d278d502308655edb1e9ff1c6f0c9256d0d15
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/icmp.ll
Log Message:
-----------
[ValueTracking] Add tests for `xor`/`disjoint or` in `getInvertibleOperands`; NFC
Commit: 0c57a2e4b4e5a6e5dda78a313fc8d8e3c91797f5
https://github.com/llvm/llvm-project/commit/0c57a2e4b4e5a6e5dda78a313fc8d8e3c91797f5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/icmp.ll
Log Message:
-----------
[ValueTracking] Add support for `xor`/`disjoint or` in `getInvertibleOperands`
This strengthens our `isKnownNonEqual` logic with some fairly
trivial cases.
Proofs: https://alive2.llvm.org/ce/z/4pxRTj
Closes #87705
Commit: 2646790155f73d6cfb28ec0ee472056740e4658e
https://github.com/llvm/llvm-project/commit/2646790155f73d6cfb28ec0ee472056740e4658e
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/icmp.ll
Log Message:
-----------
[ValueTracking] Add tests for `xor`/`disjoint or` in `isKnownNonZero`; NFC
Commit: 81cdd35c0c8db22bfdd1f06cb2118d17fd99fc07
https://github.com/llvm/llvm-project/commit/81cdd35c0c8db22bfdd1f06cb2118d17fd99fc07
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/icmp.ll
Log Message:
-----------
[ValueTracking] Add support for `xor`/`disjoint or` in `isKnownNonZero`
Handles cases like `X ^ Y == X` / `X disjoint| Y == X`.
Both of these cases have identical logic to the existing `add` case,
so just converting the `add` code to a more general helper.
Proofs: https://alive2.llvm.org/ce/z/Htm7pe
Closes #87706
Commit: 2b00a73f62605fcaeaedd358ba8b55fad06571aa
https://github.com/llvm/llvm-project/commit/2b00a73f62605fcaeaedd358ba8b55fad06571aa
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
Log Message:
-----------
[SLP]Buildvector for alternate instructions with non-profitable gather operands.
If the operands of the potentially alternate node are going to produce
buildvector sequences, which result in more instructions, than the
original code, then suhinstructions should be vectorized as alternate
node, better to end up with the buildvector node.
Left column - experimental, Right - reference.
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 413680.00 416272.00 0.6%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12351788.00 12354844.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664901.00 664949.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664901.00 664949.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1171371.00 1171355.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1036396.00 1036284.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg.test 111280.00 111248.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1392113.00 1391361.00 -0.1%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1392113.00 1391361.00 -0.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 281676.00 281452.00 -0.1%
test-suite :: MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes.test 3025.00 3019.00 -0.2%
test-suite :: MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig.test 6351.00 6335.00 -0.3%
Metric: SLP.NumVectorInstructions
Program SLP.NumVectorInstructions
results results0 diff
test-suite :: MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes.test 15.00 16.00 6.7%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 1703.00 1707.00 0.2%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 1703.00 1707.00 0.2%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 26241.00 26239.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 11761.00 11754.00 -0.1%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 824.00 822.00 -0.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 5668.00 5654.00 -0.2%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 5668.00 5654.00 -0.2%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 792.00 790.00 -0.3%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 792.00 790.00 -0.3%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 1389.00 1384.00 -0.4%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 596.00 590.00 -1.0%
test-suite :: MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig.test 6.00 5.00 -16.7%
Metric: exec_time
Program exec_time
results results0 diff
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 99.14 100.00 0.9%
Other changes are not significant (less than 0.1% percent with exectime
less 5 secs).
SingleSource/Benchmarks/Adobe-C++/loop_unroll - same small patterns
remain scalar, smaller code.
External/SPEC/CFP2017rate/526.blender_r/526.blender_r - many small
changes, some extra stores gets vectorized.
External/SPEC/CINT2017speed/625.x264_s/625.x264_s
External/SPEC/CINT2017rate/525.x264_r/525.x264_r
x264 has one change in a loop body, in function ssim_end4, some code
remain scalar, resulting in less code size.
External/SPEC/CFP2017rate/511.povray_r/511.povray_r - some extra code
gets vectorized, looks like some other patterns were matched.
MultiSource/Benchmarks/7zip/7zip-benchmark - extra stores were
vectorized (looks like the graphs become profitable)
MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg - small
changes in vectorized code (some small part remain scalar).
External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r
External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s
Many changes cause by the fact that the code of one function becomes
smaller (onvertLCHabToRGB) and this functions gets inlined after that.
MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc - some small
changes here and there, some extra code is vectorized, some remain
scalar (2 x vectors)
MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes - emits 2 scalars
+ 2 insertelems instead of insert, broadcast, alt code (3 instructions,
total 5 insts)
MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig - small graph
becomes profitable and gets vectorized.
External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r
External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s
Some small graph becomes profitable and gets vectorized.
MultiSource/Benchmarks/FreeBench/pifft/pifft - no changes in final code.
Reviewers: RKSimon, dtcxzyw
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/84978
Commit: 0a1317564a6b437760d96f0a227a3c910875428d
https://github.com/llvm/llvm-project/commit/0a1317564a6b437760d96f0a227a3c910875428d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__locale
M libcxx/include/__stop_token/stop_callback.h
A libcxx/include/__utility/private_constructor_tag.h
M libcxx/include/module.modulemap
M libcxx/src/CMakeLists.txt
R libcxx/src/include/tzdb/leap_second_private.h
R libcxx/src/include/tzdb/time_zone_link_private.h
M libcxx/src/locale.cpp
M libcxx/src/tzdb.cpp
A libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
M libcxx/test/support/test_chrono_leap_second.h
M libcxx/utils/generate_iwyu_mapping.py
Log Message:
-----------
[libc++] Adds a global private constructor tag. (#87920)
This removes the similar tags used in the chrono tzdb implementation.
Fixes: https://github.com/llvm/llvm-project/issues/85432
Commit: f81879c0f70ee5a1cf1d5b716dfd49d1a271cc2d
https://github.com/llvm/llvm-project/commit/f81879c0f70ee5a1cf1d5b716dfd49d1a271cc2d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/src/LibC.cpp
Log Message:
-----------
[Libomptarget] Add RPC-based printf implementation for OpenMP #85638
Summary:
Relanding after reverting, only applies to AMDGPU for now.
This patch adds an implementation of printf that's provided by the GPU
C library runtime. This pritnf currently implemented using the same
wrapper handling that OpenMP sets up. This will be removed once we have
proper varargs support.
This printf differs from the one CUDA offers in that it is synchronous
and uses a finite size. Additionally we support pretty much every
format specifier except the %n option.
Depends on #85331
Commit: fad14707b73d6387e6276507e1c5726e67f08cd6
https://github.com/llvm/llvm-project/commit/fad14707b73d6387e6276507e1c5726e67f08cd6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libc/docs/gpu/building.rst
Log Message:
-----------
[libc] Add note to use `LIBC_GPU_BUILD=ON` as another form
Summary:
This is a shorthand to enable GPU support so it should be listed in the
docs.
Commit: ca6b8469c16edfe1713e9050dca3cd68bd585410
https://github.com/llvm/llvm-project/commit/ca6b8469c16edfe1713e9050dca3cd68bd585410
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
Log Message:
-----------
[ELF] Avoid unneeded config->isLE and config->wordsize. NFC
Commit: e3ef4612c18845876cda9a13c3435e102f74a3aa
https://github.com/llvm/llvm-project/commit/e3ef4612c18845876cda9a13c3435e102f74a3aa
Author: shamithoke <152091883+shamithoke at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
Perform bitreverse using AVX512 GFNI for i32 and i64. (#81764)
Currently, the lowering operation for bitreverse using Intel AVX512 GFNI only supports byte vectors
Extend the operation to i32 and i64.
---------
Co-authored-by: shami <shami_thoke at yahoo.com>
Commit: 7549b45825a05fc24fcdbacf006461165aa042cb
https://github.com/llvm/llvm-project/commit/7549b45825a05fc24fcdbacf006461165aa042cb
Author: martinboehme <mboehme at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
Revert "[clang][dataflow] Propagate locations from result objects to initializers." (#88315)
Reverts llvm/llvm-project#87320
This is causing buildbots to fail because
`isOriginalRecordConstructor()` is now unused.
Commit: a6d1366b736cad85b3bb9fbdda340e07488d6cde
https://github.com/llvm/llvm-project/commit/a6d1366b736cad85b3bb9fbdda340e07488d6cde
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
[NFC] Remove a pair of incorrect comments from ParseOpenACC
We attempt to continue parsing, but the comment says the opposite. Just
remove the inaccurate comments in this patch.
Commit: b3792ae42a4adda5cb51d53f3d6a4b9b025b11fd
https://github.com/llvm/llvm-project/commit/b3792ae42a4adda5cb51d53f3d6a4b9b025b11fd
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP][AIX] Fix test config for AIX (#88272)
This patch fixes the test config so that it works for
`tasking/omp50_taskdep_depobj.c` which uses different flags to test with
compiler's `omp.h`.
* set test environment variable `OBJECT_MODE` to `64` if it is set
explicitly to `64` in the AIX environment. `OBJECT_MODE` is default to
`32` and is recognized by AIX compilers and toolchain. In this way, we
don't need to set `-m64` for all compiler flags for 64-bit mode
* add option `-Wl,-bmaxdata` to 32-bit `test_openmp_flags` used by
`tasking/omp50_taskdep_depobj.c`
Commit: a12836647e08c4ad203b9834ac55892fa0b9f2d3
https://github.com/llvm/llvm-project/commit/a12836647e08c4ad203b9834ac55892fa0b9f2d3
Author: David Pagan <dave.pagan at amd.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/include/clang/AST/StmtOpenMP.h
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
Log Message:
-----------
[OpenMP][CodeGen] Improved codegen for combined loop directives (#87278)
IR for 'target teams loop' is now dependent on suitability of associated
loop-nest.
If a loop-nest:
- does not contain a function call, or
- the -fopenmp-assume-no-nested-parallelism has been specified,
- or the call is to an OpenMP API AND
- does not contain nested loop bind(parallel) directives
then it can be emitted as 'target teams distribute parallel for', which
is the current default. Otherwise, it is emitted as 'target teams
distribute'.
Added debug output indicating how 'target teams loop' was emitted. Flag
is -mllvm -debug-only=target-teams-loop-codegen
Added LIT tests explicitly verifying 'target teams loop' emitted as a
parallel loop and a distribute loop.
Updated other 'loop' related tests as needed to reflect change in IR.
- These updates account for most of the changed files and
additions/deletions.
Commit: d347235bddbeba2a72d94ebe9d8f98dc675c3776
https://github.com/llvm/llvm-project/commit/d347235bddbeba2a72d94ebe9d8f98dc675c3776
Author: Christopher Di Bella <cjdb at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
Log Message:
-----------
[Flang] responds to Clang Tidy feedback (#87847)
Line 267: performance-unnecessary-copy-initialization
Line 592: readability-container-size-empty
Commit: 05093e243859a371f96ffa1c320a4b51579c3da7
https://github.com/llvm/llvm-project/commit/05093e243859a371f96ffa1c320a4b51579c3da7
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
Log Message:
-----------
[Spirv][HLSL] Add OpAll lowering and float vec support (#87952)
The main point of this change was to add support for HLSL's all
intrinsic.
In the process of doing that I found a few issues around creating an
`OpConstantComposite` via `buildZerosVal`.
First the current code didn't support floats so the process of adding
`buildZerosValF` meant I needed a
float version of `getOrCreateIntConstVector`. After doing so I renamed
both versions to `getOrCreateConstVector`. That meant I needed to create
a float type version of `getOrCreateIntCompositeOrNull`. Luckily the
type information was low for this function so was able to split it out
into a helpwe and rename `getOrCreateIntCompositeOrNull` to
`getOrCreateCompositeOrNull` With the exception of type handling
differences of the code and Null vs 0 Constant Op codes these functions
should be identical.
To handle scalar floats I could not use `buildConstantFP` like this PR
did:
https://github.com/llvm/llvm-project/commit/0a2aaab5aba46#diff-733a189c5a8c3211f3a04fd6e719952a3fa231eadd8a7f11e6ecf1e584d57411R1603
because that would create too many superfluous registers (that causes
problems in the validator), I had to create a float version of
`getOrCreateConstInt` which I called `getOrCreateConstFP`.
similar problems with doing it like this:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp#L1540.
`buildZerosValF` also has a use of a function `getZeroFP`. This is
because half, float, and double scalar values of 0 would collide in
`SPIRVDuplicatesTracker<Constant> CT` if you use `APFloat(0.0f)`.
`getORCreateConstFP` needed its own version of `getOrCreateConstIntReg`
which I called `getOrCreateConstFloatReg` The one difference in this
function is `getOrCreateConstFloatReg` returns a bit width so we don't
have to call `getScalarOrVectorBitWidth` twice ie when it is used again
in `getOrCreateConstFP` for `OpConstantF` `addNumImm`.
`getOrCreateConstFloatReg` needed an `assignFloatTypeToVReg` helper
which called a `getOrCreateSPIRVFloatType` helper. There was no
equivalent IntegerType::get for floats so I handled this with a switch
statement on bit widths to get the right LLVM float type.
Finally, there is the use of `bool ZeroAsNull = STI.isOpenCLEnv();` This
is partly a cosmetic change. When Zeros are treated as nulls, we don't
create `OpConstantComposite` vectors which is something we do in the
DXCs SPIRV backend. The DXC SPIRV backend also does not use
`OpConstantNull`. Finally, I needed a means to test the behavior of the
OpConstantNull and `OpConstantComposite` changes and this was one way I
could do that via the same tests.
Commit: c258f573981336cd9f87f89e59c6c2117e5d44ec
https://github.com/llvm/llvm-project/commit/c258f573981336cd9f87f89e59c6c2117e5d44ec
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
Log Message:
-----------
[ELF] Move createSyntheticSections from Writer.cpp to SyntheticSections.cpp. NFC
SyntheticSections.cpp is more appropriate. This change enables
elimination of many explicit template instantiations.
Due to `make<SymbolTableSection<ELFT>>(*strtab)` in Arch/ARM.cpp,
we do not remove explicit template instantiations for SymbolTableSection.
Commit: 8cfa72ade9f2f7df81a008efea84f833b73494b9
https://github.com/llvm/llvm-project/commit/8cfa72ade9f2f7df81a008efea84f833b73494b9
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
Log Message:
-----------
[libc] fix typo in hdr/CMakeLists
Fixes #87896
Commit: fb771fe315654231f613a5501ebd538f036c78b6
https://github.com/llvm/llvm-project/commit/fb771fe315654231f613a5501ebd538f036c78b6
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M mlir/lib/Bytecode/Writer/IRNumbering.cpp
Log Message:
-----------
[mlir] Slightly optimize bytecode op numbering (#88310)
If the bytecode encoding supports properties, then the dictionary
attribute is always the raw dictionary attribute of the operation,
regardless of what it contains. Otherwise, get the dictionary attribute
from the op: if the op does not have properties, then it returns the raw
dictionary, otherwise it returns the combined inherent and discardable
attributes.
Commit: af7c196fb8d10f58a704b5a8d142feacf2f0236d
https://github.com/llvm/llvm-project/commit/af7c196fb8d10f58a704b5a8d142feacf2f0236d
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
[lldb][sbdebugger] Move SBDebugger Broadcast bit enum into lldb-enumerations.h (#87409)
When the `eBroadcastBitProgressCategory` bit was originally added to
Debugger.h and SBDebugger.h, each corresponding bit was added in order
of the other bits that were previously there. Since `Debugger.h` has an
enum bit that `SBDebugger.h` does not, this meant that their offsets did
not match.
Instead of trying to keep the bit offsets in sync between the two, it's
preferable to just move SBDebugger's enum into the main enumerations
header and use the bits from there. This also requires that API tests using the bits from SBDebugger update their usage.
Commit: 2fdfea088c8d78119b74116b94bc6729ce0e3efe
https://github.com/llvm/llvm-project/commit/2fdfea088c8d78119b74116b94bc6729ce0e3efe
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU] Add v2i32 to the VS_64 types. NFCI. (#88318)
I am trying to use VOP3Inst with intrinsic taking v2i32 operand and it
fails to create patterm without it.
Commit: 9f6d08f2566a26144ea1753f80aebb1f2ecfdc63
https://github.com/llvm/llvm-project/commit/9f6d08f2566a26144ea1753f80aebb1f2ecfdc63
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
M lldb/test/API/macosx/rosetta/TestRosetta.py
Log Message:
-----------
Revert "[lldb][sbdebugger] Move SBDebugger Broadcast bit enum into lldb-enumerations.h" (#88324)
Reverts llvm/llvm-project#87409 due a missed update to the broadcast bit
causing a build failure on the x86_64 Debian buildbot.
Commit: d8f1e5d2894f7f4edc2e85e63def456c7f430f34
https://github.com/llvm/llvm-project/commit/d8f1e5d2894f7f4edc2e85e63def456c7f430f34
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
[APInt] Remove accumulator initialization from tcMultiply and tcFullMultiply. NFCI (#88202)
The tcMultiplyPart routine has a flag that says whether to add to the
accumulator or overwrite it. By using the overwrite mode on the first
iteration we don't need to initialize the accumulator to zero.
Note, the initialization in tcFullMultiply was only initializing the
first rhsParts of dst. tcMultiplyPart always overwrites the rhsParts+1
part that just contains the last carry. The first write to each part of
dst past rhsParts is a carry write so that's how the upper part of dst
is initialized.
Commit: a9d4ddd98a0bc495126027122fdca751b6841ceb
https://github.com/llvm/llvm-project/commit/a9d4ddd98a0bc495126027122fdca751b6841ceb
Author: Oskar Wirga <oskar.wirga at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll
Log Message:
-----------
[MergeFuncs/CFI] Ensure all type metadata is propogated for CFI (#88218)
I noticed that we weren't propagating ALL type metadata that was
attached to CFI functions:
# BEFORE
```
; Function Attrs: minsize nounwind optsize ssp uwtable(sync)
define internal void @foo(ptr nocapture noundef readonly %0) #0 !dbg !62311 !type !34028 !type !34029 !type !34030
... fn merging
; Function Attrs: minsize nounwind optsize ssp uwtable(sync)
define internal void @foo(ptr nocapture noundef readonly %0) #0 !type !34028
```
# AFTER
```
; Function Attrs: minsize nounwind optsize ssp uwtable(sync)
define internal void @foo(ptr nocapture noundef readonly %0) #0 !dbg !62311 !type !34028 !type !34029 !type !34030
... fn merging
; Function Attrs: minsize nounwind optsize ssp uwtable(sync)
define internal void @foo(ptr nocapture noundef readonly %0) #0 !type !type !34028 !type !34029 !type !34030
```
This patch makes sure that the entire vector of metadata is copied over.
Commit: 8136ac1c42dcfdd070f0bcba0f06424093df22db
https://github.com/llvm/llvm-project/commit/8136ac1c42dcfdd070f0bcba0f06424093df22db
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/module/iso_c_binding.f90
A flang/test/Driver/predefined-macros-powerpc2.f90
Log Message:
-----------
[Flang] Define c_int_fast16_t and c_int_fast32_t for PowerPC. (#88292)
On Linux, PowerPC defines `int_fast16_t` and `int_fast32_t` as `long`.
Need to update the corresponding type, `c_int_fast16_t` and
`c_int_fast32_t` in `iso_c_binding` module so they are interoparable.
Commit: acb7ddc5cf2f23416f65dcdc6c7fd08850ad961d
https://github.com/llvm/llvm-project/commit/acb7ddc5cf2f23416f65dcdc6c7fd08850ad961d
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll
M llvm/test/CodeGen/WebAssembly/tls-local-exec.ll
Log Message:
-----------
[WebAssembly] Remove threadlocal.address when disabling TLS (#88209)
Remove `llvm.threadlocal.address` intrinsic usage when disabling TLS.
This fixes errors revealed by the stricter IR verification introduced in
PR #87841.
Commit: d927d1867fa760836538beef2c4531c1a0b04e24
https://github.com/llvm/llvm-project/commit/d927d1867fa760836538beef2c4531c1a0b04e24
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
A llvm/test/Transforms/lower-builtin-allow-check-remarks.ll
Log Message:
-----------
[UBSAN] Emit optimization remarks (#88304)
Commit: 6ef4450705473e5cccb025219e8980999f456b71
https://github.com/llvm/llvm-project/commit/6ef4450705473e5cccb025219e8980999f456b71
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
Log Message:
-----------
[clang] Fix -Wunused-function in CGStmtOpenMP.cpp (NFC)
llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp:7959:13:
error: unused function 'emitTargetTeamsLoopCodegenStatus' [-Werror,-Wunused-function]
static void emitTargetTeamsLoopCodegenStatus(CodeGenFunction &CGF,
^
1 error generated.
Commit: 19e516fbed809af094ce195a6a5baa2e1f30f3cd
https://github.com/llvm/llvm-project/commit/19e516fbed809af094ce195a6a5baa2e1f30f3cd
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 1fda1776e32b
Commit: 402706668362fee8f9a9d29fb6d4628df4d4fc42
https://github.com/llvm/llvm-project/commit/402706668362fee8f9a9d29fb6d4628df4d4fc42
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 59e66c515a47
Commit: 233edab8765686bd44611f9f7319d3ffbc12fbab
https://github.com/llvm/llvm-project/commit/233edab8765686bd44611f9f7319d3ffbc12fbab
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/AST/Interp/BUILD.gn
Log Message:
-----------
[gn build] Port 5d7d6ad663f8
Commit: 9786a3b4cf9d050a6f87358e3295da3d32fade5c
https://github.com/llvm/llvm-project/commit/9786a3b4cf9d050a6f87358e3295da3d32fade5c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn build] Port 0a1317564a6b
Commit: be10070f91b86a6f126d2451852242bfcb2cd366
https://github.com/llvm/llvm-project/commit/be10070f91b86a6f126d2451852242bfcb2cd366
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
M clang/test/Driver/zos-ld.c
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
Revert "[Driver] Ensure ToolChain::LibraryPaths is not empty for non-Darwin"
This reverts commit ccdebbae4d77d3efc236af92c22941de5d437e01.
Causes test failures in the presence of Android runtime libraries in resource-dir.
See comments on https://github.com/llvm/llvm-project/pull/87866.
Commit: fca51911d4668b3a6b79eb956327eb81fad3f40c
https://github.com/llvm/llvm-project/commit/fca51911d4668b3a6b79eb956327eb81fad3f40c
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/Analysis/SelectorExtras.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Lex/ExternalPreprocessorSource.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/TransAPIUses.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/SelectorLocationsKind.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Analysis/ObjCNoReturn.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[NFC][Clang] Improve const correctness for IdentifierInfo (#79365)
The IdentifierInfo isn't typically modified. Use 'const' wherever
possible.
Commit: 51f1681424f1a8ccf1e3432d71c341e799597171
https://github.com/llvm/llvm-project/commit/51f1681424f1a8ccf1e3432d71c341e799597171
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/BracesRemoverTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Don't merge a short block for SBS_Never (#88238)
Also fix unit tests.
Fixes #87484.
Commit: 6b46166ef2612d2a58767447b3db8f0343afb552
https://github.com/llvm/llvm-project/commit/6b46166ef2612d2a58767447b3db8f0343afb552
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
[llvm][NFC] Suppress `-Wunused-result` call to `write`
Commit 87e6f87fe7e343eb656e9b49d30cbb065c086651 adds a call to `::write()`, which may be annotated w/ `warn_unused_result`, leading to `-Wunused-result` failures.
Commit: f4509cf284ced95f31dc7eb63144b4bc47899c43
https://github.com/llvm/llvm-project/commit/f4509cf284ced95f31dc7eb63144b4bc47899c43
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
M llvm/lib/Target/X86/X86InstrControl.td
M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
A llvm/test/MC/Disassembler/X86/apx/setcc.txt
A llvm/test/MC/Disassembler/X86/apx/setzucc.txt
M llvm/test/MC/X86/apx/evex-format-att.s
M llvm/test/MC/X86/apx/evex-format-intel.s
A llvm/test/MC/X86/apx/setcc-att.s
A llvm/test/MC/X86/apx/setcc-intel.s
A llvm/test/MC/X86/apx/setzucc-att.s
A llvm/test/MC/X86/apx/setzucc-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[X86][MC] Support enc/dec for SETZUCC and promoted SETCC. (#86473)
apx-spec: https://cdrdv2.intel.com/v1/dl/getContent/784266
apx-syntax-recommendation:
https://cdrdv2.intel.com/v1/dl/getContent/817241
Commit: fd50151180498f0de4fe26ff21d3e3b8accc4de0
https://github.com/llvm/llvm-project/commit/fd50151180498f0de4fe26ff21d3e3b8accc4de0
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vsplats-fp.ll
Log Message:
-----------
[RISCV] Only support SPLAT_VECTOR for Zvfhmin when also enable the scalar extension of half fp (#88275)
Commit: 999b9e6ddb4324600a46c8f7006acec81fe3af0f
https://github.com/llvm/llvm-project/commit/999b9e6ddb4324600a46c8f7006acec81fe3af0f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use vector getConstant instead of getSplatVector+getConstant. NFC
Commit: dda73336ad22bd0b5ecda17040c50fb10fcbe5fb
https://github.com/llvm/llvm-project/commit/dda73336ad22bd0b5ecda17040c50fb10fcbe5fb
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
M lld/test/ELF/lto/comdat-nodeduplicate.ll
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/LLToken.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/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/test/Assembler/thinlto-memprof-summary.ll
M llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll
M llvm/test/Assembler/thinlto-summary-visibility.ll
M llvm/test/Assembler/thinlto-summary.ll
M llvm/test/Assembler/thinlto-vtable-summary.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-index-disassembled-by-llvm-dis.ll
M llvm/test/Bitcode/thinlto-type-tests.ll
M llvm/test/Bitcode/thinlto-type-vcalls.ll
M llvm/test/ThinLTO/X86/dot-dumper.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-maythrow.ll
M llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
M llvm/test/ThinLTO/X86/load-store-caching.ll
M llvm/test/Transforms/LowerTypeTests/import-unsat.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/import-indir.yaml
M llvm/test/Transforms/WholeProgramDevirt/import-indir.ll
Log Message:
-----------
[ThinLTO]Record import type in GlobalValueSummary::GVFlags (#87597)
The motivating use case is to support import the function declaration
across modules to construct call graph edges for indirect calls [1]
when importing the function definition costs too much compile time
(e.g., the function is too large has no `noinline` attribute).
1. Currently, when the compiled IR module doesn't have a function
definition but its postlink combined summary contains the function
summary or a global alias summary with this function as aliasee, the
function definition will be imported from source module by IRMover. The
implementation is in FunctionImporter::importFunctions [2]
2. In order for FunctionImporter to import a declaration of a function,
both function summary and alias summary need to carry the def / decl
state. Specifically, all existing summary fields doesn't differ across
import modules, but the def / decl state of is decided by
`<ImportModule, Function>`.
This change encodes the def/decl state in `GlobalValueSummary::GVFlags`.
In the subsequent changes
1. The indexing step `computeImportForModule` [3]
will compute the set of definitions and the set of declarations for each
module, and passing on the information to bitcode writer.
2. Bitcode writer will look up the def/decl state and sets the state
when it writes out the flag value. This is demonstrated in
https://github.com/llvm/llvm-project/pull/87600
3. Function importer will read the def/decl state when reading the
combined summary to figure out two sets of global values, and IRMover
will be updated to import the declaration (aka linkGlobalValuePrototype [4])
into the destination module.
- The next change is https://github.com/llvm/llvm-project/pull/87600
[1] mentioned in rfc https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/blob/3b337242ee165554f0017b00671381ec5b1ba855/llvm/lib/Transforms/IPO/FunctionImport.cpp#L1608-L1764
[3] https://github.com/llvm/llvm-project/blob/3b337242ee165554f0017b00671381ec5b1ba855/llvm/lib/Transforms/IPO/FunctionImport.cpp#L856
[4] https://github.com/llvm/llvm-project/blob/3b337242ee165554f0017b00671381ec5b1ba855/llvm/lib/Linker/IRMover.cpp#L605
Commit: 75edf0c18c777d69df7cfc6462e5233649bd47d4
https://github.com/llvm/llvm-project/commit/75edf0c18c777d69df7cfc6462e5233649bd47d4
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[NFC] [Serialization] Avoid accessing PendingBodies as much as possible
The 'HaveBody' parameter in isConsumerInterestedIn is only used for the function decl if it
doesn't have a body already. It should be relatively less frequent than
the call to isConsumerInterestedIn. So we can delay the computing of
`HaveBdoy` to make it more efficient.
Commit: 026165fad70420d85defb5fc9109c138250058ee
https://github.com/llvm/llvm-project/commit/026165fad70420d85defb5fc9109c138250058ee
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/StandardInstrumentations.cpp
A llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.mir
A llvm/test/Other/change-printer.mir
Log Message:
-----------
[Instrumentation] Support MachineFunction in ChangeReporter (#80946)
Commit: 53003e36e9f4574d06c22611f61f68de32c89c6b
https://github.com/llvm/llvm-project/commit/53003e36e9f4574d06c22611f61f68de32c89c6b
Author: Sacha Coppey <sacha.coppey at oracle.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rv64-patchpoint.ll
A llvm/test/CodeGen/RISCV/rv64-statepoint-call-lowering-x1.ll
A llvm/test/CodeGen/RISCV/rv64-statepoint-call-lowering-x2.ll
A llvm/test/CodeGen/RISCV/rv64-statepoint-call-lowering.ll
Log Message:
-----------
[RISCV] Implement Statepoint and Patchpoint lowering to call instructions (#77337)
This patch adds stackmap support for RISC-V with call targets.
Based on patch from https://reviews.llvm.org/D129848.
Commit: b5640369337e98e573c949080ed4a4061ec6ec9a
https://github.com/llvm/llvm-project/commit/b5640369337e98e573c949080ed4a4061ec6ec9a
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[MachineCombiner][NFC] Split target-dependent patterns
We split target-dependent MachineCombiner patterns into their target
folder.
This makes MachineCombiner much more target-independent.
Reviewers:
davemgreen, asavonic, rotateright, RKSimon, lukel97, LuoYuanke, topperc, mshockwave, asi-sc
Reviewed By: topperc, mshockwave
Pull Request: https://github.com/llvm/llvm-project/pull/87991
Commit: efb8cc5ddb03897795dc153a03d0c1548c8ee4a7
https://github.com/llvm/llvm-project/commit/efb8cc5ddb03897795dc153a03d0c1548c8ee4a7
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.mir
Log Message:
-----------
[NewPM] Fix print-changed-dot-cfg failure (#88351)
Fix failure in #80946.
Commit: 3197f9d8b0efc3efdc531421bd11c16305d9b1ff
https://github.com/llvm/llvm-project/commit/3197f9d8b0efc3efdc531421bd11c16305d9b1ff
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstSimplify/pr87042.ll
Log Message:
-----------
[InstSimplify] Make sure the simplified value doesn't generate poison in threadBinOpOverSelect (#87075)
Alive2: https://alive2.llvm.org/ce/z/y_Jmdn
Fix https://github.com/llvm/llvm-project/issues/87042.
Commit: 2bede6873dbe7021b306d3e5bec59d0fba2dd26c
https://github.com/llvm/llvm-project/commit/2bede6873dbe7021b306d3e5bec59d0fba2dd26c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
A llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/include/llvm/ProfileData/RawMemProfReader.h
M llvm/lib/ProfileData/CMakeLists.txt
A llvm/lib/ProfileData/MemProfReader.cpp
R llvm/lib/ProfileData/RawMemProfReader.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
Log Message:
-----------
[memprof] Rename RawMemProfReader.{cpp,h} to MemProfReader.{cpp,h} (NFC) (#88200)
This patch renames RawMemProfReader.{cpp,h} to MemProfReader.{cpp,h},
respectively. Also, it re-creates RawMemProfReader.h just to include
MemProfReader.h for compatibility with out-of-tree users.
Commit: bd32aaa8c9ec2094f605315b3989adc2a567ca98
https://github.com/llvm/llvm-project/commit/bd32aaa8c9ec2094f605315b3989adc2a567ca98
Author: Cyrill Leutwiler <bigcyrill at hotmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
Log Message:
-----------
[RISCV] Support rv{32, 64}e in the compiler builtins (#88252)
Register spills (save/restore) in RISC-V embedded work differently
because there are less registers and different stack alignment.
[GCC equivalent
](https://github.com/gcc-mirror/gcc/blob/master/libgcc/config/riscv/save-restore.S#L298C16-L336)
Follow up from #76777.
---------
Signed-off-by: xermicus <cyrill at parity.io>
Commit: 5964c944bfe74cee2872cddb66eff22866cdb6ee
https://github.com/llvm/llvm-project/commit/5964c944bfe74cee2872cddb66eff22866cdb6ee
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/HoverTests.cpp
Log Message:
-----------
[clangd] Fix test case due to clang-format bug fix (#88352)
See commit 51f1681424f1.
Commit: 45146082e693415f37413c656e0a0fd13d0e3136
https://github.com/llvm/llvm-project/commit/45146082e693415f37413c656e0a0fd13d0e3136
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M lld/ELF/ICF.cpp
M lld/ELF/InputSection.cpp
Log Message:
-----------
[ELF] relocateNonAlloc & ICF: replace random access iterators of relocations with input iterators. NFC
Also replace one `this->file` with a local variable as some function
calls are opaque to the compiler, causing unneeded reload.
Commit: 71f1932b842793e5dc7b17051452e8ff2f9219aa
https://github.com/llvm/llvm-project/commit/71f1932b842793e5dc7b17051452e8ff2f9219aa
Author: martinboehme <mboehme at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Reland #87320: Propagate locations from result objects to initializers. (#88316)
This relands #87320 and additionally removes the now-unused function
`isOriginalRecordConstructor()`, which was causing buildbots to fail.
Commit: 297eca981ea1133388c82ddbfaf9d86391abac65
https://github.com/llvm/llvm-project/commit/297eca981ea1133388c82ddbfaf9d86391abac65
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
Log Message:
-----------
[mlir][Interfaces] `ValueBoundsOpInterface`: Add API to compare values (#86915)
This commit adds a new public API to `ValueBoundsOpInterface` to compare
values/dims. Supported comparison operators are: LT, LE, EQ, GE, GT.
The new `ValueBoundsOpInterface::compare` API replaces and generalizes
`ValueBoundsOpInterface::areEqual`. Not only does it provide additional
comparison operators, it also works in cases where the difference
between the two values/dims is non-constant. The previous implementation
of `areEqual` used to compute a constant bound of `val1 - val2` (check
if it `== 0` or `!= 0`).
Note: This commit refactors, generalizes and adds a public API for
value/dim comparison. The comparison functionality itself was introduced
in #85895 and is already in use for analyzing `scf.if`.
In the long term, this improvement will allow for a more powerful
analysis of subset ops. A future commit will update
`areOverlappingSlices` to use the new comparison API.
(`areEquivalentSlices` is already using the new API.) This will improve
subset equivalence/disjointness checks with non-constant
offsets/sizes/strides.
Commit: 21265f692e4b3b2146b6095cf23122b20e8fa0ed
https://github.com/llvm/llvm-project/commit/21265f692e4b3b2146b6095cf23122b20e8fa0ed
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
[mlir][Interfaces] `ValueBoundsOpInterface`: Fix typo (#87976)
This was likely a copy-and-paste typo.
Commit: dc39028906ba4196c3ba544c43ef6b428cf47c51
https://github.com/llvm/llvm-project/commit/dc39028906ba4196c3ba544c43ef6b428cf47c51
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
Log Message:
-----------
[mlir] Fix -Wsign-compare in ValueBoundsOpInterface.cpp (NFC)
/llvm-project/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp:762:16:
error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
rhsPos >= cstr.positionToValueDim.size())
~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/llvm-project/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp:761:16:
error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
if (lhsPos >= cstr.positionToValueDim.size() ||
~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
Commit: 3f7f446d3803a699f5964a7429c6e1de0d783452
https://github.com/llvm/llvm-project/commit/3f7f446d3803a699f5964a7429c6e1de0d783452
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
Log Message:
-----------
[llvm-profgen] Remove temporary perf script files (#86668)
The temporary perf script files converted from perf data will occupy
lots
of space for large project. This patch removes them when llvm-profgen
exits normally or receives signals.
Commit: a53674359da8507af539bf879e1b8292e3720eb8
https://github.com/llvm/llvm-project/commit/a53674359da8507af539bf879e1b8292e3720eb8
Author: David Green <david.green at arm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
M llvm/test/Transforms/VectorCombine/AArch64/vecreduce-shuffle.ll
Log Message:
-----------
[AArch64] Add ZIP and UZP shuffle costs. (#88150)
This adds some costs for the shuffle instructions that should be lowered
to zip1/zip2/uzp1/uzp2 instructions.
Commit: 85bc6de67ef28cd203da0c5abc1485609bea989c
https://github.com/llvm/llvm-project/commit/85bc6de67ef28cd203da0c5abc1485609bea989c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/Tooling/CMakeLists.txt
Log Message:
-----------
Revert "Use setup_host_tool for clang-ast-dump, fixes 76707"
This reverts commit b4adb42151bbfa80be4cf6d076cbe5edf680693e.
The original commit increased local rebuild times a lot. See
the discussion in
https://github.com/llvm/llvm-project/issues/76707
Commit: d7e0ea205fa111fba46e08f3df2860f76b47acb6
https://github.com/llvm/llvm-project/commit/d7e0ea205fa111fba46e08f3df2860f76b47acb6
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/xxinsertw.ll
Log Message:
-----------
[PowerPC] add testcase for a xxinsertw bug, NFC
Commit: 053750c3b42c126eb4620f62cbf4e665803b941d
https://github.com/llvm/llvm-project/commit/053750c3b42c126eb4620f62cbf4e665803b941d
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/xxinsertw.ll
Log Message:
-----------
[PowerPC] Fix the undef register for VECINSERT
If the V2 of the vector_shuffle is undef, the two vector inputs are
expected to be the same when do the VECINSERT transformation. For now
the first operand of VECINSERT is set to undef which is not right.
This patch fixes this bug.
Commit: a1cd5e69544ad3e6a865f5e0593ac26195ccb4f7
https://github.com/llvm/llvm-project/commit/a1cd5e69544ad3e6a865f5e0593ac26195ccb4f7
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M flang/docs/ModFiles.md
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang] Do not create .f18.mod files for each compiled module (#85249)
The default CMake scripts had a copy operation to copy a compiled `.mod`
file to also be available with suffix `.f18.mod`. This seems no longer
needed. Also updated ModFiles.md to point to `-module-suffix`.
---------
Co-authored-by: Kiran Chandramohan <kiranchandramohan at gmail.com>
Commit: 9c6e54b154cbbb7da0f45b4ae1e66bcf492151f1
https://github.com/llvm/llvm-project/commit/9c6e54b154cbbb7da0f45b4ae1e66bcf492151f1
Author: Maciej Gabka <maciej.gabka at arm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
Log Message:
-----------
[AArch64] Fix to Neoverse V2 scheduling model (#88130)
The size of ROB was incorrecty copied from the Neoverse N2, while it has
actually higher value as descibed in
https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/arm-neoverse-v2-platform-best-in-class-cloud-and-ai-ml-performance
Commit: cd14e7132f18dccd5fc7ed5e60258460bc1352f8
https://github.com/llvm/llvm-project/commit/cd14e7132f18dccd5fc7ed5e60258460bc1352f8
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/test/ELF/aarch64-reloc-implicit-addend.test
Log Message:
-----------
lld/AArch64: handle more relocation addends (#87328)
The function getImplicitAddend() is incomplete, as it is possible to
cook up object files with other relocation addends. Although using
llvm-mc or the clang integrated assembler does not produce such object
files, a proprietary assembler known as armasm can:
https://developer.arm.com/documentation/101754/0622/armasm-Legacy-Assembler-Reference
armasm is in a frozen state, but it is still actively used in a lot of
legacy codebases as the directives, macros and operators are very
different from the clang integrated assembler. This makes porting a lot
of legacy code from armasm syntax impractical for a lot of projects.
Some internal testing of projects using open-source clang and lld fell
over at link time when legacy armasm objects were included in the link.
The goal of this patch is to enable people with legacy armasm objects to
be able to use lld as the linker. Sadly armasm uses SHT_REL format
relocations for AArch64 rather than SHT_RELA, which causes lld to reject
the objects. As a frozen project we know the small number of relocations
that the assembler officially supports and won't include (outside the
equivalent of the .reloc directive which I think we can rule out of
scope as that is not commonly used).
The benefit to lld is that it will ease migration from a proprietary to
an open-source toolchain. The drawback is the implementation of a small
number of SHT_REL relocations. Although this patch doesn't aim to
comprehensively cover all possible relocation addends, it does extend
lld to work with the relocation addends that armasm produces, using the
canonical aaelf64 document as a reference:
https://github.com/ARM-software/abi-aa/blob/main/aaelf64/aaelf64.rst
Commit: def6174d2a7a5a66b3871d4ce5035a71e513e6ef
https://github.com/llvm/llvm-project/commit/def6174d2a7a5a66b3871d4ce5035a71e513e6ef
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/test/X86/patch-entries.test
Log Message:
-----------
[BOLT] Emit empty FDE for injected functions
This fixes an issue where `PatchEntries` overwrites function body but
keeps CFI untouched. Existing FDEs thus become invalid. This doesn't
affect unwinding because patched functions are transparent from
EH/unwinding perspective, but it breaks BOLT during disassembling those
functions.
Emit empty FDE for injected functions (emitted to the same address as
.org functions) that take precedence over the original FDE.
This adds eh_frame overhead, but restores the ability to disassemble
.org functions. Note that the overhead is avoided in `-use-old-text`
mode.
Test Plan: updated bolt/test/X86/patch-entries.test
Reviewers: rafaelauler, maksfb, dcci, ayermolo
Reviewed By: maksfb, dcci
Pull Request: https://github.com/llvm/llvm-project/pull/87967
Commit: fe3b20d5ab4b47823fb48ad7cfbc47b8224ce826
https://github.com/llvm/llvm-project/commit/fe3b20d5ab4b47823fb48ad7cfbc47b8224ce826
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
Log Message:
-----------
[analyzer] Use CDM::CLibrary instead of isGlobalCFunction() (#88267)
This commit updates several checkers to use call descriptions with the
matching mode `CDM::CLibrary` instead of checking
`Call.isGlobalCFunction()` after performing the match. This resolves
several TODOs in various checkers.
Note that both matching with `CDM::CLibrary` and calling
`isGlobalCFunction` leads to `CheckerContext::isCLibraryFunction()`
checks (so this change is close to being NFC), but if it is used via the
matching mode then the checker can automatically recognize the builtin
variants of the matched functions.
I'll also make similar changes in GenericTaintChecker, but that checker
has separate and inconsistent rules for handling the normal and the
builtin variant of several functions (e.g. `memcpy` and
`__builtin_memcpy`), so I'll put those changes into a separate commit.
Commit: 5c9315f575370393ccc89ef0229743c05f6fe703
https://github.com/llvm/llvm-project/commit/5c9315f575370393ccc89ef0229743c05f6fe703
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix complex log1p accuracy with large abs values. (#88364)
This ports openxla/xla#10503 by @pearu. In addition to the filecheck
test here, the accuracy was tested with XLA's complex_unary_op_test and
its MLIR emitters.
This is a fixed version of
https://github.com/llvm/llvm-project/pull/88260. The previous version
relied on implementation-specific behavior in the order of evaluation of
maxAbsOfRealPlusOneAndImagMinusOne's operands.
Commit: db2fb3d96b217f0d2e139e7816c98d9f95974f25
https://github.com/llvm/llvm-project/commit/db2fb3d96b217f0d2e139e7816c98d9f95974f25
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/test/Preprocessor/x86_target_features.c
Log Message:
-----------
[X86] Define __APX_F__ when APX is enabled. (#88343)
Relate gcc patch:
https://gcc.gnu.org/pipermail/gcc-patches/2024-April/648789.html
Commit: 32b95a37083d1fee1a638e292be0aac9a98792fd
https://github.com/llvm/llvm-project/commit/32b95a37083d1fee1a638e292be0aac9a98792fd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine][X86] Extend shuffle(bitcast(x),bitcast(y)) test coverage
As discussed on #87510 the intention is to fold shuffle(bitcast(x),bitcast(y)) -> bitcast(shuffle(x,y)), but it must not interfere with existing bitcast(shuffle(bitcast(x),bitcast(y))) folds.
Commit: 478c42004c2bd4c91a01c47450eca6cdb6b0982d
https://github.com/llvm/llvm-project/commit/478c42004c2bd4c91a01c47450eca6cdb6b0982d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Update recipe ::clone definitions to use cloned tys (NFC).
Update definitions on ::clone in recipe sub-types to use the sub-type as
return type. This avoids typecasts down to the cloned type in some
cases.
Commit: 462e1023838703f1d3e763869afdd72ec5342a33
https://github.com/llvm/llvm-project/commit/462e1023838703f1d3e763869afdd72ec5342a33
Author: Poseydon42 <vvmposeydon at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-div-constant.ll
Log Message:
-----------
[InstCombine] Fold (X / C) < X and (X >> C) < X into X > 0 (#85555)
Proofs: https://alive2.llvm.org/ce/z/52droC
This resolves #85313.
Commit: 82ae646eb49cfd762db7db0a74b130970fe45d97
https://github.com/llvm/llvm-project/commit/82ae646eb49cfd762db7db0a74b130970fe45d97
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/tools/llvm-mca/CMakeLists.txt
Log Message:
-----------
[llvm-mca] Remove spurious include_directories() (#88277)
llvm-mca does not have an include directory so this commit removes the
spurious include_directories directive.
Commit: e7bc53726459bba3a48b1f529f1fd9472ad9051c
https://github.com/llvm/llvm-project/commit/e7bc53726459bba3a48b1f529f1fd9472ad9051c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/range-attribute.ll
Log Message:
-----------
[IPSCCP] Add range attribute handling (#86747)
Support the new range attribute to infer ConstantRanges in IPSCCP.
Commit: eef63d3c92766c6f8e78eefb9bb37ae01fbedbfc
https://github.com/llvm/llvm-project/commit/eef63d3c92766c6f8e78eefb9bb37ae01fbedbfc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
Log Message:
-----------
[mlir][OpenMP] add missing load for reduction cleanup region (#88289)
I missed this before. For by-ref reductions, the private reduction
variable is a pointer to the pointer to the variable. So an extra load
is required to get the right value.
See the "red.private.value.n" loads in the reduction combiner region for
reference.
Commit: 6f068b9cf1ac09945c096269f0c6c276d2ec95c4
https://github.com/llvm/llvm-project/commit/6f068b9cf1ac09945c096269f0c6c276d2ec95c4
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
Log Message:
-----------
[flang][OpenMP] Allocate array reduction variables on the heap (#87773)
Following up on a review comment:
https://github.com/llvm/llvm-project/pull/84958#discussion_r1527627848
Reductions might be inlined inside of a loop so stack allocations are
not safe.
Normally flang allocates arrays on the stack. Allocatable arrays have a
different type: fir.box<fir.heap<fir.array<...>>> instead of
fir.box<fir.array<...>>. This patch will allocate all arrays on the
heap.
Reductions on allocatable arrays still aren't supported (but I will get
to this soon).
Commit: b800a9352330a5b3db91d43f2cc6a0ddeda03aa6
https://github.com/llvm/llvm-project/commit/b800a9352330a5b3db91d43f2cc6a0ddeda03aa6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 759422c6df2dfe42d01bb64b42f43ab57db6e59e
https://github.com/llvm/llvm-project/commit/759422c6df2dfe42d01bb64b42f43ab57db6e59e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - pull out repeated SDLoc. NFC.
Commit: cca30dfb5935e05837e37cced4407a63393c6642
https://github.com/llvm/llvm-project/commit/cca30dfb5935e05837e37cced4407a63393c6642
Author: nikitalita <nikitalita at protonmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
Log Message:
-----------
[DebugInfo][ObjectYAML] Remove duplicate "Flags" field from LabelSym (#88194)
There was a duplicate flags field mistakenly left in LabelSym. [LabelSym
only has one flags
field](https://github.com/microsoft/microsoft-pdb/blob/805655a28bd8198004be2ac27e6e0290121a5e89/include/cvinfo.h#L3806)
Commit: b60974dc9e5d98054f5a3a0dac7eab70e38bd416
https://github.com/llvm/llvm-project/commit/b60974dc9e5d98054f5a3a0dac7eab70e38bd416
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] Extend bitcast(shuffle(x,y)) test coverage
As discussed on #87510 the intention is only to fold bitcast(shuffle(x,y)) -> shuffle(bitcast(x),bitcast(y)) if we won't actually increase the number of bitcasts (i.e. x or y is already bitcasted from the correct type).
Commit: a8b461603b3fab3b229ea6552433cb359c30350c
https://github.com/llvm/llvm-project/commit/a8b461603b3fab3b229ea6552433cb359c30350c
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Apply ClangTidy BugProne fix
forwarding reference passed to std::move(), which may unexpectedly cause
lvalues to be moved; use std::forward() instead.
Commit: 962534c4b490239269bb2e11d036596826539046
https://github.com/llvm/llvm-project/commit/962534c4b490239269bb2e11d036596826539046
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Apply ClangTidy BugProne patch
This time for real.
Commit: 364963a0a3935ced1acb2e959ecd08aef39405ef
https://github.com/llvm/llvm-project/commit/364963a0a3935ced1acb2e959ecd08aef39405ef
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Do not assume text section name in more places (#88303)
Fixes a couple more places where ".text" is presumed for the main
code section name.
Commit: e2d482395992d725663543d297f5ab3cc5918fcc
https://github.com/llvm/llvm-project/commit/e2d482395992d725663543d297f5ab3cc5918fcc
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT][NFC] Make RepRet X86-specific (#88286)
Bolt's RepRet pass is x86-specific, no need to add it for non-x86
targets.
Commit: a403ad9336a24c459ee79d2cb7675c4b1f32bfd9
https://github.com/llvm/llvm-project/commit/a403ad9336a24c459ee79d2cb7675c4b1f32bfd9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine] foldBitcastShuffle - limit bitcast(shuffle(x,y)) -> shuffle(bitcast(x),bitcast(y))
Only fold bitcast(shuffle(x,y)) -> shuffle(bitcast(x),bitcast(y)) if we won't actually increase the number of bitcasts (i.e. x or y is already bitcasted from the correct type).
Commit: 717d3f3974f43d90c1b8829a4077bbc2a2413c83
https://github.com/llvm/llvm-project/commit/717d3f3974f43d90c1b8829a4077bbc2a2413c83
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfCastops - add initial shuffle(bitcast(x),bitcast(y)) -> bitcast(shuffle(x,y)) support
Just handle cases where the bitcast src/dst element counts are the same (future patches will add shuffle mask scaling)
Commit: 9d9bb7b1b6e96dc833133dacf1e2c7d9792e640e
https://github.com/llvm/llvm-project/commit/9d9bb7b1b6e96dc833133dacf1e2c7d9792e640e
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
Log Message:
-----------
Fix complex abs corner cases. (#88373)
The current implementation fails for very small and very large values.
For example, (0, -inf) should return inf, but it returns -inf.
This ports the logic used in XLA. Tested with XLA's
exhaustive_binary_test_f32_f64.
Commit: b1094776152b68efa05f69b7b833f9cbc0727efc
https://github.com/llvm/llvm-project/commit/b1094776152b68efa05f69b7b833f9cbc0727efc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/RISCV/riscv-vsetvli-knownbits.ll
M llvm/test/Transforms/InstCombine/RISCV/riscv-vsetvlimax-knownbits.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/bswap-fold.ll
M llvm/test/Transforms/InstCombine/bswap.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll
M llvm/test/Transforms/InstCombine/compare-signs.ll
M llvm/test/Transforms/InstCombine/ctpop.ll
M llvm/test/Transforms/InstCombine/extractelement-inseltpoison.ll
M llvm/test/Transforms/InstCombine/extractelement.ll
M llvm/test/Transforms/InstCombine/ffs-1.ll
M llvm/test/Transforms/InstCombine/fls.ll
M llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
M llvm/test/Transforms/InstCombine/high-bit-signmask-with-trunc.ll
M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
M llvm/test/Transforms/InstCombine/icmp-topbitssame.ll
M llvm/test/Transforms/InstCombine/insert-trunc.ll
M llvm/test/Transforms/InstCombine/insertelt-trunc.ll
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/test/Transforms/InstCombine/known-non-zero.ll
M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/lshr-trunc-sext-to-ashr-sext.ll
M llvm/test/Transforms/InstCombine/lshr.ll
M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
M llvm/test/Transforms/InstCombine/narrow.ll
M llvm/test/Transforms/InstCombine/negated-bitmask.ll
M llvm/test/Transforms/InstCombine/pr34349.ll
M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/sadd_sat.ll
M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
M llvm/test/Transforms/InstCombine/select-imm-canon.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/sext-of-trunc-nsw.ll
M llvm/test/Transforms/InstCombine/sext.ll
M llvm/test/Transforms/InstCombine/shift-add.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-shift.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/shl-demand.ll
M llvm/test/Transforms/InstCombine/sign-bit-test-via-right-shifting-all-other-bits.ll
M llvm/test/Transforms/InstCombine/trunc-demand.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/truncating-saturate.ll
M llvm/test/Transforms/InstCombine/vector-trunc.ll
M llvm/test/Transforms/InstCombine/xor-ashr.ll
M llvm/test/Transforms/InstCombine/zext-ctlz-trunc-to-ctlz-add.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
[InstCombine] Infer nsw/nuw for trunc (#87910)
This patch adds support for inferring trunc's nsw/nuw flags.
Commit: 496de32ee2c34880c7d3396bbd09e45d5d5c8a9e
https://github.com/llvm/llvm-project/commit/496de32ee2c34880c7d3396bbd09e45d5d5c8a9e
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/DeadMachineInstructionElim.h
M llvm/include/llvm/CodeGen/FreeMachineFunction.h
M llvm/include/llvm/CodeGen/MIRPrinter.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[NewPM] Remove `MachinePassInfoMixin` (#88243)
Unify the inheritance paths of IR and machine function.
Commit: a6db20f2c39ecb5939890317068d5398c760746d
https://github.com/llvm/llvm-project/commit/a6db20f2c39ecb5939890317068d5398c760746d
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
Log Message:
-----------
[libcxx] Use generic builtins for popcount, clz and ctz (#86563)
Fixes #86556
Use `__builtin_popcountg` instead of `__buildin_popcount{l|ll}`
Use `__builtin_clzg instead` of `__buildin_clz{l|ll}`
Use `__builtin_ctzg instead` of `__builtin_ctz{l|ll}`
The generic variant of the builtins can be used to simplify some logic
with >= Clang 19 or >= GCC 14, where these generic variants are
available. As for backwards compatibility reasons, we can't completely
remove the old logic. Therefore, I left ToDo comments to address this,
as soon as support for pre Clang 19 as well as pre GCC 14 is dropped.
---------
Co-authored-by: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Commit: 402f15ea92061d94412807887c8115374974967e
https://github.com/llvm/llvm-project/commit/402f15ea92061d94412807887c8115374974967e
Author: martinboehme <mboehme at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
R clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
Log Message:
-----------
[clang][dataflow] Remove deprecated alias `ControlFlowContext`. (#88358)
Commit: 6fd2fdccf2f28fc155f614eec41f785492aad618
https://github.com/llvm/llvm-project/commit/6fd2fdccf2f28fc155f614eec41f785492aad618
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr67803.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfCastops - extend shuffle(bitcast(x),bitcast(y)) -> bitcast(shuffle(x,y)) support
Handle shuffle mask scaling handling for cases where the bitcast src/dst element counts are different
Commit: 77dd43570bf7a4bad688de8d8326c34590a0fa94
https://github.com/llvm/llvm-project/commit/77dd43570bf7a4bad688de8d8326c34590a0fa94
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix complex power for large inputs. (#88387)
For example, 1e30^1.2 currently overflows.
Also forward fastmath flags.
This ports XLA's logic and was verified with its test suite. Note that
rsqrt and sqrt are still broken.
Commit: 599adf30afe5802fab80419ec5bb896036a1c8fb
https://github.com/llvm/llvm-project/commit/599adf30afe5802fab80419ec5bb896036a1c8fb
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
Log Message:
-----------
[include-cleaner] Dont apply name-match for non-owning headers (#82625)
Commit: 61ea1bc23aa941714be3ec818c922e4ee5a279a3
https://github.com/llvm/llvm-project/commit/61ea1bc23aa941714be3ec818c922e4ee5a279a3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/pr67803.ll
Log Message:
-----------
[VectorCombine][X86] Add test coverage for #67803
We are still missing a fold for shuffle(bitcast(sext(x)),bitcast(sext(y))) -> bitcast(sext(shuffle(x,y))) due to foldShuffleOfCastops failing to add new instructions back onto the worklist
Commit: ff74236f342c7bc185f56a07bab7bd0cf356c7c6
https://github.com/llvm/llvm-project/commit/ff74236f342c7bc185f56a07bab7bd0cf356c7c6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/pr67803.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfCastops - ensure we add all new instructions onto the worklist
When creating cast(shuffle(x,y)) we were only adding the cast() to the worklist, not the new shuffle, preventing recursive combines.
foldShuffleOfBinops is also failing to do this, but I still need to add test coverage for this.
Commit: 44718311dee486f1823876e8af9100afcc50041b
https://github.com/llvm/llvm-project/commit/44718311dee486f1823876e8af9100afcc50041b
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/CMakeLists.txt
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
R mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.h
R mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
R mlir/include/mlir/Dialect/AMDGPU/TransformOps/CMakeLists.txt
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
R mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
R mlir/include/mlir/Dialect/AMDGPU/Transforms/Utils.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
R mlir/lib/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.cpp
R mlir/lib/Dialect/AMDGPU/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
R mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
R mlir/lib/Dialect/AMDGPU/Transforms/Utils.cpp
R mlir/test/Dialect/AMDGPU/optimize_shmem_reads_writes.mlir
R mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][amdgpu] Remove shared memory optimization pass (#88225)
This implementation has a number of issues and ultimately does not work
on gfx9.
* It does not reduce bank conflicts with wide memory accesses.
* It does not correctly account for when LDS bank conflicts occur on
amdgpu.
* The implementation is too fragile to be used on real-world code. For
example, the code bails out on any `memref.subview` in the root op, even
when the subview is not a user of any of the `memref.alloc` ops.
I do not see how these can be easily fixed, therefore I think it's
better to delete this code.
Commit: 198ffb85314f7741ed048de67d68ca83bb30e16e
https://github.com/llvm/llvm-project/commit/198ffb85314f7741ed048de67d68ca83bb30e16e
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
M clang/test/CXX/drs/dr28xx.cpp
M clang/test/Parser/cxx-class.cpp
Log Message:
-----------
[Clang][Sema] Implement approved resolution for CWG2858 (#88042)
The approved resolution for CWG2858 changes
[expr.prim.id.qual] p2 sentence 2 to read:
> A declarative _nested-name-specifier_ shall not have a
_computed-type-specifier_.
This patch implements the approved resolution. Since we don't consider
_nested-name-specifiers_ in friend declarations to be declarative (yet),
it currently isn't possible to write a test that would produce this
diagnostic (`diagnoseQualifiedDeclaration` is never called if the
`DeclContext` can't be computed). Nevertheless, tests were added which
will produce the diagnostic once we start calling
`diagnoseQualifiedDeclaration` for friend declarations.
Commit: 298ea9bfd50ca41c77e45065700df06adb6264ae
https://github.com/llvm/llvm-project/commit/298ea9bfd50ca41c77e45065700df06adb6264ae
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang] [OpenMP] [MLIR] [Lowering] Add lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses on OMP TARGET directive. (#88206)
Added lowering support for IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses for
OMP TARGET directive and added related tests for these changes.
IS_DEVICE_PTR and HAS_DEVICE_ADDR clauses apply to OMP TARGET directive
OpenMP spec states
The **is_device_ptr** clause indicates that its list items are device
pointers.
The **has_device_addr** clause indicates that its list items already
have device addresses and therefore they may be directly accessed from a
target device.
Whereas USE_DEVICE_PTR and USE_DEVICE_ADDR clauses apply to OMP TARGET
DATA directive and OpenMP spec for them states
Each list item in the **use_device_ptr** clause results in a new list
item that is a device pointer that refers to a device address
Each list item in a **use_device_addr** clause that is present in the
device data environment is treated as if it is implicitly mapped by a
map clause on the construct with a map-type of alloc
Fixed build error caused by Squash merge which needs rebase
Commit: ffb5bea2be9f966a39f243a7d8c2f48a1343cb4c
https://github.com/llvm/llvm-project/commit/ffb5bea2be9f966a39f243a7d8c2f48a1343cb4c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
[X86] LowerBITREVERSE - support SSE-only GFNI i32/i64 bitreverse
Support Tremont CPUs which don't have AVX but do have GFNI.
Noticed while trying to workout how to clean up the costmodel for GFNI bitreverse
Commit: 7ab7e7a55f3fce08ccd3cbcae94dabe99dd9e94a
https://github.com/llvm/llvm-project/commit/7ab7e7a55f3fce08ccd3cbcae94dabe99dd9e94a
Author: Xu Zhang <simonzgx at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M libc/docs/index.rst
A libc/docs/signal.rst
M libc/utils/docgen/docgen.py
A libc/utils/docgen/signal.json
Log Message:
-----------
[libc][docs] Generate docs for signal.h & optimized is_implemented func (#88028)
Fixes #87835
This patch added the documentation for the POSIX functions according to
[n3096](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf)
Section 7.14, and gives the *docgen.py* script a more elegant *is_implemented*
function.
Commit: b63fe0d72e2df3b3c4b9fcb91aea07b2582be195
https://github.com/llvm/llvm-project/commit/b63fe0d72e2df3b3c4b9fcb91aea07b2582be195
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M libcxx/include/__type_traits/copy_cv.h
Log Message:
-----------
[libc++][NFC] Reduce the memory footprint of __copy_cv a bit (#87718)
Instead of instantiating `__copy_cv` for every combination of `_From`
and `_To` this only instantiates `__copy_cv` for every `_From` type,
reducing the number of instantiations.
Commit: 72f9881c3ffcf4be6361c3e4312d91c9c8d94a98
https://github.com/llvm/llvm-project/commit/72f9881c3ffcf4be6361c3e4312d91c9c8d94a98
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
R libclc/cmake/CMakeCLCCompiler.cmake.in
R libclc/cmake/CMakeCLCInformation.cmake
R libclc/cmake/CMakeDetermineCLCCompiler.cmake
R libclc/cmake/CMakeDetermineLLAsmCompiler.cmake
R libclc/cmake/CMakeLLAsmCompiler.cmake.in
R libclc/cmake/CMakeLLAsmInformation.cmake
R libclc/cmake/CMakeTestCLCCompiler.cmake
R libclc/cmake/CMakeTestLLAsmCompiler.cmake
A libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/lib/SOURCES
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[libclc] Refactor build system to allow in-tree builds (#87622)
The previous build system was adding custom "OpenCL" and "LLVM IR"
languages in CMake to build the builtin libraries. This was making it
harder to build in-tree because the tool binaries needed to be present
at configure time.
This commit refactors the build system to use custom commands to build
the bytecode files one by one, and link them all together into the final
bytecode library. It also enables in-tree builds by aliasing the
clang/llvm-link/etc. tool targets to internal targets, which are
imported from the LLVM installation directory when building out of tree.
Diffing (with llvm-diff) all of the final bytecode libraries in an
out-of-tree configuration against those built using the current tip
system shows no changes. Note that there are textual changes to metadata
IDs which confuse regular diff, and that llvm-diff 14 and below may show
false-positives.
This commit also removes a file listed in one of the SOURCEs which
didn't exist and which was preventing the use of
ENABLE_RUNTIME_SUBNORMAL when configuring CMake.
Commit: 0d96422768908a8235f05a5d3b1d43ecc6038004
https://github.com/llvm/llvm-project/commit/0d96422768908a8235f05a5d3b1d43ecc6038004
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
A llvm/test/Object/Wasm/bad-data-symbol.yaml
A llvm/test/Object/Wasm/bad-metadata-version.yaml
A llvm/test/Object/Wasm/bad-reloc-type.test
A llvm/test/Object/Wasm/bad-relocation.yaml
A llvm/test/Object/Wasm/bad-symbol-type.test
A llvm/test/Object/Wasm/duplicate-name.test
A llvm/test/Object/Wasm/invalid-file.yaml
A llvm/test/Object/Wasm/invalid-section-order.test
A llvm/test/Object/Wasm/invalid-start.test
A llvm/test/Object/Wasm/linked-namesec-with-linkingsec.yaml
A llvm/test/Object/Wasm/linked-symbol-table.yaml
A llvm/test/Object/Wasm/missing-version.test
A llvm/test/Object/Wasm/obj2yaml-tables.test
A llvm/test/Object/Wasm/relocs-and-producers.yaml
A llvm/test/Object/Wasm/string-outside-section.test
R llvm/test/Object/wasm-bad-data-symbol.yaml
R llvm/test/Object/wasm-bad-metadata-version.yaml
R llvm/test/Object/wasm-bad-reloc-type.test
R llvm/test/Object/wasm-bad-relocation.yaml
R llvm/test/Object/wasm-bad-symbol-type.test
R llvm/test/Object/wasm-duplicate-name.test
R llvm/test/Object/wasm-invalid-file.yaml
R llvm/test/Object/wasm-invalid-section-order.test
R llvm/test/Object/wasm-invalid-start.test
R llvm/test/Object/wasm-linked-namesec-with-linkingsec.yaml
R llvm/test/Object/wasm-linked-symbol-table.yaml
R llvm/test/Object/wasm-missing-version.test
R llvm/test/Object/wasm-obj2yaml-tables.test
R llvm/test/Object/wasm-relocs-and-producers.yaml
R llvm/test/Object/wasm-string-outside-section.test
Log Message:
-----------
[Object][Wasm] Move wasm Object tests into their own directory (NFC) (#81072)
Commit: 3c4b673af05f53e8a4d1a382b5c86367ea512c9e
https://github.com/llvm/llvm-project/commit/3c4b673af05f53e8a4d1a382b5c86367ea512c9e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M libcxx/include/stddef.h
Log Message:
-----------
[libc++] Fix -Wgnu-include-next in stddef.h (#88214)
As reported in #86843, we must have #pragma GCC system_header before we
use #include_next, otherwise the compiler may not understand that we're
in a system header and may issue a diagnostic for our usage of
Commit: 357f6c7826437f6527db6f99f756a34fb5e0f716
https://github.com/llvm/llvm-project/commit/357f6c7826437f6527db6f99f756a34fb5e0f716
Author: abidh <haqadeer at amd.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
A flang/docs/DebugGeneration.md
M flang/docs/index.md
Log Message:
-----------
[flang] Add design document for debug info generation. (#86939)
This document discusses some options where the debug metadata can be
generated. It also goes through various language constructs and explains
how the debug metadata will look like for that construct and how we can
extract that information.
The real point of discussion is how and where to extract the information
about various language features to generate the debug metadata. The
structure of the metadata itself is mostly settled as that is dictated by
the DWARF and structure of LLVM IR metadata. The classic flang
and gfortran generate quite similar DWARF for the various language
constructs.
This document is based on what Kiran posted in
https://reviews.llvm.org/D138534.
---------
Co-authored-by: Tom Eccles <t at freedommail.info>
Co-authored-by: Kiran Chandramohan <kiranchandramohan at gmail.com>
Commit: f135d224a6d078ca3b0722db94e1d772fdbd68ad
https://github.com/llvm/llvm-project/commit/f135d224a6d078ca3b0722db94e1d772fdbd68ad
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/sitofp-minbitwidth-node.ll
Log Message:
-----------
[SLP][NFC]Add a test with the zext feeding into sitofp instructions.
Commit: 3749e0d43fb56cf22cc72274c287b7bfdda9821d
https://github.com/llvm/llvm-project/commit/3749e0d43fb56cf22cc72274c287b7bfdda9821d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[memprof] Use structured binding (NFC) (#88363)
Commit: db9a17a4075d2ba4cf9edfa90018da6c11908e2a
https://github.com/llvm/llvm-project/commit/db9a17a4075d2ba4cf9edfa90018da6c11908e2a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[memprof] Use std::optional (NFC) (#88366)
Commit: 8c3cb6b55b688b767e5d65bcc2891b17322e8d05
https://github.com/llvm/llvm-project/commit/8c3cb6b55b688b767e5d65bcc2891b17322e8d05
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
M lldb/test/API/macosx/rosetta/TestRosetta.py
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
Reland "[lldb][sbdebugger] Move SBDebugger Broadcast bit enum into ll… (#88331)
…db-enumerations.h" (#88324)"
This reverts commit 9f6d08f2566a26144ea1753f80aebb1f2ecfdc63. This broke
the build because of a usage of one of the original SBDebugger broadcast
bits that wasn't updated in the original commit.
Commit: 2ea7ec9737e3ca4e2ce23bf606e79e7066beae0b
https://github.com/llvm/llvm-project/commit/2ea7ec9737e3ca4e2ce23bf606e79e7066beae0b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/unittests/AST/Interp/toAPValue.cpp
Log Message:
-----------
[clang][Interp][NFC] Expand pointer unittests
Test integral pointers as well.
Commit: 64c3997939cf2d9b4fd1c24c89724d0b47afcd03
https://github.com/llvm/llvm-project/commit/64c3997939cf2d9b4fd1c24c89724d0b47afcd03
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Allow initializing static class members
We need to handle this when registering global variables.
Commit: 5122a2c2320c7b14f6585e63b7fc43ac82a550c2
https://github.com/llvm/llvm-project/commit/5122a2c2320c7b14f6585e63b7fc43ac82a550c2
Author: Aart Bik <ajcbik at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
A mlir/test/Dialect/SparseTensor/external_direct.mlir
Log Message:
-----------
[mlir][sparse] allow for direct-out passing of sparse tensor buffers (#88327)
In order to support various external frameworks (JAX vs PyTorch) we need
a bit more flexibility in [dis]assembling external buffers to and from
sparse tensors in MLIR land. This PR adds a direct-out option that
avoids the rigid pre-allocated for copy-out semantics.
Note that over time, we expect the [dis]assemble operations to converge
into something that supports all sorts of external frameworks. Until
then, this option helps in experimenting with different options.
Commit: f626a35086d90f25986e3f06e01a54cca91250d8
https://github.com/llvm/llvm-project/commit/f626a35086d90f25986e3f06e01a54cca91250d8
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M libc/docs/dev/code_style.rst
M libc/docs/usage_modes.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/types/CMakeLists.txt
A libc/hdr/types/sigset_t.h
A libc/hdr/types/struct_epoll_event.h
A libc/hdr/types/struct_timespec.h
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/raise.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/signal/sigaddset.h
M libc/src/signal/sigdelset.h
M libc/src/signal/sigemptyset.h
M libc/src/signal/sigfillset.h
M libc/src/signal/sigprocmask.h
M libc/src/sys/epoll/epoll_pwait.h
M libc/src/sys/epoll/epoll_pwait2.h
M libc/src/sys/epoll/epoll_wait.h
M libc/src/sys/epoll/linux/CMakeLists.txt
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/src/sys/select/linux/select.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Codify header inclusion policy (#87017)
When supporting "overlay" vs "fullbuild" modes, "what ABI are you
using?" becomes a fundamental question to have concrete answers for.
Overlay mode MUST match the ABI of the system being overlayed onto;
fullbuild more flexible (the only system ABI relevant is the OS kernel).
When implementing llvm-libc we generally prefer the include-what-you use
style of avoiding transitive dependencies (since that makes refactoring
headers more painful, and slows down build times). So what header do you
include for any given type or function declaration? For any given
userspace program, the answer is straightforward. But for llvm-libc
which is trying to support multiple ABIs (at least one per
configuration), the answer is perhaps less clear.
This proposal seeks to add one layer of indirection relative to what's
being done today.
It then converts users of sigset_t and struct epoll_event and the epoll
implemenations over to this convention as an example.
Commit: 4e6d18f40642c2cc8e124bbe55810b2d9b2ac9c0
https://github.com/llvm/llvm-project/commit/4e6d18f40642c2cc8e124bbe55810b2d9b2ac9c0
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
Log Message:
-----------
[Clang][AST] Track whether template template parameters used the 'typename' keyword (#88139)
This patch adds a `Typename` bit-field to `TemplateTemplateParmDecl`
which stores whether the template template parameter was declared with
the `typename` keyword.
Commit: 62fa12ad2405cbdf24d5daf489e276c67a38e482
https://github.com/llvm/llvm-project/commit/62fa12ad2405cbdf24d5daf489e276c67a38e482
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir][sparse] support querying sparse buffer types from sparse tenso… (#88308)
…r encodings.
Commit: 877ecdf52f40472d31205f107d39097268d3e3e3
https://github.com/llvm/llvm-project/commit/877ecdf52f40472d31205f107d39097268d3e3e3
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for computing knownbits from `(icmp upred X (and/or X, Y))`; NFC
Commit: b8659600c3af6e5f1a5dd51ac59d6ab2554603d8
https://github.com/llvm/llvm-project/commit/b8659600c3af6e5f1a5dd51ac59d6ab2554603d8
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] compute knownbits from `(icmp upred X (and/or X, Y))`; NFC
`(icmp uge/ugt (and X, Y), C)` implies both `(icmp uge/ugt X, C)` and
`(icmp uge/ugt Y, C)`. We can use this to deduce leading ones in `X`.
`(icmp ule/ult (or X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`.
Closes #86059
Commit: f0ea888e01aabcb131a8931b9e1fe1c5212a6cba
https://github.com/llvm/llvm-project/commit/f0ea888e01aabcb131a8931b9e1fe1c5212a6cba
Author: Christopher Di Bella <cjdb at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_found_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_fun_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_value_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/min_max_result.pass.cpp
Log Message:
-----------
[libcxx] applies changes regarding post-commit feedback to #75259 (#76534)
Some of the feedback was also relevant to other files, and has been
applied there too.
Commit: f6749d8dcb9af5c30affd259f4c4160c54606d91
https://github.com/llvm/llvm-project/commit/f6749d8dcb9af5c30affd259f4c4160c54606d91
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/sitofp-minbitwidth-node.ll
Log Message:
-----------
[SLP]Consider unsigned nodes, feeding into sitofp, being converted using
uitofp.
Need to use uitofp for unsigned nodes, which are part of minbitwidth
analysis, to correctly handle signedness info.
Commit: a417b9b759960cc4d7b49e95ddc2ef129b5abe12
https://github.com/llvm/llvm-project/commit/a417b9b759960cc4d7b49e95ddc2ef129b5abe12
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb] Fix call to TemplateTemplateParmDecl::Create after #88139 (#88417)
#88139 adds a parameter to `TemplateTemplateParmDecl::Create`, which is
called in LLDB. This adds the missing argument for that parameter.
Commit: 03f619da077bca72bb3b0d978a1f50a2fade2750
https://github.com/llvm/llvm-project/commit/03f619da077bca72bb3b0d978a1f50a2fade2750
Author: Vincent Lee <thevinster at users.noreply.github.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/Other/print-at-pass-number.ll
Log Message:
-----------
[StandardInstrumentations] Support -print-after-pass-number option (#87458)
There's already support for `-print-before-pass-number`, so it makes
sense that we also have a `-print-after-pass-number`. This is especially
useful if you want to print the IR after the very last pass without
resorting to `-print-after-all` and combing through stderr or the IR
file directory.
Commit: 9029e6ebdfd98a58b5c5646fd534c6c849148cda
https://github.com/llvm/llvm-project/commit/9029e6ebdfd98a58b5c5646fd534c6c849148cda
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
[libclc] Refactor build system to allow in-tree builds (#87622)
The previous build system was adding custom "OpenCL" and "LLVM IR"
languages in CMake to build the builtin libraries. This was making it
harder to build in-tree because the tool binaries needed to be present
at configure time.
This commit refactors the build system to use custom commands to build
the bytecode files one by one, and link them all together into the final
bytecode library. It also enables in-tree builds by aliasing the
clang/llvm-link/etc. tool targets to internal targets, which are
imported from the LLVM installation directory when building out of tree.
Diffing (with llvm-diff) all of the final bytecode libraries in an
out-of-tree configuration against those built using the current tip
system shows no changes. Note that there are textual changes to metadata
IDs which confuse regular diff, and that llvm-diff 14 and below may show
false-positives.
This commit also removes a file listed in one of the SOURCEs which
didn't exist and which was preventing the use of
ENABLE_RUNTIME_SUBNORMAL when configuring CMake.
Commit: d7be9d23012c99b231bd3a4a9dd58ee15f1be5e7
https://github.com/llvm/llvm-project/commit/d7be9d23012c99b231bd3a4a9dd58ee15f1be5e7
Author: Sunil Srivastava <sunil.srivastava at sony.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
Log Message:
-----------
PS support for erf/erff/erfl. (#88412)
Co-authored-by: Sunil Srivastava <sunil.srivastava at sony.com>
Commit: f7cc224044a5121191b7d96825988bd954ce49e2
https://github.com/llvm/llvm-project/commit/f7cc224044a5121191b7d96825988bd954ce49e2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
Revert "[libclc] Refactor build system to allow in-tree builds (#87622)"
This reverts commit 9029e6ebdfd98a58b5c5646fd534c6c849148cda, which was
committed by mistake with the wrong message and fails https://lab.llvm.org/buildbot/#/builders/221/builds/21958.
Commit: 9c4aca2b2ec46895761756e34b191593694e4c47
https://github.com/llvm/llvm-project/commit/9c4aca2b2ec46895761756e34b191593694e4c47
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll
Log Message:
-----------
[HWASAN] Emit optimization remarks (#88332)
Similar to #88304
SelHWAsan is optimization. We may want to diagnose compiler decisions.
Remarks is the tool for that https://llvm.org/docs/Remarks.html.
Commit: b2ea38f9fc2381e7c04e610f6f8ed6786c2da38e
https://github.com/llvm/llvm-project/commit/b2ea38f9fc2381e7c04e610f6f8ed6786c2da38e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
M clang/unittests/AST/Interp/toAPValue.cpp
Log Message:
-----------
[clang][Interp] Fix handling integral function pointers
As expected, we need to be a little more careful when the
Function* is created from an integer.
Commit: fc52ee336b394d84110184d625cda1d4f84d8098
https://github.com/llvm/llvm-project/commit/fc52ee336b394d84110184d625cda1d4f84d8098
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
Log Message:
-----------
[lldb][ClangUserExpression][NFCI] Pass the most specific ExecutionContextScope possible into ClangExpressionParser (#87657)
The `ClangExpressionParser` takes an `ExecutionContextScope` which it
uses to query the `Process`/`Target`/`StackFrame` to set various
compiler options in preparation for parsing an expression.
However, `TryParse` constructs the parser with a `Process` or `Target`,
never a `StackFrame`. So when the parser tries to retrieve the current
`StackFrame` from the `exe_scope`, it doesn't succeed. In future patches
we want to query the `StackFrame` from within the
`ClangExpressionParser` constructor.
This patch simplifies `TryParse`, by removing the redundant `exe_scope`
parameter, and instead uses the `exe_ctx` to derive the most fitting
`exe_scope` to pass into `ClangExpressionParser`.
Not entirely sure how to test this. This patch is a prerequisite to get
subsequent patches that set `LangOpts` based on the current `StackFrame`
to work.
Commit: 38f8fcea3455ef1d77faf9746579f52b4e18dacc
https://github.com/llvm/llvm-project/commit/38f8fcea3455ef1d77faf9746579f52b4e18dacc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/expression/options/TestExprOptions.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/Makefile
A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/TestObjCFromCppFramesWithoutDebugInfo.py
A lldb/test/API/lang/objcxx/objc-from-cpp-frames-without-debuginfo/main.cpp
Log Message:
-----------
[lldb][ClangExpressionParser] Don't by default enable Objecitve-C support when evaluating C++ expressions (#87767)
This patch attempts to decouple C++ expression evaluation from
Objective-C support. We've previously enabled it by default (if a
runtime existed), but that meant we're opting into extra work we only
need to do for Objective-C, which complicates/slows down C++ expression
evaluation. Of course there's a valid use-case for this, which is
calling Objective-C APIs when stopped in C++ frames (which Objective-C++
developers might want to do). In those cases we should really prompt the
user to add the `expr --language objc++` flag. To accomodate a likely
frequent use-case where a user breaks in a system C++ library (without
debug-symbols) but their application is actually an Objective-C app, we
allow Objective-C support in C++ expressions if the current frame
doesn't have debug-info.
This fixes https://github.com/llvm/llvm-project/issues/75443 and allows
us to add more `LangOpts.ObjC` guards around the expression evaluator in
the future (e.g., we could avoid looking into the Objective-C runtime
during C++ expression evaluation, which we currently do
unconditionally).
Depends on https://github.com/llvm/llvm-project/pull/87657
Commit: b1822ef311b79d409be6f60ce86fccd967d623bc
https://github.com/llvm/llvm-project/commit/b1822ef311b79d409be6f60ce86fccd967d623bc
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/SCCP/conditions-ranges.ll
M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
A llvm/test/Transforms/SCCP/trunc-nuw-nsw-flags.ll
M llvm/test/Transforms/SCCP/widening.ll
Log Message:
-----------
[SCCP] Refine trunc with nsw/nuw flags (#87926)
Following #85592, add support for nsw/nuw flags of trunc in SCCP.
Commit: 5bed6afc21c9ff9dba4aabf5ac74cb12971f634f
https://github.com/llvm/llvm-project/commit/5bed6afc21c9ff9dba4aabf5ac74cb12971f634f
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Remove unneeded if (#88322)
No need need to special-case zero. Section 0 will map to section 0.
Commit: 6b85fb1ef8586181fbdb02ca11a3bb0e9006aabd
https://github.com/llvm/llvm-project/commit/6b85fb1ef8586181fbdb02ca11a3bb0e9006aabd
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/store-abs-minbitwidth.ll
Log Message:
-----------
[SLP]Consider (f)sub, being operand of llvm.(f)abs/icmp eq/ne 0, commutative.
If (f)sub is only operand of llvm.(f)abs or icmp eq/ne 0 (int only), we can consider it as commutative operation, just need to drop wrapping flags for ineteger
operation.
https://alive2.llvm.org/ce/z/GxvxjB for correctness of abs with dropped
flags.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/86196
Commit: a5eaec83b3446f217169fdd94e03ec67823af058
https://github.com/llvm/llvm-project/commit/a5eaec83b3446f217169fdd94e03ec67823af058
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Fix variable redefinition error
Commit: 8840992667180d327ff40ee24354ab8b49605aae
https://github.com/llvm/llvm-project/commit/8840992667180d327ff40ee24354ab8b49605aae
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/yaml-secondary-entry-discriminator.s
Log Message:
-----------
[BOLT][BAT] Fix handling of split functions
Move BAT parent function lookup outside `getLocationName`, to the
scope where we retrieve `FuncBranchData` linked with the function.
Previously DataAggregator would store branch profile recorded in the
split fragment in `FuncBranchData` associated with the fragment, and
perform name translation in `getLocationName` for symbol name only.
This works for fdata profile which is printed out as-is, but doesn't
work with BAT YAML profile writer which requires a combined profile.
The issue necessitated `fixupBATProfile` which partially addressed the
issue (reassigned inter-fragment calls back into intra-function
branches). However, `fixupBATProfile` fails to address disjoint
profiles (i.e. doesn't merge `FuncBranchData` for fragments back
into parent). This diff eliminates the need for `fixupBATProfile` by
removing the root cause of the issue.
Test Plan: NFC for existing tests
Reviewers: ayermolo, dcci, rafaelauler, maksfb
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/87569
Commit: 3997f0eb8199c89f8224cca1ecdd3d45c1bbe1fc
https://github.com/llvm/llvm-project/commit/3997f0eb8199c89f8224cca1ecdd3d45c1bbe1fc
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/yaml-secondary-entry-discriminator.s
Log Message:
-----------
[BOLT] Cover all call sites in writeBATYAML
Call site information setting was conditioned on branch information
presence for a given block. However, it's possible to have sampled
profile lacking one or the other for a given basic block.
Iterate over branch profiles and call profiles independently to cover
all recorded profile data.
Depends on https://github.com/llvm/llvm-project/pull/87569
Test Plan: Updated bolt/test/X86/yaml-secondary-entry-discriminator.s
Reviewers: ayermolo, dcci, maksfb, rafaelauler
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/87743
Commit: 41e8a9b1b2010b8111a0488a03b057cb8e33a199
https://github.com/llvm/llvm-project/commit/41e8a9b1b2010b8111a0488a03b057cb8e33a199
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
Log Message:
-----------
[HLSL] Remove an unnecessary .ll file in clang/test/SemaHLSL/. (#87346)
This file seemed to be added unintentionally in
9434c083475e42f47383f3067fe2a155db5c6a30.
Commit: 5d6d8dcd292e0a107b11d378932eee9c2f9ccfc7
https://github.com/llvm/llvm-project/commit/5d6d8dcd292e0a107b11d378932eee9c2f9ccfc7
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/clang-sections-attribute.c
M clang/test/CodeGenCXX/clang-sections.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
A llvm/test/Bitcode/upgrade-implicit-section-name.ll
R llvm/test/CodeGen/AArch64/clang-section-macho.ll
M llvm/test/CodeGen/ARM/clang-section.ll
M llvm/test/CodeGen/Generic/machine-function-splitter.ll
M llvm/test/CodeGen/X86/basic-block-sections-pragma-sections.ll
Log Message:
-----------
[clang][llvm] Remove "implicit-section-name" attribute (#87906)
D33412/D33413 introduced this to support a clang pragma to set section
names for a symbol depending on if it would be placed in
bss/data/rodata/text, which may not be known until the backend. However,
for text we know that only functions will go there, so just directly set
the section in clang instead of going through a completely separate
attribute.
Autoupgrade the "implicit-section-name" attribute to directly setting
the section on a Fuction.
Commit: 20ed5b1f45871612570d3bd447121ac43e083c6a
https://github.com/llvm/llvm-project/commit/20ed5b1f45871612570d3bd447121ac43e083c6a
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/test/tools/gold/X86/thinlto.ll
Log Message:
-----------
[nfc]Fix test gold/x86/thinlto.ll with GV Summary change (#88429)
This gold thinlto test should have been updated in commit dda7333
(https://github.com/llvm/llvm-project/commit/dda73336ad22bd0b5ecda17040c50fb10fcbe5fb).
It's ok to keep {Inputs/emit-llvm.foo.ll, Inputs/emit-llvm.bar.ll} the
current way for `llvm-as` since the field is optional (see example in
https://github.com/llvm/llvm-project/blob/5d6d8dcd292e0a107b11d378932eee9c2f9ccfc7/llvm/test/Assembler/thinlto-summary.ll#L12-L16)
Commit: aa80f3ec48419a73aafcc2ff947c6dd1e3734481
https://github.com/llvm/llvm-project/commit/aa80f3ec48419a73aafcc2ff947c6dd1e3734481
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/instantiate-using-decl.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
Log Message:
-----------
Reapply "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function (#87541)" (#88311)
Reapplies #87541 and addresses the bug which caused expressions naming
overload sets to be incorrectly rebuilt.
Commit: 08e210c6af68005e1bd27488d92de2efba548f58
https://github.com/llvm/llvm-project/commit/08e210c6af68005e1bd27488d92de2efba548f58
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
Log Message:
-----------
[NFC][IndirectCallProm] Refactor function-based conditional devirtualization and indirect call value profile update into one helper function (#80762)
* The motivation is to move indirect callee profile update inside the
function-based speculative indirect-call promotion, so that there are
fewer diffs the vtable-based transformation and profile update is
implemented in a follow-up patch.
* The Parent patch is https://github.com/llvm/llvm-project/pull/79381
Commit: 4df854e1a98ed47c955838d2c94bf2913c50041f
https://github.com/llvm/llvm-project/commit/4df854e1a98ed47c955838d2c94bf2913c50041f
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
[lldb][lit] Add MallocNanoZone envvar to Darwin ASan builds (#88431)
When builds on Darwin are configured with ASan, running tests will emit
a warning about malloc's nano zone (`malloc: nano zone abandoned due to inability to reserve vm space`) that can interfere with the test
output and cause failures. Setting the environment variable
`MallocNanoZone` to 0 will remove this warning and allow the tests to
run as normal.
Commit: 1f5d130df85c2d0550dc8687ad0fa1d96856c318
https://github.com/llvm/llvm-project/commit/1f5d130df85c2d0550dc8687ad0fa1d96856c318
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
Revert "[lldb][lit] Add MallocNanoZone envvar to Darwin ASan builds" (#88436)
Reverts llvm/llvm-project#88431. A config variable for the host OS is
unrecognized on the Linux builds and is causing a build failure.
Commit: 44de2bb6949f0ca62a2e16506fe3d91be14e6d23
https://github.com/llvm/llvm-project/commit/44de2bb6949f0ca62a2e16506fe3d91be14e6d23
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/CMakeLists.txt
A clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CMakeLists.txt
M clang/include/clang/Config/config.h.cmake
A clang/lib/CIR/CMakeLists.txt
M clang/lib/CMakeLists.txt
M clang/test/CMakeLists.txt
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
[CIR][cmake] Add support for cmake variable CLANG_ENABLE_CIR
Introduce a cmake variable that guards the inclusion of ClangIR into the
build of clang. Guard that we aren't trying to build without MLIR. Add
two subdirectories that, as of now, don't do anything.
Reviewers: bcardosolopes, erichkeane, petrhosek, Ericson2314
Reviewed By: bcardosolopes
Pull Request: https://github.com/llvm/llvm-project/pull/86078
Commit: a952c123880eb1168f1021b116485e27170d48ca
https://github.com/llvm/llvm-project/commit/a952c123880eb1168f1021b116485e27170d48ca
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[GitHub] Set top level token permission (#87326)
Commit: 84df7a09f8da5809b85fd097015e5ac6cc8a3f88
https://github.com/llvm/llvm-project/commit/84df7a09f8da5809b85fd097015e5ac6cc8a3f88
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] Do not resolve `HeaderFileInfo` externally in `ASTWriter` (#87848)
Clang uses the `HeaderFileInfo` struct to track bits of information on
header files, which gets used throughout the compiler. We also use this
to compute the set of affecting module maps in `ASTWriter` and in the
end serialize the information into the `HEADER_SEARCH_TABLE` record of a
PCM file, allowing clients to learn about headers from the module. In
doing so, Clang asks for existing `HeaderFileInfo` for all known
`FileEntries`. Note that this asks the loaded PCM files for the
information they have on each header file in question. This seems
unnecessary: we only want to serialize information on header files that
either belong to the current module or that got included textually.
Loaded PCM files can't provide us with any useful information.
For explicit modules with lazy loading (using `-fmodule-map-file=<path>`
with `-fmodule-file=<name>=<path>`) the compiler knows about header
files listed in the module map files on the command-line. This can be a
large number.
Asking for existing `HeaderFileInfo` can trigger deserialization of
`HEADER_SEARCH_TABLE` from loaded PCM files. Keys of the on-disk hash
table consist of the header file size and modification time. However,
with explicit modules Clang zeroes out the modification time. Moreover,
if you import lots of modules, some of their header files end up having
identical sizes. This means lots of hash collisions that can only be
resolved by running the serialized filename through `FileManager` and
comparing equality of the `FileEntry`. This ends up being super
expensive, essentially re-stating lots of the transitively loaded SDK
header files.
This patch cleans up the API for getting `HeaderFileInfo` and makes sure
`ASTWriter` uses the version that doesn't ask loaded PCM files for more
information. This removes the excessive stat traffic coming from
`ASTWriter` hopefully without changing observable behavior.
Commit: 95fbd8d19dff10b5a734e3db1b29cba2da7a983f
https://github.com/llvm/llvm-project/commit/95fbd8d19dff10b5a734e3db1b29cba2da7a983f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/index/SymbolCollector.cpp
Log Message:
-----------
[clangd] Don't ignore external HFI in `SymbolCollector` (#88446)
The `FileEntry` corresponds to a `FileID` containing the
`SourceLocation` of a `NamedDecl` which (I think) might've been
deserialized from a PCM file. Considering external `HeaderFileInfo` here
is most likely the right thing to do here in order to get the correct
spelling in case the current compiler instance has not register this
file as a header yet.
Commit: 9a36077e4db30c7da603620762036d4a430e4e62
https://github.com/llvm/llvm-project/commit/9a36077e4db30c7da603620762036d4a430e4e62
Author: jimingham <jingham at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/bindings/interface/SBFrameExtensions.i
M lldb/test/API/python_api/frame/TestFrames.py
Log Message:
-----------
Fix error in unrecognized register name handling for "SBFrame.register" (#88047)
The code returned lldb.SBValue() when you passed in an unrecognized
register name. But referring to "lldb" is apparently not legal within
the module.
I changed this to just return SBValue(), but then this construct:
(lldb) script
>>> for reg_set in lldb.target.process.thread[0].frames[0].register
... print(reg)
Runs forever printing "No Value". The __getitem__(key) gets called with
a monotonically increasing by 1 series of integers. I don't know why
Python decided the class we defined should have a generator that returns
positive integers in order, but we can add a more useful one here by
returning an iterator over the flattened list of registers.
Note, the not very aptly named "SBFrame.registers" is an iterator over
register sets, not registers, so the two are not redundant.
Commit: 4036a6946e5420bb77a93037c83732be600b9b0b
https://github.com/llvm/llvm-project/commit/4036a6946e5420bb77a93037c83732be600b9b0b
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
R llvm/test/CodeGen/DirectX/rcp.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
Log Message:
-----------
[HLSL] move rcp to cgbuiltins (#88401)
Removing the intrinsic because there is no opCodes for rcp in DXIL or
SPIR-V.
Moving means we don't have to re-implement this feature for each
backend.
fixes #87784
Co-authored-by: Farzon Lotfi <farzon at farzon.com>
Commit: 00a4f091bad199053b33af983a5abbf2c5abe949
https://github.com/llvm/llvm-project/commit/00a4f091bad199053b33af983a5abbf2c5abe949
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/test/Driver/mtargetos-darwin.c
Log Message:
-----------
[clang][docs] Modernize attribute docs for darwin specifics (#88448)
* Generally recommend target triples. But replace `m*version-min` with
`mtargetos`.
* Also include test coverage for -mtargetos=visionos
Commit: 43d0891d3bb1fc40ff5dcea91c28d1582978caff
https://github.com/llvm/llvm-project/commit/43d0891d3bb1fc40ff5dcea91c28d1582978caff
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
A bolt/test/runtime/X86/jt-confusion.s
Log Message:
-----------
[BOLT] Fix handling of trailing entries in jump tables (#88444)
If a jump table has entries at the end that are a result of
__builtin_unreachable() targets, BOLT can confuse them with function
pointers. In such case, we should exclude these targets from the table
as we risk incorrectly updating the function pointers. It is safe to
exclude them as branching on such targets is considered an undefined
behavior.
Commit: 2f55056c89dd1ccb1aa69a9aed68048a59413d4d
https://github.com/llvm/llvm-project/commit/2f55056c89dd1ccb1aa69a9aed68048a59413d4d
Author: Mark Rowe <mrowe at bdash.net.nz>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
Log Message:
-----------
[compiler-rt] Don't explicitly ad-hoc code sign dylibs if using Apple's new linker (#88323)
Apple's new linker reports itself as ld rather than ld64 and does not
match the version detection regex.
Invert the logic to look only for older versions of ld64. This ensures
the runtime dylibs are left with a linker-generated code signature that
tools such as `strip` will preserve.
Co-authored-by: Mark Rowe <markrowe at chromium.org>
Commit: 5fb821560afd0543e4875c3c81d58f68f73eb03b
https://github.com/llvm/llvm-project/commit/5fb821560afd0543e4875c3c81d58f68f73eb03b
Author: Michael Jones <michaelrj at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/signal_macros.h
A libc/hdr/sys_epoll_macros.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-epoll-macros.h
A libc/include/llvm-libc-macros/sys-epoll-macros.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/sys/epoll.h.def
M libc/spec/posix.td
M libc/src/sys/epoll/CMakeLists.txt
A libc/src/sys/epoll/epoll_create.h
A libc/src/sys/epoll/epoll_create1.h
A libc/src/sys/epoll/epoll_ctl.h
M libc/src/sys/epoll/epoll_pwait.h
M libc/src/sys/epoll/linux/CMakeLists.txt
A libc/src/sys/epoll/linux/epoll_create.cpp
A libc/src/sys/epoll/linux/epoll_create1.cpp
A libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/src/unistd/CMakeLists.txt
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/pipe.cpp
A libc/src/unistd/pipe.h
M libc/test/src/sys/epoll/linux/CMakeLists.txt
A libc/test/src/sys/epoll/linux/epoll_create1_test.cpp
A libc/test/src/sys/epoll/linux/epoll_create_test.cpp
A libc/test/src/sys/epoll/linux/epoll_ctl_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
M libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/pipe_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
Log Message:
-----------
[libc] add remaining epoll functions, pipe (#84587)
The epoll_wait functions need the rest of the epoll functions (create,
ctl) to be available to actually test them, as well as pipe to create a
usable file descriptor. This patch adds epoll_create, epoll_create1,
epoll_ctl, and pipe. These have tests, and the tests for epoll_wait,
epoll_pwait, and epoll_pwait2 (currently disabled) are updated to use
these newly available functions.
Commit: 7aa371687ace40b85f04e21956e03f1e93052b56
https://github.com/llvm/llvm-project/commit/7aa371687ace40b85f04e21956e03f1e93052b56
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/clangd/unittests/TestIndex.h
Log Message:
-----------
[clangd] Avoid using CompletionItemKind.Text for macro completions from the index (#88236)
This was fixed in https://github.com/clangd/clangd/issues/1484 for Sema
completions but the fix did not apply to index completions.
Fixes https://github.com/clangd/clangd/issues/2002
Commit: c42a262560a659d1cfb9ec46712ad66420314f2d
https://github.com/llvm/llvm-project/commit/c42a262560a659d1cfb9ec46712ad66420314f2d
Author: Alexandre Eichenberger <alexe at us.ibm.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/canonicalize.mlir
Log Message:
-----------
[MLIR] Bug Fix: affine.prefetch replaceAffineOp invoked during canonicalization (#88346)
Signed-off-by: Alexandre Eichenberger <alexe at us.ibm.com>
Commit: 56954a53e58282d7584e31ec14a2b1052cd861e8
https://github.com/llvm/llvm-project/commit/56954a53e58282d7584e31ec14a2b1052cd861e8
Author: pawelszczerbuk <153013546+pawelszczerbuk at users.noreply.github.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/test/Dialect/SCF/loop-pipelining.mlir
Log Message:
-----------
[MLIR][LoopPipelining] Improve schedule verifier, so it checks also operands of nested operations (#88450)
`verifySchedule` was not looking at the operands of nested operations,
which caused incorrect schedule to be allowed in some cases, potentially
leading to crash during expansion.
There is also minor fix in `cloneAndUpdateOperands` in the pipeline
expander that prevents double visit of the cloned op. This one has no
functional impact, so no test for it.
Commit: bf1d7b8df287d69ee265b91be40dec37267b2d5c
https://github.com/llvm/llvm-project/commit/bf1d7b8df287d69ee265b91be40dec37267b2d5c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Give HWASAN_CHECK_MEMACCESS_SHORTGRANULES pseudo the same code size as PseudoCall.
This is converted to a PseudoCall in RISCVAsmPrinter.cpp so it should
have the same size of 8 bytes.
Commit: 09d51a841dcfbc41c3d7f3274b109b5f9fb09bb0
https://github.com/llvm/llvm-project/commit/09d51a841dcfbc41c3d7f3274b109b5f9fb09bb0
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
M llvm/test/CodeGen/PowerPC/check-aix-small-local-exec-tls-opt-IRattribute.ll
M llvm/test/CodeGen/PowerPC/check-aix-small-local-exec-tls-opt.ll
Log Message:
-----------
[PowerPC][AIX] Enable aix-small-local-dynamic-tls target attribute (#86641)
Following the aix-small-local-exec-tls target attribute, this patch adds
a target attribute for an AIX-specific option in llc that informs the
compiler that it can use a faster access sequence for the local-dynamic
TLS model (formally named aix-small-local-dynamic-tls) when TLS
variables are less than ~32KB in size.
The patch either produces an addi/la with a displacement off of module
handle (return value from .__tls_get_mod) when the address is
calculated, or it produces an addi/la followed by a load/store when the
address is calculated and used for further accesses.
---------
Co-authored-by: Amy Kwan <amy.kwan1 at ibm.com>
Commit: 86df55efa1242e308535679cf05c2793ff38f3d9
https://github.com/llvm/llvm-project/commit/86df55efa1242e308535679cf05c2793ff38f3d9
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Promote vector ADD/SUB/MUL/DIV to f32 (#87858)
Commit: 27ce513788e15c95f8c623566fbfca9304bb1844
https://github.com/llvm/llvm-project/commit/27ce513788e15c95f8c623566fbfca9304bb1844
Author: Corbin Robeck <corbin.robeck at amd.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[AMDGPU] Add Clang builtins for amdgcn s_ttrace intrinsics (#88076)
Commit: 6b6f272f355a2cbc753e9057dd7aefb1a74a0409
https://github.com/llvm/llvm-project/commit/6b6f272f355a2cbc753e9057dd7aefb1a74a0409
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/buildvec-bitcast.ll
Log Message:
-----------
[DAGCombiner] Require same type of splat & element for build_vector (#88284)
Only allow to change build_vector to concat_vector when the splat type
and vector element type is same. It's to fix assertion of failing to
bitcast types of different sizes.
Commit: 3a2817749eb8a2210320aa551fa20a5f9c8c32e3
https://github.com/llvm/llvm-project/commit/3a2817749eb8a2210320aa551fa20a5f9c8c32e3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
Log Message:
-----------
[llvm-exegesis] Let ArrayRef infer the array size (NFC) (#88241)
Commit: 334e07f18e6f2fbc84579f7cac3cdd29d0d7cce0
https://github.com/llvm/llvm-project/commit/334e07f18e6f2fbc84579f7cac3cdd29d0d7cce0
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/attr-target-riscv.c
Log Message:
-----------
[RISCV] Disallow target attribute use in multiversioning (#85899)
For RISC-V target only `target_clones` and `target_version` can enable
function multiversion(FMV).
This patch make target attribute trigger redefinition instead of emit
FMV.
Here is spec
https://github.com/riscv-non-isa/riscv-c-api-doc/blob/master/riscv-c-api.md#__attribute__targetattr-string
Commit: c24efffabbf96c7a138439bb8e219850c4d78887
https://github.com/llvm/llvm-project/commit/c24efffabbf96c7a138439bb8e219850c4d78887
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/lib/InstallAPI/DylibVerifier.cpp
A clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
A clang/test/InstallAPI/diagnostics-zippered.test
M clang/test/InstallAPI/driver-invalid-options.test
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] Handle zippered frameworks (#88205)
A zippered framework is a single framework that can be loaded in both
macOS and macatalyst processes. Broadly to InstallAPI, it means the same
interface can represent two separate platforms.
A dylib's symbol table does not distinguish between macOS/macCatalyst.
`InstallAPI` provides the ability for the tbd file to distinct
symbols between them.
The verifier handles this special logic by tracking all unavailable and
obsoleted APIs in this context and checking against those when
determining dylib symbols with no matching declaration.
* If there exists an available decl for either platform, do not warn.
* If there is no available decl, emit a diagnostic and print the source
location for both decls.
Commit: 9f14914753599f3879e4c273191959e2f1b3632c
https://github.com/llvm/llvm-project/commit/9f14914753599f3879e4c273191959e2f1b3632c
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/bindings/interface/SBFrameExtensions.i
M lldb/test/API/python_api/frame/TestFrames.py
Log Message:
-----------
Revert "Fix error in unrecognized register name handling for "SBFrame.register"" (#88468)
Reverts llvm/llvm-project#88047. TestFrames.py is failing on x86_64
GreenDragon:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/983/
Commit: c1a44568911b75c98675a3c19a55b4741d861437
https://github.com/llvm/llvm-project/commit/c1a44568911b75c98675a3c19a55b4741d861437
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
Reland "[lldb][lit] Add MallocNanoZone envvar to Darwin ASan builds" … (#88442)
…(#88436)"
This reverts commit 1f5d130df85c2d0550dc8687ad0fa1d96856c318. The
original commit checks that the host system is "Darwin" before setting
the `MallocNanoZone` envvar, but on the Shell lit config this attribute
does not exist at the point where it is being checked which leads to a
build failure.
This commit checks the host OS correctly.
Commit: b45c9c313c5107b1942cd325e8ab3b4235948a08
https://github.com/llvm/llvm-project/commit/b45c9c313c5107b1942cd325e8ab3b4235948a08
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[clang][NFC] Move more functions to `SemaHLSL` (#88354)
A follow-up to #87912. I'm moving more HLSL-related functions from
`Sema` to `SemaHLSL`. I'm also dropping `HLSL` from their names in the
process.
Commit: 505a9ae81d620b92284f7b2cbe874c936cf19583
https://github.com/llvm/llvm-project/commit/505a9ae81d620b92284f7b2cbe874c936cf19583
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
Log Message:
-----------
[Clang] Look through type sugar when accessing FunctionProtoType (#88428)
This fixes a bug introduced by #84473: if a lambda’s type is type sugar
(e.g. an `AttributedType`), we need to use `getAs()` instead of `cast()`
to retrieve the `FunctionProtoType`.
Commit: f21ead06750b670cf8ce72d6666e3550b04056a2
https://github.com/llvm/llvm-project/commit/f21ead06750b670cf8ce72d6666e3550b04056a2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/CXX/module/module.glob.frag/cxx20-10-4-ex2.cppm
M clang/test/Modules/inconsistent-deduction-guide-linkage.cppm
M clang/test/Modules/named-modules-adl-2.cppm
M clang/test/Modules/named-modules-adl.cppm
M clang/test/Modules/placement-new-reachable.cpp
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr62589.cppm
M clang/test/Modules/preferred_name.cppm
M clang/test/Modules/redundant-template-default-arg3.cpp
M clang/test/Modules/template-function-specialization.cpp
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Remove unreachable decls GMF in redued BMI (#88359)
Following of https://github.com/llvm/llvm-project/pull/76930
This follows the idea of "only writes what we writes", which I think is
the most natural and efficient way to implement this optimization.
We start writing the BMI from the first declaration in module purview
instead of the global module fragment, so that everything in the GMF
untouched won't be written in the BMI naturally.
The exception is, as I said in
https://github.com/llvm/llvm-project/pull/76930, when we write a
declaration we need to write its decl context, and when we write the
decl context, we need to write everything from it. So when we see
`std::vector`, we basically need to write everything under namespace
std. This violates our intention. To fix this, this patch delays the
writing of namespace in the GMF.
>From my local measurement, the size of the BMI decrease to 90M from 112M
for a local modules build. I think this is significant.
This feature will be covered under the experimental reduced BMI so that
it won't affect any existing users. So I'd like to land this when the CI
gets green.
Documents will be added seperately.
Commit: 506ff547924ab81123865964b7d998a5a378330a
https://github.com/llvm/llvm-project/commit/506ff547924ab81123865964b7d998a5a378330a
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/default-clause.f90
Log Message:
-----------
[flang][Semantics] Fix updating flags of threadprivate symbols in presence of default clause (#78283)
Current semantic checks of default clause incorrectly update symbol
flags related to threadprivate symbols. This patch adds an additional
check to skip such updation should a symbol be already declared
threadprivate.
Fixes https://github.com/llvm/llvm-project/issues/78282
Commit: b502dc596ba3ed1e857e163e21ed6426125760ef
https://github.com/llvm/llvm-project/commit/b502dc596ba3ed1e857e163e21ed6426125760ef
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
A clang/test/SemaCXX/gh84473.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
Log Message:
-----------
[Clang] Fix test broken due to unsupported calling convention (#88472)
#88428 ended up breaking CI because it included a test that uses the
`regcall` calling convention, which isn’t supported on all targets; I’ve
moved it into a separate file that sets the triple.
Commit: 469758c944dfb492102ded9e50eac5e478f85f6a
https://github.com/llvm/llvm-project/commit/469758c944dfb492102ded9e50eac5e478f85f6a
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/arch-specific-libdir-rpath.f95
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
Log Message:
-----------
[Flang] Add options frtlib-add-rpath and resource-dir (#88280)
frtlib-add-rpath option is used by clang and should also be visible in
flang. It is already handled by the toolchains used by both clang and
flang.
Reported issue: https://github.com/llvm/llvm-project/issues/82553
Commit: 1b8830c56abd01c9ab70bbbb71a00c2506cf2116
https://github.com/llvm/llvm-project/commit/1b8830c56abd01c9ab70bbbb71a00c2506cf2116
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix comparing to integral function pointers
We need to account for the fact that the Function pointer is not
accessible here. Add FunctionPointer::isWeak() for that.
Commit: ff9bc3a0fa4e3790c437e62450903bf399df37f9
https://github.com/llvm/llvm-project/commit/ff9bc3a0fa4e3790c437e62450903bf399df37f9
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
Log Message:
-----------
Fix overflows in complex sqrt lowering. (#88480)
This ports XLA's complex sqrt lowering. The accuracy was tested with its
exhaustive_unary_test_complex test.
Note: rsqrt is still broken.
Commit: 1e7763557bbace002b6bb811167942ebebf50f99
https://github.com/llvm/llvm-project/commit/1e7763557bbace002b6bb811167942ebebf50f99
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
A llvm/test/Transforms/LoopVectorize/LoongArch/reg-usage.ll
Log Message:
-----------
[LoongArch] Add support for getNumberOfRegisters() (#88372)
The `TTI` hooks are used during vectorization for calculating register
pressure. The default implementation defined wrong value for register
number (all register class are 8 registers).
This patch also defines LoongArch's own register classes.
Commit: a5ed14bc8e122fa5ac0aa81f8d8390931bd6b4e4
https://github.com/llvm/llvm-project/commit/a5ed14bc8e122fa5ac0aa81f8d8390931bd6b4e4
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrSSE.td
Log Message:
-----------
[X86][BF16] Fix a typo, NFCI
VR128X is not enabled under AVXNECONVERT.
Commit: ad4e1aba3fd12f81de71ce3985ae66ff80773d90
https://github.com/llvm/llvm-project/commit/ad4e1aba3fd12f81de71ce3985ae66ff80773d90
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/call-by-value.f90
Log Message:
-----------
[flang] Pass VALUE CHARACTER arg by register in BIND(C) calls (#87774)
Fortran mandates "CHARACTER(1), VALUE" be passed as a C "char" in calls
to BIND(C) procedures (F'2023 18.3.7 (4)). Lowering passed them by
memory instead. Update call interface lowering code to pass them by
register. Fix related test and update it to use HLFIR.
Commit: d488b2225d484027eb2c21a06d27decf008e878b
https://github.com/llvm/llvm-project/commit/d488b2225d484027eb2c21a06d27decf008e878b
Author: Beal Wang <colorfishes at outlook.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/lib/IR/Operation.cpp
M mlir/test/IR/properties.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ods] Do not print default-valued properties when the value is equal to the default (#87970)
This diff causes the `tblgen`-erated printProperties() function to skip
printing a `DefaultValuedAttr` property when the value is equal to the
default.
Co-authored-by: Biao Wang <biaow at nvidia.com>
Commit: d019b9aaaaa60c858ee82fdbaf5de16e048e9db2
https://github.com/llvm/llvm-project/commit/d019b9aaaaa60c858ee82fdbaf5de16e048e9db2
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Refactor `CXXSpecialMember`
In preparation for `SemaCUDA`, which requires this enum to be forward-declarable.
Commit: 9250aedb5cabf0e44c694f0c8e68ae03e937be89
https://github.com/llvm/llvm-project/commit/9250aedb5cabf0e44c694f0c8e68ae03e937be89
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/range-attribute.ll
Log Message:
-----------
[SCEV] Add range attribute handling (#88449)
Commit: 5d6b00929bd026d1448a5dd3a8341ea99b3befe1
https://github.com/llvm/llvm-project/commit/5d6b00929bd026d1448a5dd3a8341ea99b3befe1
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[NFC] Replace m_Sub(m_Zero(), X) with m_Neg(X) (#88461)
Commit: 0e6367236413e50599b49aff15b086088f152769
https://github.com/llvm/llvm-project/commit/0e6367236413e50599b49aff15b086088f152769
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Add omp.loop_nest operation (#87083)
This patch introduces an operation intended to hold loop information
associated to the `omp.distribute`, `omp.simdloop`, `omp.taskloop` and
`omp.wsloop` operations. This is a stopgap solution to unblock work on
transitioning these operations to becoming wrappers, as discussed in
[this
RFC](https://discourse.llvm.org/t/rfc-representing-combined-composite-constructs-in-the-openmp-dialect/76986).
Long-term, this operation will likely be replaced by
`omp.canonical_loop`, which is being designed to address missing support
for loop transformations, etc.
Commit: f5b2d24b59f168eaeed08b5f45bf0c8dfcc1c292
https://github.com/llvm/llvm-project/commit/f5b2d24b59f168eaeed08b5f45bf0c8dfcc1c292
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
Log Message:
-----------
[NVPTX] Move roundeven on bf16 into the sm_90 has it but sm_80 doesn't bucket
Commit: b24af43fdfa1b1242b7cb77540462212227c57c4
https://github.com/llvm/llvm-project/commit/b24af43fdfa1b1242b7cb77540462212227c57c4
Author: David Green <david.green at arm.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
M llvm/test/CodeGen/AArch64/misched-bundle.mir
M llvm/test/CodeGen/AArch64/sve-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-fpext-load.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll
M llvm/test/CodeGen/AArch64/sve-masked-gather-legalize.ll
M llvm/test/CodeGen/AArch64/sve-smulo-sdnode.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/sve2-xar.ll
Log Message:
-----------
[AArch64] Improve scheduling latency into Bundles (#86310)
By default the scheduling info of instructions into a BUNDLE are given a
latency of 0 as they operate on the implicit register of the bundle.
This modifies that for AArch64 so that the latency is adjusted to use
the latency from the instruction in the bundle instead. This essentially
assumes that the bundled instructions are executed in a single cycle,
which for AArch64 is probably OK considering they are mostly used for
MOVPFX bundles, where this can help create slightly better scheduling
especially for in-order cores.
Commit: 5fc8a190b37906cba3f175440abd79dabd8acc73
https://github.com/llvm/llvm-project/commit/5fc8a190b37906cba3f175440abd79dabd8acc73
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
A llvm/test/Transforms/CodeGenPrepare/LoongArch/lit.local.cfg
A llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
Log Message:
-----------
[LoongArch] Pre commit test for #88371. NFC
Commit: c39df496d73621238ba87de235d9a61e2b2203b9
https://github.com/llvm/llvm-project/commit/c39df496d73621238ba87de235d9a61e2b2203b9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[clang][NFC] Refactor `CUDAFunctionTarget`
Refactor `CUDAFunctionTarget` into a scoped enum at namespace scope, so that it can be forward declared. This is done in preparation for `SemaCUDA`.
Commit: 3bb147e05365680d0a954d823a7c014f357448e7
https://github.com/llvm/llvm-project/commit/3bb147e05365680d0a954d823a7c014f357448e7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-sse41-intrinsics.ll
Log Message:
-----------
[X86] combine-sse41-intrinsics.ll - add AVX2 test coverage
Commit: 8c0f52e9d5a99bf96bb64ac23b5893482c292527
https://github.com/llvm/llvm-project/commit/8c0f52e9d5a99bf96bb64ac23b5893482c292527
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) (#87925)
If the extract_subvector is cheap, attempt to extract directly from an inserted subvector
Commit: 78eac466095c205988ef1e2380033d042a169a3b
https://github.com/llvm/llvm-project/commit/78eac466095c205988ef1e2380033d042a169a3b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[Flang][OpenMP][Lower] Use clause operand structures (#86802)
This patch updates Flang lowering to use the new set of OpenMP clause
operand structures and their groupings into directive-specific sets of
clause operands.
It simplifies the passing of information from the clause processor and
the creation of operations.
The `DataSharingProcessor` is slightly modified to not hold delayed
privatization state. Instead, optional arguments are added to
`processStep1` which are only passed when delayed privatization is used.
This enables using the clause operand structure for `private` and
removes the need for the ad-hoc `DelayedPrivatizationInfo` structure.
The processing of the `schedule` clause is updated to process the
`chunk` modifier rather than requiring two separate calls to the
`ClauseProcessor`.
Lowering of a block-associated `ordered` construct is updated to emit a
TODO error if the `simd` clause is specified, since it is not currently
supported by the `ClauseProcessor` or later compilation stages.
Removed processing of `schedule` from `omp.simdloop`, as it doesn't
apply to `simd` constructs.
Commit: 33779b861d748ed18b8d4f9cbad3a84deaa95e9f
https://github.com/llvm/llvm-project/commit/33779b861d748ed18b8d4f9cbad3a84deaa95e9f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/complex-inc-dec.c
Log Message:
-----------
Reword a diagnostic; NFC
This diagnostic used to talk about complex integer types but is issued
for use of the increment or decrement operators on any complex type,
not just integral ones.
The diagnostic also had zero test coverage, so new coverage is added
along with the rewording.
Commit: 5ebeaf211551f9410e17b1134126daadd8b163ac
https://github.com/llvm/llvm-project/commit/5ebeaf211551f9410e17b1134126daadd8b163ac
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr19xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add tests for some CWG 5xx issues (#87909)
This patch covers
[CWG393](https://cplusplus.github.io/CWG/issues/393.html) "Pointer to
array of unknown bound in template argument list in parameter",
[CWG528](https://cplusplus.github.io/CWG/issues/528.html) "Why are
incomplete class types not allowed with `typeid`?",
[CWG550](https://cplusplus.github.io/CWG/issues/550.html) "Pointer to
array of unknown bound in parameter declarations",
[CWG553](https://cplusplus.github.io/CWG/issues/553.html) "Problems with
friend allocation and deallocation functions",
[CWG555](https://cplusplus.github.io/CWG/issues/555.html)
"Pseudo-destructor name lookup",
[CWG560](https://cplusplus.github.io/CWG/issues/560.html) "Use of the
`typename` keyword in return types".
CWG393 is on this list, because CWG550 is marked as a duplicate of
CWG393.
Test for CWG553 has been already written, but it was missing a status
comment. As a drive-by fix, I'm adding missing status comments to
CWG1584 and CWG1903 as well.
CWG555 used CWG466 test, and also a variation of that test to test
references. CWG466 is now testing non-reference non-pointer case.
CWG560 showcases again that converting warnings to errors in DR tests
via `-pedantic-errors` doesn't make things more clear. By default that
test is accepted with an extension warning since we implemented
[P0634R3](https://wg21.link/p0634r3) "Down with `typename`!" in Clang
16.
Commit: ab037c4ff3452a680efb758ccacb6ee210ce333b
https://github.com/llvm/llvm-project/commit/ab037c4ff3452a680efb758ccacb6ee210ce333b
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/abd-combine.ll
M llvm/test/CodeGen/AArch64/arm64-neon-aba-abd.ll
Log Message:
-----------
[DAG] computeKnownBits - add ISD::ABDU/ISD::ABDS handling #84905 (#88253)
Resolve #84905
Commit: 6ec467297db272d5ae8f76e695296bd4945dedc8
https://github.com/llvm/llvm-project/commit/6ec467297db272d5ae8f76e695296bd4945dedc8
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Adjust misleading comment & formatting (#88409)
This originally dealt with tbss, but now handles any bss-like section.
So the comment is inaccurate. Also, the `{}` on the messaging seem
unnecessary.
Commit: f220d26eb1ab5b588215acf538ca82bb3c8798cc
https://github.com/llvm/llvm-project/commit/f220d26eb1ab5b588215acf538ca82bb3c8798cc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
M flang/runtime/extensions.cpp
A flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Add ACCESS library procedure (#88395)
This is a GNU extension:
https://gcc.gnu.org/onlinedocs/gfortran/ACCESS.html
Used in SALMON:
https://salmon-tddft.jp/download.html
Unfortunately the intrinsic takes a file path to operate on so there
isn't an easy way to make the test robust. The unit test expects to be
able to create, set read write and execute permissions, and delete files
called
`std::filesystem::temp_directory_path() / <test_name>.<pid>`
The test will fail if a file already exists with that name.
I have not implemented the intrinsic on Windows because this is wrapping
a POSIX system call and Windows doesn't support all of the permission
bits tested by the intrinsic. I don't have a Windows machine easily
available to check if Gfortran implements this intrinsic on Windows.
Commit: 7e7468c9ed4e29fe8327525923fd8ab0169b1c07
https://github.com/llvm/llvm-project/commit/7e7468c9ed4e29fe8327525923fd8ab0169b1c07
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
M flang/runtime/extensions.cpp
R flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
Log Message:
-----------
Revert "[flang][runtime] Add ACCESS library procedure" (#88507)
Reverts llvm/llvm-project#88395
This broke the powerpc buildbot. That build doesn't support using
`std::filesystem` in flang unit tests.
Commit: ea3d0db130b9a6c4678c11dd8bc48e5630624b62
https://github.com/llvm/llvm-project/commit/ea3d0db130b9a6c4678c11dd8bc48e5630624b62
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfCastops - ensure we can scale shuffle masks between bitcasted vector types
Don't just assert that the src/dst vector element counts are multiples of one another - in general IR this can actually happen.
Reported by @mikaelholmen
Commit: 3fa830804e1b90d38d0a62084b5b65e70c83c345
https://github.com/llvm/llvm-project/commit/3fa830804e1b90d38d0a62084b5b65e70c83c345
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
Revert "[RISCV] RISCV vector calling convention (2/2) (#79096)" (#88511)
This reverts commit 29e8bfc13c6078ed07e6474e8c9634c42aa2f6f4.
This patch didn't handle vector return type correctly.
Commit: b4df0da9e8421c8026bd09980b8a6acd7a6ce8c9
https://github.com/llvm/llvm-project/commit/b4df0da9e8421c8026bd09980b8a6acd7a6ce8c9
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/half-alloca-promotion.ll
Log Message:
-----------
[AMDGPU] Fix a potential wrong return value indicating whether a pass modifies a function (#88197)
When the alloca is too big for vectorization, the function could have
already
been modified in previous iteration of the `for` loop.
Commit: 2a5ba4fb895931b7dc86f4304b0e64153a1175d4
https://github.com/llvm/llvm-project/commit/2a5ba4fb895931b7dc86f4304b0e64153a1175d4
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__iterator/counted_iterator.h
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
Log Message:
-----------
[libc++] LWG3643: Missing `constexpr` in `std::counted_iterator` (#87901)
This pull request implements LWG3643: Missing constexpr in
std::counted_iterator. Specifically, one overload of
std::counted_operator::operator++ was not marked as constexpr,
despite being eligible for it after the introduction of try-block
support in constexpr functions in C++20.
Commit: 5fa58e28f34f4b5b41dd2869212ac917fb42b2e3
https://github.com/llvm/llvm-project/commit/5fa58e28f34f4b5b41dd2869212ac917fb42b2e3
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split PseudoVFADD, PseudoVFSUB, and PseudoVFRSUB by SEW
Co-authored-by: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Commit: aece68269c8cb28e16dc5c4ec9aabecb807a0438
https://github.com/llvm/llvm-project/commit/aece68269c8cb28e16dc5c4ec9aabecb807a0438
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split PseudoVFWADD, PseudoVFWSUB, and PseudoVFWMUL by SEW
Co-authored-by: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Commit: d309d7e4fe51a0ff0ce6430a8af585e2af2772a3
https://github.com/llvm/llvm-project/commit/d309d7e4fe51a0ff0ce6430a8af585e2af2772a3
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split PseudoVFMUL by SEW
Co-authored-by: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Commit: c6b7944be4dfbb1fb35301c670812726845acaa7
https://github.com/llvm/llvm-project/commit/c6b7944be4dfbb1fb35301c670812726845acaa7
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split single width floating point fused multiple-add pseudo instructions by SEW
Co-authored-by: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Commit: 43248ffea7b8de3a33b11768e8c21d2434252528
https://github.com/llvm/llvm-project/commit/43248ffea7b8de3a33b11768e8c21d2434252528
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmf.ll
M llvm/test/CodeGen/RISCV/rvv/pass-fast-math-flags-sdnode.ll
Log Message:
-----------
[RISCV] Split widening floating point fused multiple-add pseudo instructions by SEW
Co-authored-by: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Commit: b8e1ff322104e5445371328a4fbc9c1d2bf82f01
https://github.com/llvm/llvm-project/commit/b8e1ff322104e5445371328a4fbc9c1d2bf82f01
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split PseudoVFRSQRT7 and PseudoVFREC7 by SEW
Co-authored-by: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Commit: f4e3226a6c2bd89247192e4aae395a8deb3868b1
https://github.com/llvm/llvm-project/commit/f4e3226a6c2bd89247192e4aae395a8deb3868b1
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/iterator
A libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
Log Message:
-----------
[libc++][ranges] LWG3736: move_iterator missing disable_sized_sentinel_for specialization (#85611)
This pull request implements LWG3736: move_iterator missing
disable_sized_sentinel_for specialization.
Commit: 9d8ccbc1be78fb4ba0ad1c6ead2dc04b24c66668
https://github.com/llvm/llvm-project/commit/9d8ccbc1be78fb4ba0ad1c6ead2dc04b24c66668
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/lang/objcxx/objc-builtin-types/main.cpp
Log Message:
-----------
[lldb][test] Add tests for evaluating local variables whose name clashes with Objective-C types (#87807)
Depends on https://github.com/llvm/llvm-project/pull/87767
Commit: bcf047a4ed9afc49f851156698a6d277ab2c00ea
https://github.com/llvm/llvm-project/commit/bcf047a4ed9afc49f851156698a6d277ab2c00ea
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
A llvm/test/CodeGen/ARM/simplifysetcc_narrow_load.ll
A llvm/test/CodeGen/PowerPC/simplifysetcc_narrow_load.ll
Log Message:
-----------
[ARM][PowerPC] Add regression tests for narrowing load in TargetLowering::SimplifySetCC
These test cases show some miscomplies for big-endian when dealing
with non byte-sized loads. One part of the problem is that LLVM IR
isn't really telling where the padding goes for non byte-sized
loads/stores. So currently TargetLowering::SimplifySetCC can't assume
anything about it. But the implementation also do not consider that
the TypeStoreSize could be larger than the TypeSize, resulting in
the offset calculation being wrong for big-endian.
Pre-commit for https://github.com/llvm/llvm-project/pull/87646
Commit: 33e6b488beda80dddb68016a132ee1f0a3c04aa1
https://github.com/llvm/llvm-project/commit/33e6b488beda80dddb68016a132ee1f0a3c04aa1
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/ARM/simplifysetcc_narrow_load.ll
M llvm/test/CodeGen/PowerPC/simplifysetcc_narrow_load.ll
Log Message:
-----------
[SelectionDAG] Fix and improve TargetLowering::SimplifySetCC (#87646)
The load narrowing part of TargetLowering::SimplifySetCC is updated
according to this:
1) The offset calculation (for big endian) did not work properly for
non byte-sized types. This is basically solved by an early exit
if the memory type isn't byte-sized. But the code is also corrected
to use the store size when calculating the offset.
2) To still allow some optimizations for non-byte-sized types the
TargetLowering::isPaddedAtMostSignificantBitsWhenStored hook is
added. By default it assumes that scalar integer types are padded
starting at the most significant bits, if the type needs padding
when being stored to memory.
3) Allow optimizing when isPaddedAtMostSignificantBitsWhenStored is
true, as that hook makes it possible for TargetLowering to know
how the non byte-sized value is aligned in memory.
4) Update the algorithm to always search for a narrowed load with
a power-of-2 byte-sized type. In the past the algorithm started
with the the width of the original load, and then divided it by
two for each iteration. But for a type such as i48 that would
just end up trying to narrow the load into a i24 or i12 load,
and then we would fail sooner or later due to not finding a
newVT that fulfilled newVT.isRound().
With this new approach we can narrow the i48 load into either
an i8, i16 or i32 load. By checking if such a load is allowed
(e.g. alignment wise) for any "multiple of 8 offset", then we can find
more opportunities for the optimization to trigger. So even for a
byte-sized type such as i32 we may now end up narrowing the load
into loading the 16 bits starting at offset 8 (if that is allowed
by the target). The old algorithm did not even consider that case.
5) Also start using getObjectPtrOffset instead of getMemBasePlusOffset
when creating the new ptr. This way we get "nsw" on the add.
Commit: 2c2377d3a9305b86ab110a4f8390b2d16bff9510
https://github.com/llvm/llvm-project/commit/2c2377d3a9305b86ab110a4f8390b2d16bff9510
Author: Adam Fowler <adamfowler71 at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M lldb/cmake/caches/Apple-lldb-macOS.cmake
Log Message:
-----------
Add lldb-dap to Swift distributions (#88482)
This includes the lldb-dap executable in the MacOS and Linux
distributions of Swift. Currently there is a commit in the Apple repo to
do this for just MacOS https://github.com/apple/llvm-project/pull/8176.
This PR extends this to both Linux and MacOS and brings the change
upstream.
@JDevlieghere @adrian-prantl
Commit: 986d0dba85f3239671c5151d9817b73de08664a0
https://github.com/llvm/llvm-project/commit/986d0dba85f3239671c5151d9817b73de08664a0
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
A clang/test/AST/ast-dump-default-arg-json.cpp
A clang/test/AST/ast-dump-default-init-json.cpp
A clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/unittests/AST/ASTTraverserTest.cpp
Log Message:
-----------
[Clang] Fix AST dump for {CXXDefaultArgExpr, CXXDefaultInitExpr} (#88269)
This PR fix a AST dump issue since
https://github.com/llvm/llvm-project/pull/80001
When Clang dumps `CXXDefaultArgExpr`/`CXXDefaultInitExpr`, there has no
recursively dump the complete `CXXDefaultArgExpr`/`CXXDefaultInitExpr`.
Since this PR, Clang will recursively dump a
`CXXDefaultArgExpr`/`CXXDefaultInitExpr` node, even if the node has no
rewritten init.
*Consider*:
```
struct A {
int arr[1];
};
struct B {
const A &a = A{{0}};
};
void test() {
B b{};
}
```
*Before*:
```
`-FunctionDecl <line:9:1, line:11:1> line:9:6 test 'void ()'
`-CompoundStmt <col:13, line:11:1>
`-DeclStmt <line:10:3, col:8>
`-VarDecl <col:3, col:7> col:5 b 'B' listinit
`-InitListExpr <col:6, col:7> 'B'
`-CXXDefaultInitExpr <col:7> 'const A' lvalue has rewritten init
`-ExprWithCleanups <line:6:16, col:21> 'const A' lvalue
```
*After*:
```
`-FunctionDecl 0x15a9455a8 <line:9:1, line:11:1> line:9:6 test 'void ()'
`-CompoundStmt 0x15a945850 <col:13, line:11:1>
`-DeclStmt 0x15a945838 <line:10:3, col:8>
`-VarDecl 0x15a945708 <col:3, col:7> col:5 b 'B' listinit
`-InitListExpr 0x15a9457b0 <col:6, col:7> 'B'
`-CXXDefaultInitExpr 0x15a9457f8 <col:7> 'const A' lvalue has rewritten init
`-ExprWithCleanups 0x15a945568 <line:6:16, col:21> 'const A' lvalue
`-MaterializeTemporaryExpr 0x15a945500 <col:16, col:21> 'const A' lvalue extended by Field 0x15a945160 'a' 'const A &'
`-ImplicitCastExpr 0x15a9454e8 <col:16, col:21> 'const A' <NoOp>
`-CXXFunctionalCastExpr 0x15a9454c0 <col:16, col:21> 'A' functional cast to A <NoOp>
`-InitListExpr 0x15a9452c0 <col:17, col:21> 'A'
`-InitListExpr 0x15a945308 <col:18, col:20> 'int[1]'
`-IntegerLiteral 0x15a945210 <col:19> 'int' 0
```
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: a27ab3f54377a0addeef1ec9ba7c826fd885a304
https://github.com/llvm/llvm-project/commit/a27ab3f54377a0addeef1ec9ba7c826fd885a304
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/asanrtl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/hip.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ockl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1010.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1011.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1012.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_803.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_900.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_908.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ocml.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/opencl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/asanrtl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/hip.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ockl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_400.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_500.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1010.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1011.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1012.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_803.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_900.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_908.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ocml.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/opencl.bc
A flang/test/Driver/Inputs/rocm/bin/.hipVersion
A flang/test/Driver/Inputs/rocm/include/hip/hip_runtime.h
A flang/test/Driver/Inputs/rocm/share/hip/hipVersion
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[Flang][AMDGPU] Add rocm-path flag (#88190)
ROCm installation path is used for finding and automatically linking
required bitcode libraries for OpenMP AMDGPU offload.
Reported issue: https://github.com/llvm/llvm-project/issues/82553
Commit: 5752e3196bc52fdac70e3650abc703570ff6209b
https://github.com/llvm/llvm-project/commit/5752e3196bc52fdac70e3650abc703570ff6209b
Author: Vincent Belliard <81770341+v-bulle at users.noreply.github.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M lldb/source/DataFormatters/TypeCategoryMap.cpp
Log Message:
-----------
[lldb] fix dead lock in TypeCategoryMap.cpp (#87540)
FormatManager::GetCategoryForLanguage and
FormatManager::GetCategory(can_create = true) can be called concurrently
and they both take the TypeCategory::m_map_mutex and the
FormatManager::m_language_categories_mutex but in reverse order.
On one thread, GetCategoryForLanguage takes m_language_categories_mutex
and then ends calling TypeCategoryMap::Get which takes m_map_mutex
On another thread GetCategory calls TypeCategoryMap::Add which takes
m_map_mutex and then calls FormatManager::Changed() which takes
m_language_categories_mutex
If both threads are running concurrently, we have a dead lock.
The patch releases the m_map_mutex before calling Changed which avoids
the dead lock.
---------
Co-authored-by: Vincent Belliard <v-bulle at github.com>
Commit: 4dd20b0728223ff20f4817edc2f89901385cb990
https://github.com/llvm/llvm-project/commit/4dd20b0728223ff20f4817edc2f89901385cb990
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Refactor relocation loop (#88424)
Use the std `if () continue;` idiom before falling into the
processing.
Commit: 040efafa9fef101924d3cf67db20f6429ce1c871
https://github.com/llvm/llvm-project/commit/040efafa9fef101924d3cf67db20f6429ce1c871
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
A llvm/test/CodeGen/RISCV/pr88365.ll
Log Message:
-----------
[RISCV] Support uimm32 immediates in RISCVInstrInfo::movImm for RV32. (#88464)
This allows us to support larger stack offsets for FrameLowering.
Fixes #88365.
Commit: 72dfee114bd38dc4b424d392bc14cd6b7dfb79e5
https://github.com/llvm/llvm-project/commit/72dfee114bd38dc4b424d392bc14cd6b7dfb79e5
Author: Francis Visoiu Mistrih <890283+francisvm at users.noreply.github.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
Log Message:
-----------
[RISCV] Remove mayLoad = 1 from store-conditional (#88470)
lr.[wd]: mayLoad = 1, mayStore = 0
sc.[wd]: mayLoad = 0, mayStore = 1
all other AMOs: mayLoad = 1, mayStore = 1
Commit: e0a628715a8464e220c8ba9e9aaaf2561139198a
https://github.com/llvm/llvm-project/commit/e0a628715a8464e220c8ba9e9aaaf2561139198a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/InstCombine/icmp-dom.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Convert `isKnownNonZero` to use SimplifyQuery (#85863)
This patch converts `isKnownNonZero` to use SimplifyQuery. Then we can
use the context information from `DomCondCache`.
Fixes https://github.com/llvm/llvm-project/issues/85823.
Alive2: https://alive2.llvm.org/ce/z/QUvHVj
Commit: 6f1e23b47d428d792866993ed26f4173d479d43d
https://github.com/llvm/llvm-project/commit/6f1e23b47d428d792866993ed26f4173d479d43d
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/test/Dialect/Bufferization/Transforms/tensor-copy-insertion.mlir
M mlir/test/Dialect/SparseTensor/sparse_sddmm.mlir
Log Message:
-----------
[MLIR][Bufferization] Choose default memory space in tensor copy insertion (#88500)
Tensor copy insertion currently uses memory_space = 0 when creating a
tensor copy using alloc_tensor. This memory space should instead be the
default memory space provided in bufferization options.
Commit: b614e5b0340f783ad355899248c52cb22a04b014
https://github.com/llvm/llvm-project/commit/b614e5b0340f783ad355899248c52cb22a04b014
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/test/MC/Disassembler/SystemZ/insns.txt
M llvm/test/MC/Disassembler/SystemZ/invalid-regs.txt
M llvm/test/MC/SystemZ/insn-good.s
Log Message:
-----------
[SystemZ] Add missing (dis-)assembly tests. (#88498)
### Assembly Tests
This adds assembly tests for
```
lcdfr, lndfr, lpdfr
```
### Disassembly Tests
This also adds a number of disassembly tests for the following
menmonics:
```
cgit, cgrt, cit, clfit, clgit, clgrt, clgt, clrt, clt, crt, lcdfr, lndfr, lpdfr
```
For `cutfu` / `cu12`, it also adds a check for bad register choice.
Commit: b794dc23255505dd7735f995b8ff1192305a072e
https://github.com/llvm/llvm-project/commit/b794dc23255505dd7735f995b8ff1192305a072e
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll
A llvm/test/CodeGen/SystemZ/vec-reduce-add-01.ll
Log Message:
-----------
[SystemZ] Add custom handling of legal vectors with reduce-add. (#88495)
This commit skips the expansion of the `vector.reduce.add` intrinsic on
vector-enabled SystemZ targets in order to introduce custom handling of
`vector.reduce.add` for legal vector types using the VSUM instructions.
This is limited to full vectors with scalar types up to `i32` due to
performance concerns.
It also adds testing for the generation of such custom handling, and
adapts the related cost computation, as well as the testing for that.
The expected result is a performance boost in certain benchmarks that
make heavy use of `vector.reduce.add` with other benchmarks remaining
constant.
For instance, the assembly for `vector.reduce.add<4 x i32>` changes from
```hlasm
vmrlg %v0, %v24, %v24
vaf %v0, %v24, %v0
vrepf %v1, %v0, 1
vaf %v0, %v0, %v1
vlgvf %r2, %v0, 0
```
to
```hlasm
vgbm %v0, 0
vsumqf %v0, %v24, %v0
vlgvf %r2, %v0, 3
```
Commit: 8d468c132eed7ffe34d601b224220efd51655eb3
https://github.com/llvm/llvm-project/commit/8d468c132eed7ffe34d601b224220efd51655eb3
Author: Evan Wilde <etceterawilde at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
Log Message:
-----------
NFC: Make clang resource headers an interface library (#88317)
Making the clang resource headers into an interface library instead of a
custom target means that we can attach the header search paths to the
library. Targets that "link" against this library will automatically
have the appropriate paths added to their header search paths to find
them. Then downstream projects that embed a copy of clang can query the
generated `ClangTargets.cmake` file for the header location instead of
attempting to compute them.
Commit: 05d8b5e62d7a1cf2f94582346d6fd2d39667a26b
https://github.com/llvm/llvm-project/commit/05d8b5e62d7a1cf2f94582346d6fd2d39667a26b
Author: JOSTAR <52376093+shenjunjiekoda at users.noreply.github.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/test/Analysis/invalidated-iterator.cpp
Log Message:
-----------
[analyzer] Support `PointerType` in `getCXXRecordDecl` for `ContainerModeling` (#87787)
Commit: 37575f5262d0e37a1e0b10c59fb8f59182cfe951
https://github.com/llvm/llvm-project/commit/37575f5262d0e37a1e0b10c59fb8f59182cfe951
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[NFC][ValueTracking] Fix Wunused-variable
For e0a628715a8464e220c8ba9e9aaaf2561139198a
Commit: 54a6798e0a3630e705ed32dbbd63414a16331085
https://github.com/llvm/llvm-project/commit/54a6798e0a3630e705ed32dbbd63414a16331085
Author: Edwin Vane <revane at google.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
Log Message:
-----------
[clang-tidy] Simplify RenamerClangTidyCheck API (#88268)
Some functions allow a null SourceManager, no SourceManager, or a
SourceManager in an inconsistent argument position. Since SourceManager
is generally not null and it doesn't make sense to apply renaming
without one, these inconsistencies are now gone.
Commit: 3652b2a877c3691b524a19bc38b338f1ba1dde37
https://github.com/llvm/llvm-project/commit/3652b2a877c3691b524a19bc38b338f1ba1dde37
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/test/OpenMP/atomic_update_codegen.cpp
Log Message:
-----------
[clang][CodeGen][OpenMP] Fix casting of atomic update of ptr types (#88215)
In 4d5e834c5b7f0ccccd90a6d543e182df602f6bc8, casts were removed for
pointers but one case was missed. Add missing check.
Commit: d61edecbfd099143e0e2617505fec921524938f8
https://github.com/llvm/llvm-project/commit/d61edecbfd099143e0e2617505fec921524938f8
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTestComments.cpp
Log Message:
-----------
[clang-format] Fix a regression in ContinuationIndenter (#88414)
Commit d06b92391513 caused a regression that breaks after a block
comment adjacent to a function paramter that follows.
Fixes #86573.
Commit: dcd097c475163b9bd41ff009a9157e86c6f2f171
https://github.com/llvm/llvm-project/commit/dcd097c475163b9bd41ff009a9157e86c6f2f171
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Function.cpp
Log Message:
-----------
Add IIT_V6 to support 6-element vectors in intrinsics. (#88196)
Needed for the future patch.
Commit: 6a85cf8fc0437d4885fc829948befe32c1e5a21d
https://github.com/llvm/llvm-project/commit/6a85cf8fc0437d4885fc829948befe32c1e5a21d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Verify SPLAT_VECTOR nodes when they are created. (#88305)
This applies the same rules we have for the scalar operands of a
BUILD_VECTOR where the scalar type must match the element type or for
integer vectors we allow the scalar type to be larger than the element
type. Hexagon uses i32 for an FP zero vector so we allow that as an
exception.
Commit: 7cafe04e0d74c1e9f7e3871a0bcdf4ccb1c89f0c
https://github.com/llvm/llvm-project/commit/7cafe04e0d74c1e9f7e3871a0bcdf4ccb1c89f0c
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/mdspan
M libcxx/include/span
M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/deduct.pass.cpp
Log Message:
-----------
[libc++] P3029R1: Better `mdspan`'s CTAD (#87873)
## Abstract
This pull request implements [P3029R1](https://wg21.link/P3029R1). The
paper discusses the current behavior of `mdspan`'s most common
pointer-indices CTAD, where the `Extents` template parameter is deduced
as `dextents` (dynamic extents), even when passing compile-time constant
values. The author believes this behavior is suboptimal, as it doesn't
take advantage of the compile-time information. The proposed change
suggests deducing static extents if `integral_constant`-like constants
are passed, resulting in more intuitive syntax and less error-prone
code.
## Reference
- [P3029R1](https://wg21.link/P3029R1)
- [Draft C++ Standard: [span.syn]](https://eel.is/c++draft/span.syn)
- [Draft C++ Standard: [mdspan.syn]](https://eel.is/c++draft/mdspan.syn)
Commit: fe59cb256289d9f2f6ebe75571389f3cc90bbdec
https://github.com/llvm/llvm-project/commit/fe59cb256289d9f2f6ebe75571389f3cc90bbdec
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
Log Message:
-----------
[clang][deps] NFCI: Extract `FilenameForLookup` into new function
This is an NFC change split from https://github.com/llvm/llvm-project/pull/68645.
Commit: edd7fed9da48c0e708cce9bd4d305ae43d8bd77c
https://github.com/llvm/llvm-project/commit/edd7fed9da48c0e708cce9bd4d305ae43d8bd77c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/FileCollector.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[llvm][vfs] NFCI: Remove `const` from `VFS::getRealPath()`
This is an NFC change split from https://github.com/llvm/llvm-project/pull/68645.
Commit: c11976f525f3b9b9dc6080f0b23d2ef1ec5fe8fd
https://github.com/llvm/llvm-project/commit/c11976f525f3b9b9dc6080f0b23d2ef1ec5fe8fd
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/unittests/Tooling/CMakeLists.txt
R clang/unittests/Tooling/DependencyScannerTest.cpp
A clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
Log Message:
-----------
[clang][deps] Create separate unittest directory
This is an NFC change split from https://github.com/llvm/llvm-project/pull/68645.
Commit: a11a4324bb27c01e7a005e1a7f49fb8284098e8c
https://github.com/llvm/llvm-project/commit/a11a4324bb27c01e7a005e1a7f49fb8284098e8c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/unittests/Tooling/CMakeLists.txt
A clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][deps] Cache `VFS::getRealPath()` (#68645)
This PR starts caching calls to
`DependencyScanningWorkerFilesystem::getRealPath()` that we use whenever
we canonicalize module map path. In the case of the real VFS, this
functions performs an expensive syscall that we'd like to do as rarely
as possible.
This PR keeps the real path out of `CachedFileSystemEntry`, since that's
**immutable**; populating the real path on creation of this data
structure (every stat/open) would be expensive.
Commit: 2620ccc3cdebcaa53b96b5f4d79ffe3951534e07
https://github.com/llvm/llvm-project/commit/2620ccc3cdebcaa53b96b5f4d79ffe3951534e07
Author: Kalesh Singh <kaleshsingh96 at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/android-link.cpp
Log Message:
-----------
ANDROID: x86_64: Set default max-page-size to 16kB (#87413)
Android now supports both 4kB and 16kB page sizes. The vast majority of
android apps are developed on x86_64 machines. In order to provide
emulators that support larger page sizes, Android emulates the page-size
in x86_64 to support testing apps for large page size support.
For this reason, update Android x86_64 ELFs default max-page-size to
16384 to support both 4kB and 16kB page-size devices.
Increase max-page-size raises concerns of increased disk space and extra
VMA slab memory.
In Android, RO partitions use sparse images, so that the holes on ELFs
don't allocate blocks on disk; and PackageManager ensures to punch holes
in ELF-paddings on the /data partition when apps are installed.
Extra VMA slab memory is addressed by the bionic loader, which extends
segment VMAs to cover the gaps between consecutive segment mappings, to
avoid the extra VMAs needed for the gap PROT_NONE mappings (---p). This
optimization is done in the crt_pad_segment note [1] is present in the
ELF.
[1]
https://cs.android.com/android/platform/superproject/main/+/189e480390ef13199d59e1fb54078e8b78ea6f79:bionic/libc/arch-common/bionic/crt_pad_segment.S
---------
Signed-off-by: Kalesh Singh <kaleshsingh at google.com>
Co-authored-by: Kalesh Singh <kaleshsingh at google.com>
Commit: 446d38c65f72fd5d242a64182b05683577f683d3
https://github.com/llvm/llvm-project/commit/446d38c65f72fd5d242a64182b05683577f683d3
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M lldb/unittests/Host/FileSystemTest.cpp
Log Message:
-----------
[lldb] Fix test build failure
Caused by commit edd7fed9da48c0e708cce9bd4d305ae43d8bd77c
Commit: 9022d9c102a8c47616fbeb6a45b015db6bd2c17a
https://github.com/llvm/llvm-project/commit/9022d9c102a8c47616fbeb6a45b015db6bd2c17a
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M compiler-rt/lib/xray/xray_trampoline_AArch64.S
M compiler-rt/lib/xray/xray_trampoline_x86_64.S
Log Message:
-----------
[xray] Apply default visibility to __xray_CustomEvent/__xray_TypedEvent
`__xray_customevent` and `__xray_typedevent` are built-in functions in
Clang. With -fxray-instrument, they are lowered to `__xray_CustomEvent`
(with 2 arguments) or `__xray_TypedEvent` (with 3 arguments).
xray patching is supported for shared objects, but they may contain
`__xray_customevent` and `__xray_typedevent` references that need to be
satisfied by default visibility definitions exported by the executable.
lld since df54f627fad789ccb11c72a9fddf116decbeba0e, like GNU ld, catches
the scenario at link time.
Commit: 4b0beb4f5ec42aea58461df7994e2fa40f335bb6
https://github.com/llvm/llvm-project/commit/4b0beb4f5ec42aea58461df7994e2fa40f335bb6
Author: jimingham <jingham at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M lldb/bindings/interface/SBFrameExtensions.i
M lldb/test/API/python_api/frame/TestFrames.py
Log Message:
-----------
Reapply "Fix error in unrecognized register name handling for "SBFram…e.register"" (#88468)" (#88535)
The only change is a fix for the "register" iterator test to not rely on
particular register names.
I mistook where the artificial "pc" register is generated. It isn't
added to the register list or the register sets (except on arm where
that's the name of the actual register), so I can't use it in this test.
I instead just assert that the "register" generator produces the same
list as flattening the register sets from "registers".
This reverts commit 9f14914753599f3879e4c273191959e2f1b3632c.
Commit: 83dc41992dc602070f5429e2717352f60aad931c
https://github.com/llvm/llvm-project/commit/83dc41992dc602070f5429e2717352f60aad931c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Clean up writer traits (NFC) (#88549)
RecordWriter does not live past the end of writeMemProfRecords, so it
can be safely on stack.
The constructor of FrameWriter does not take any parameter, so we can
let OnDiskChainedHashTableGenerator::Emit (with a single parameter)
default-construct an instance of the writer trait inside Emit.
Commit: 0318ce8552896df7b180ee5481463eada65c755e
https://github.com/llvm/llvm-project/commit/0318ce8552896df7b180ee5481463eada65c755e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
A clang/test/C/C99/n809.c
A clang/test/C/C99/n809_2.c
A clang/test/C/C99/n809_3.c
M clang/www/c_status.html
Log Message:
-----------
[C99] Claim conformance for _Complex support (#88161)
There's so much overlap between the cited papers so this condenses the
status page into a single entry rather than trying to test conformance
against multiple papers doing conflicting things.
Commit: b074f25329501487e312b59e463a2d5f743090f8
https://github.com/llvm/llvm-project/commit/b074f25329501487e312b59e463a2d5f743090f8
Author: elizabethandrews <elizabeth.andrews at intel.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpState.h
M clang/lib/Sema/SemaAPINotes.cpp
Log Message:
-----------
[NFC][Clang] Fix static analyzer concern (#88179)
Fix static analyzer concerns about dereferencing
null values.
Commit: c777c011a709dffd4fa5e79cad7947b7c3405d02
https://github.com/llvm/llvm-project/commit/c777c011a709dffd4fa5e79cad7947b7c3405d02
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vscale.ll
Log Message:
-----------
[GlobalIsel] Import vscale (#88240)
https://github.com/llvm/llvm-project/pull/84542
Commit: a9111d4a26514e169ca57c11e6533ca7c5408832
https://github.com/llvm/llvm-project/commit/a9111d4a26514e169ca57c11e6533ca7c5408832
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang] Remove unused variable in test
Commit: 6dbd4bb3b4c00d62bf1552e54e4370c6816ea060
https://github.com/llvm/llvm-project/commit/6dbd4bb3b4c00d62bf1552e54e4370c6816ea060
Author: Jing Wang <2019426+jingw at users.noreply.github.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/docs/ClangFormat.rst
M clang/lib/Format/Format.cpp
M clang/test/Format/lit.local.cfg
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Add txtpb to the list of supported TextProto extensions (#88355)
According to
https://protobuf.dev/reference/protobuf/textformat-spec/#text-format-files,
txtpb is the canonical extension
Co-authored-by: Jing Wang <99jingw at gmail.com>
Commit: 4078afc6d23e25df6baedad61b224ef86a94d42f
https://github.com/llvm/llvm-project/commit/4078afc6d23e25df6baedad61b224ef86a94d42f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Semantics/OpenMP/clause-validity01.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[LLVM][OpenMP] Add "nowait" clause as valid for "workshare" (#88426)
Add the "nowait" clause to the list of allowed clauses for the "workshare"
directive. This will make it consistent with other directives (which are
shared between C/C++ and Fortran).
The parser will still reject "nowait" on "!$omp workshare", so this has no
effect on accepting/rejecting Fortran source code.
Commit: 41ff91e143a72dcd5755c9ad2160cf3c333b50c6
https://github.com/llvm/llvm-project/commit/41ff91e143a72dcd5755c9ad2160cf3c333b50c6
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
Reapply "[libc][math][c23] Add remaining linux/* entrypoints for {,u}fromfp{,x}* (#86692)" (#88567)
This reverts commit 8a071678a9091d536eae29912ca7be6238105956.
The test failure on 32-bit Arm should have been fixed by #86892.
cc @nickdesaulniers @lntue
Commit: 5300a6731e98fbcf7bca68374e934de737166698
https://github.com/llvm/llvm-project/commit/5300a6731e98fbcf7bca68374e934de737166698
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP] Fix re-locking hang found in issue 86684 (#88539)
This was initially reported here (including stacktraces):
https://stackoverflow.com/questions/78183545/does-compiling-imagick-with-openmp-enabled-in-freebsd-13-2-cause-sched-yield
If `__kmp_register_library_startup()` detects that another instance of
the library is present, `__kmp_is_address_mapped()` is eventually
called. which uses `kmpc_alloc()` to allocate memory. This function
calls `__kmp_entry_thread()` to access the thread-local memory pool,
which is a bad idea during initialization. This macro internally calls
`__kmp_get_global_thread_id_reg()` which sets the bootstrap lock at the
beginning (before calling `__kmp_register_library_startup()`).
The fix is to use `KMP_INTERNAL_MALLOC()`/`KMP_INTERNAL_FREE()` instead
of `kmpc_malloc()`/`kmpc_free()`. `KMP_INTERNAL_MALLOC` and
`KMP_INTERNAL_FREE` do not use any bootstrap locks. They just translate
to `malloc()`/`free()` and are meant to be used during library
initialization before other library-specific allocators have been
initialized.
Fixes: #86684
Commit: dfafe3822b1e59f938c256c25a92a7b555f78469
https://github.com/llvm/llvm-project/commit/dfafe3822b1e59f938c256c25a92a7b555f78469
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
Reland "[compiler-rt] Allow running tests without installing first"
Currently, the testsuite uses the default runtimes path to find the
runtimes libraries which may or may not match the just-built runtimes.
This change uses the `-resource-dir` flag for clang whenever
`COMPILER_RT_TEST_STANDALONE_BUILD_LIBS` is set to ensure that we are
actually testing the currently built libraries rather than the ones
bundled with `${COMPILER_RT_TEST_COMPILER}`.
The existing logic works fine when clang and compiler-rt share the same
build directory ``-DLLVM_ENABLE_PROJECTS=clang;compiler-rt`, but when
building compiler-rt separately we need to tell the compiler used for
the tests where it can find the just-built libraries.
This reduces the fixes check-all failures to one in my configuration:
```
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja
-DCMAKE_C_COMPILER=$HOME/output/upstream-llvm/bin/clang
-DCMAKE_CXX_COMPILER=$HOME/output/upstream-llvm/bin/clang++
-DCOMPILER_RT_INCLUDE_TESTS=ON
-DLLVM_EXTERNAL_LIT=$HOME/build/upstream-llvm-project-build/bin/llvm-lit
-DLLVM_CMAKE_DIR=$HOME/output/upstream-llvm
-DCOMPILER_RT_DEBUG=OFF
-S $HOME/src/upstream-llvm-project/compiler-rt
-B $HOME/src/upstream-llvm-project/compiler-rt/cmake-build-all-sanitizers
```
This relands the previous PR with fixes for Windows.
Depends on https://github.com/llvm/llvm-project/pull/88074 to be merged
first for GCC buildbots.
Pull Request: https://github.com/llvm/llvm-project/pull/88075
Commit: 588987405a979f724ab0aa7ad788cc5e87af3649
https://github.com/llvm/llvm-project/commit/588987405a979f724ab0aa7ad788cc5e87af3649
Author: Artem Chikin <achikin at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[llvm][vfs] Make vfs::FileSystem::exists() virtual NFC (#88575)
Allow a `vfs::FileSystem` to provide a more efficient implementation of
`exists()` if they are able to. The existing `FileSystem`
implementations continue to default to using `status()` except that
overlay, proxy, and redirecting filesystems are taught to forward calls
to `exists()` correctly to their wrapped/external filesystem.
Co-authored-by: Ben Langmuir <blangmuir at apple.com>
Commit: 62624a4bfed4ea468dcb677b799aee3518a24bf7
https://github.com/llvm/llvm-project/commit/62624a4bfed4ea468dcb677b799aee3518a24bf7
Author: Harrison,Hao <57025411+TSWorld1314 at users.noreply.github.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Support/Parallel.cpp
Log Message:
-----------
[Support] Fix the issue where the character being saved in Unicode causes a warning to be treated as an error in Visual Studio 2022. (#88513)
Fix the issue where the character being saved in Unicode causes a
warning to be treated as an error in Visual Studio 2022.
![image](https://github.com/llvm/llvm-project/assets/57025411/07353525-6520-4b74-b4f5-5b3f5afc47e1)
Commit: 8a4b7de91dc334c828674aa2cad927c6ffb9cf37
https://github.com/llvm/llvm-project/commit/8a4b7de91dc334c828674aa2cad927c6ffb9cf37
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Make TTIRef capture argument instead of outer declaration.
Commit: 0f82469314f34a086669dfcd190a9f89260fbee5
https://github.com/llvm/llvm-project/commit/0f82469314f34a086669dfcd190a9f89260fbee5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
M llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
Log Message:
-----------
[Passes] Run SimpleLoopUnswitch after introducing invariant branches. (#81271)
IndVars may be able to replace a loop dependent condition with a loop
invariant one, but loop-unswitch runs before IndVars, so the invariant
check remains in the loop.
For an example, consider a read-only loop with a bounds check:
https://godbolt.org/z/8cdj4qhbG
This patch uses a approach similar to the way extra cleanup passes are
run on demand after vectorization (added in acea6e9cfa4c4a0e8678c7).
It introduces a new ShouldRunExtraSimpleLoopUnswitch analysis marker,
which IndVars can use to indicate that extra unswitching is beneficial.
ExtraSimpleLoopUnswitchPassManager uses this analysis to determine
whether to run its passes on a loop.
Compile-time impact (geomean) ranges from +0.0% to 0.02%
https://llvm-compile-time-tracker.com/compare.php?from=138c0beb109ffe47f75a0fe8c4dc2cdabe8a6532&to=19e6e99eeb280d426907ea73a21b139ba7225627&stat=instructions%3Au
Compile-time impact (geomean) of unconditionally running
SimpleLoopUnswitch ranges from +0.05% - +0.16%
https://llvm-compile-time-tracker.com/compare.php?from=138c0beb109ffe47f75a0fe8c4dc2cdabe8a6532&to=2930dfd5accdce2e6f8d5146ae4d626add2065a2&stat=instructions:u
Unconditionally running SimpleLoopUnswitch seems to indicate that there
are multiple other scenarios where we fail to run unswitching when
opportunities remain.
Fixes https://github.com/llvm/llvm-project/issues/85551.
PR: https://github.com/llvm/llvm-project/pull/81271
Commit: c6cd4608c8c4a5356ae41ef05e67df3dc5d9500b
https://github.com/llvm/llvm-project/commit/c6cd4608c8c4a5356ae41ef05e67df3dc5d9500b
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/threadlocal-pass.ll
A llvm/test/Verifier/threadlocal.ll
Log Message:
-----------
IRVerifier: Allow GlobalValue as llvm.threadlocal.address operand (#88321)
Loosen `llvm.threadlocal.address` verifier checks to allow any
`GlobalValue` with `isThreadLocal()` set to true.
Commit: daa88364df15683bfa0e58d62cc96d33cd49d34b
https://github.com/llvm/llvm-project/commit/daa88364df15683bfa0e58d62cc96d33cd49d34b
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/OpenACCClause.h
A clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-if-clause.c
A clang/test/SemaOpenACC/compute-construct-if-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'if' clause for Compute Constructs (#88411)
Like with the 'default' clause, this is being applied to only Compute
Constructs for now. The 'if' clause takes a condition expression which
is used as a runtime value.
This is not a particularly complex semantic implementation, as there
isn't much to this clause, other than its interactions with 'self',
which will be managed in the patch to implement that.
Commit: 7b6b023121fe7d612dc571de0ff3dcaaf8477765
https://github.com/llvm/llvm-project/commit/7b6b023121fe7d612dc571de0ff3dcaaf8477765
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf11.cuf
Log Message:
-----------
[flang][cuda] Fix crash in semantic (#88577)
Fix for #88451
Do not perform semantic check about data transfer on assignment
statement in device context.
Commit: 900be9013fdc3bab9fce906f8a71e59ecd8873b4
https://github.com/llvm/llvm-project/commit/900be9013fdc3bab9fce906f8a71e59ecd8873b4
Author: Victor Toni <ViToni at users.noreply.github.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M libc/src/__support/str_to_float.h
M llvm/lib/Analysis/LoopCacheAnalysis.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/JumpThreading/free_instructions.ll
M llvm/utils/lint/common_lint.py
Log Message:
-----------
Fix typos (#88565)
Commit: 2996cb7970fb536d7db1088d571dc8d2f9ad35fa
https://github.com/llvm/llvm-project/commit/2996cb7970fb536d7db1088d571dc8d2f9ad35fa
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M libc/docs/stdbit.rst
M libc/utils/docgen/docgen.py
A libc/utils/docgen/stdbit.json
Log Message:
-----------
[libc][docs] use docgen to generate stdbit rst docs (#88540)
Closes #88066.
Compared to before, the function names in the stdbit table are sorted by
function name, not order-of-appearance in the standard. Since macros
aren't printed by docgen.py and are still a TODO in the code, they are
also not printed in the new stdbit.h docs.
Adds some checks to docgen.py for conditions that tripped me up.
Add code to docgen.py to add the include of the `|check|` rewriter,
since all other generated files need it.
Commit: eaa3947106e50d6d837e6681fb55cf92c2bb0f9a
https://github.com/llvm/llvm-project/commit/eaa3947106e50d6d837e6681fb55cf92c2bb0f9a
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
Log Message:
-----------
[NFC] Remove unused type alias in OpenACC
Leftover from a previous commit, this ends up not being used, so remove
it.
Commit: a472e6473e6921f22427d41c3d29e9a26eb4ab32
https://github.com/llvm/llvm-project/commit/a472e6473e6921f22427d41c3d29e9a26eb4ab32
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[NFC][OpenACC] Rename visitor functions to omit redundant OpenACC
While working on a followup patch, it became clear that this extra bit
of 'OpenACC' before each clause name was redundant with the visitors, so
remove it to make this a little less verbose.
Commit: db8e182952573fa9198424a6ed1b1bb1676eae62
https://github.com/llvm/llvm-project/commit/db8e182952573fa9198424a6ed1b1bb1676eae62
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
Log Message:
-----------
[NFC] Clang-format previous OpenACC Patch
Commit: 779ba60417b467a6d2d25101b11711c009694315
https://github.com/llvm/llvm-project/commit/779ba60417b467a6d2d25101b11711c009694315
Author: Artem Chikin <achikin at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][deps] Overload `Filesystem::exists` in `DependencyScanningFilesystem` to have it use cached `status` (#88152)
As-is, calls to `exists()` fallback on the implementation in
`ProxyFileSystem::exists` which explicitly calls out to the underlying
`FS`, which for the `DependencyScanningFilesystem` (overlay) is the real
underlying filesystem.
Instead, directly overloading `exists` allows us to have it rely on the
cached `status` behavior used elsewhere by the
`DependencyScanningFilesystem`.
Commit: 03c393db1821ef4c362c4c228492c6fb03f8876f
https://github.com/llvm/llvm-project/commit/03c393db1821ef4c362c4c228492c6fb03f8876f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Fix build failure from a472e6473e69
Looks like I forgot to do build CIndex.cpp when validating myself!
Commit: 0d2bb7f017f13ceae793fab7d83d3e67e8d8d8f8
https://github.com/llvm/llvm-project/commit/0d2bb7f017f13ceae793fab7d83d3e67e8d8d8f8
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/cmake/caches/Release.cmake
Log Message:
-----------
[CMake][Release] Disable PGO (#88465)
Running the test-release.sh script with PGO enabled causes build errors
like:
ld.lld: error: Function Import: link error: linking module flags
'ProfileSummary': IDs have conflicting values
I believe this a build system bug due to the PGO profile data being
generated unconditionally. If you run `ninja check-all` and then `ninja
install` like we do in test-release.sh, then the profile data is
regenerated during `ninja install` and some of the clang tools which are
not test dependencies get build during the ninja install step with
different profile data. When these tools link against the LLVM
libraries, like libSupport, we end up with these errors.
Commit: 9bd10853e505b61f5fe2e3b3592c76787a06aa31
https://github.com/llvm/llvm-project/commit/9bd10853e505b61f5fe2e3b3592c76787a06aa31
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
Log Message:
-----------
AMDGPU: Undo atomicrmw add/sub/xor 0 -> atomicrmw or canonicalization (#87533)
InstCombine transforms add of 0 to or of 0. For system atomics, this is
problematic because while PCIe supports add, it does not support the
other operations. Undo this for system scope atomics.
Commit: b9bed1f1106e3116e8bea38806c511b57b956929
https://github.com/llvm/llvm-project/commit/b9bed1f1106e3116e8bea38806c511b57b956929
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
A clang/test/Sema/alias-unused-win.cpp
R clang/test/Sema/alias-unused.c
A clang/test/Sema/alias-unused.cpp
Log Message:
-----------
[test] Improve tests for alias/ifunc attributes
Commit: 9e95c4947d31670ddd3abad1051eda06729c96b3
https://github.com/llvm/llvm-project/commit/9e95c4947d31670ddd3abad1051eda06729c96b3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Fix non-determinism due to address reuse (#84943)
The malloc->calloc fold creates a new MemoryAccess, which may end of at
the same address as a previously deleted access inside SkipStores.
To the most part, this is not a problem, because SkipStores is normally
only used together with MemDefs. Neither the old malloc access nor the
new calloc access will be part of MemDefs, so there is no problem here.
However, SkipStores is also used in one more place: In the main DSE
loop, ToCheck entries are checked against it. Fix this by not using
SkipStores here, and instead using a separate set to track deletions
inside this loop. This way it is not affected by the calloc optimization
that happens outside it.
This is all pretty ugly, but I haven't found another good way to fix it.
Suggestions welcome.
No test case as I don't have a reliable DSE-only test-case for this.
Fixes https://github.com/llvm/llvm-project/issues/84458.
Commit: f172bfcdc229ed6f3e8a0298dab3713fb763ff28
https://github.com/llvm/llvm-project/commit/f172bfcdc229ed6f3e8a0298dab3713fb763ff28
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
Log Message:
-----------
[unused-includes][ADT] Don't include DJB.h as it's not used. NFC. (#88211)
StringMap uses xxHash instead of DJB.
Commit: f22c30063ddcb7f8e8c4fb0496f515be7f9408b8
https://github.com/llvm/llvm-project/commit/f22c30063ddcb7f8e8c4fb0496f515be7f9408b8
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/test/Sema/alias-unused.cpp
Log Message:
-----------
[test] alias-unused.cpp: set triple to Linux
Otherwise the test would fail on Darwin and other platforms that use
Itanium ABI but do not support alias/ifunc.
Commit: aef28100294d04c2253a1cb8bbf552fa296dea4e
https://github.com/llvm/llvm-project/commit/aef28100294d04c2253a1cb8bbf552fa296dea4e
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Relocations: Avoid MIPS check for ELFCLASS64 with if constexpr. NFC
After inlining, `scanSection` is significantly longer (more than 100+
instructions on x86-64 built with Clang) when `i` does not always
increment by one (MIPS).
Commit: 94b3c192d3468752e6bc2f20957d433bccdb8ff3
https://github.com/llvm/llvm-project/commit/94b3c192d3468752e6bc2f20957d433bccdb8ff3
Author: Jim Lin <jim at andestech.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/frame-pointer-elim.c
Log Message:
-----------
[M68k][clang] Enable frame pointer optimization by default (#87264)
Enable frame pointer optimization by default to match it with gcc.
Fixes: https://github.com/llvm/llvm-project/issues/75013
Commit: 0a6f6df5b0c3d0f2a42f013bf5cafb9b5020dcac
https://github.com/llvm/llvm-project/commit/0a6f6df5b0c3d0f2a42f013bf5cafb9b5020dcac
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Introduce `SemaCUDA` (#88559)
This patch moves CUDA-related `Sema` function into new `SemaCUDA` class,
following the recent example of SYCL, OpenACC, and HLSL. This is a part
of the effort to split Sema. Additional context can be found in
https://github.com/llvm/llvm-project/pull/82217,
https://github.com/llvm/llvm-project/pull/84184,
https://github.com/llvm/llvm-project/pull/87634.
Commit: 6dcb60481323c871556a5a14ed887a5867ece114
https://github.com/llvm/llvm-project/commit/6dcb60481323c871556a5a14ed887a5867ece114
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang] Implement `__is_pointer_interconvertible_base_of()` (#88473)
This patch implements intrinsic that supports
`std::is_pointer_interconvertible_base_of` type trait from
[P0466R5](https://wg21.link/p0466r5) "Layout-compatibility and
Pointer-interconvertibility Traits".
Normative wording:
> Comment: If `Base` and Derived are non-union class types and are not
(possibly _cv_-qualified) versions of the same type, `Derived` is a
complete type.
> Condition: `Derived` is unambiguously derived from `Base` without
regard to _cv_-qualifiers, and each object of type `Derived` is
pointer-interconvertible (6.7.2 [basic.compound]) with its `Base`
subobject, or `Base` and `Derived` are not unions and name the same
class type without regard to _cv_-qualifiers.
The paper also express the following intent:
> Note that `is_pointer_interconvertible_base_of_v<T,T>` is always true
under this wording, even though `T` is not derived from itself.
I find the treatment of unions in the wording contradictory to this
intent, and I'm not able to find anything relevant in minutes or on the
reflector. That said, this patch implements what the wording says, since
it's very explicit about unions.
Commit: 79dca25f4a0fefd47e9e37d9ce47d84dc0b3bedb
https://github.com/llvm/llvm-project/commit/79dca25f4a0fefd47e9e37d9ce47d84dc0b3bedb
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Replace std::string -> StringRef
Commit: ed128c7df9b4e60bfd814dc9fd22de1dde4a2c1c
https://github.com/llvm/llvm-project/commit/ed128c7df9b4e60bfd814dc9fd22de1dde4a2c1c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
A clang/test/CXX/drs/cwg118.cpp
A clang/test/CXX/drs/cwg124.cpp
A clang/test/CXX/drs/cwg158.cpp
A clang/test/CXX/drs/cwg1748.cpp
A clang/test/CXX/drs/cwg177x.cpp
A clang/test/CXX/drs/cwg1807.cpp
A clang/test/CXX/drs/cwg185.cpp
A clang/test/CXX/drs/cwg193.cpp
A clang/test/CXX/drs/cwg199.cpp
A clang/test/CXX/drs/cwg201.cpp
A clang/test/CXX/drs/cwg210.cpp
A clang/test/CXX/drs/cwg2335.cpp
A clang/test/CXX/drs/cwg2390.cpp
A clang/test/CXX/drs/cwg2504.cpp
A clang/test/CXX/drs/cwg292.cpp
A clang/test/CXX/drs/cwg392.cpp
A clang/test/CXX/drs/cwg412.cpp
A clang/test/CXX/drs/cwg438.cpp
A clang/test/CXX/drs/cwg439.cpp
A clang/test/CXX/drs/cwg441.cpp
A clang/test/CXX/drs/cwg462.cpp
A clang/test/CXX/drs/cwg492.cpp
A clang/test/CXX/drs/cwg519.cpp
A clang/test/CXX/drs/cwg571.cpp
A clang/test/CXX/drs/cwg605.cpp
A clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/drs/cwg653.cpp
A clang/test/CXX/drs/cwg658.cpp
A clang/test/CXX/drs/cwg661.cpp
A clang/test/CXX/drs/cwg672.cpp
A clang/test/CXX/drs/cwgr593.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr118.cpp
M clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr124.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr158.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr1748.cpp
R clang/test/CXX/drs/dr177x.cpp
M clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr1807.cpp
R clang/test/CXX/drs/dr185.cpp
M clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr193.cpp
R clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr19xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr201.cpp
M clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr210.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr2335.cpp
R clang/test/CXX/drs/dr2390.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr392.cpp
M clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr412.cpp
R clang/test/CXX/drs/dr438.cpp
R clang/test/CXX/drs/dr439.cpp
R clang/test/CXX/drs/dr441.cpp
R clang/test/CXX/drs/dr462.cpp
R clang/test/CXX/drs/dr492.cpp
M clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr519.cpp
R clang/test/CXX/drs/dr571.cpp
R clang/test/CXX/drs/dr593.cpp
M clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr605.cpp
R clang/test/CXX/drs/dr650.cpp
R clang/test/CXX/drs/dr653.cpp
R clang/test/CXX/drs/dr658.cpp
R clang/test/CXX/drs/dr661.cpp
R clang/test/CXX/drs/dr672.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CXX/drs/dr7xx.cpp
M clang/test/CXX/drs/dr8xx.cpp
M clang/test/CXX/drs/dr9xx.cpp
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang][NFC] Replace `dr` with `cwg` in DR test suite
This patch is breaking `dr` to `cwg` equivalence in our terminology, making room for tests for LWG issues that concern compiler intrinsics.
Commit: 4138367444a2e3431cdfc7ab6e16c9cab5c76ad8
https://github.com/llvm/llvm-project/commit/4138367444a2e3431cdfc7ab6e16c9cab5c76ad8
Author: Ian Anderson <iana at apple.com>
Date: 2024-04-12 (Fri, 12 Apr 2024)
Changed paths:
M clang/lib/Basic/Module.cpp
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/module.modulemap
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/ptrauth.h
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/stddef.h
A clang/test/Modules/ptrauth-include-from-darwin.m
Log Message:
-----------
[modules] allow use of ptrauth module from no_undeclared_includes system modules (#88432)
Co-authored-by: Alex Lorenz <arphaman at gmail.com>
Commit: 5b36bf549c8c900d0f01451e02abd821f38d4538
https://github.com/llvm/llvm-project/commit/5b36bf549c8c900d0f01451e02abd821f38d4538
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/test/CXX/drs/dr6xx.cpp
Log Message:
-----------
[clang][NFC] Tidy up extension warnings about `_Static_assert`
Some tests in `dr6xx.cpp` were using C11 `_Static_assert`, and were expecting extension warnings in C++98 mode because of that. This is noise, and we can do better than that.
Commit: 8d8502a1b6e4e2b775d16be456f6b5ee544dcc55
https://github.com/llvm/llvm-project/commit/8d8502a1b6e4e2b775d16be456f6b5ee544dcc55
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/decorations.mlir
Log Message:
-----------
[mlir][spirv] Add op decoration NoContraction (#88578)
Commit: 37ebf2ae748f8cbfab756321e04fc7e8c86996a4
https://github.com/llvm/llvm-project/commit/37ebf2ae748f8cbfab756321e04fc7e8c86996a4
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Replace more KV loop variables with structured bindings.
Coding my way home: 4.42841S, 102.96190W
Commit: 3cf8535dbf0bf5fafa99ea1f300e2384a7254fba
https://github.com/llvm/llvm-project/commit/3cf8535dbf0bf5fafa99ea1f300e2384a7254fba
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/concat-fpext-v2bf16.ll
Log Message:
-----------
[X86][BF16] Improve vectorization of BF16 (#88486)
1. Move expansion to combineFP_EXTEND to help with small vectors;
2. Combine FP_ROUND to reduce fptrunc then fpextend after promotion;
Commit: df9c00beea5be08fc47aaea58eae333fc6cbef33
https://github.com/llvm/llvm-project/commit/df9c00beea5be08fc47aaea58eae333fc6cbef33
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
M llvm/test/Transforms/CorrelatedValuePropagation/phi-common-val.ll
Log Message:
-----------
[CVP] Use at-use info in `processBinOp` (#88523)
This patch uses `getConstantRangeAtUse` to infer nsw/nuw flags with
at-use info. It will enables more optimizations in InstCombine.
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=a5ed14bc8e122fa5ac0aa81f8d8390931bd6b4e4&to=a83d3402b663439b91cb37a046fb7ac0220ba5c7&stat=instructions%3Au
Related issue: #87854
Commit: 6d66db3890a18e3926a49cbfeb28e99c464cfcd5
https://github.com/llvm/llvm-project/commit/6d66db3890a18e3926a49cbfeb28e99c464cfcd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec15-base.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/odd_store.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-gather-some-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
Log Message:
-----------
[SLP] Initial vectorization of non-power-of-2 ops. (#77790)
This patch enables vectorization for non-power-of-2 VFs. Initially only
VFs where adding 1 makes the VF a power-of-2, i.e. we can still make
relatively effective use of the vectors.
It relies on the existing target cost-models to return accurate costs
for
non-power-of-2 vectors. I checked mostly AArch64 and X86 and
there the costs seem reasonable for the costs I checked, although
I expect there will be a need to refine both the cost-models and
lowering
to make most effective use of non-power-of-2 SLP vectorization.
Note that re-ordering and shuffling is not implemented for nodes
requiring padding yet to keep the initial implementation simpler.
The feature is guarded by a new flag, off by defaul for now.
PR: https://github.com/llvm/llvm-project/pull/77790
Commit: 11f22f1a963ab3c8949cb723a63c07d7a409c8a8
https://github.com/llvm/llvm-project/commit/11f22f1a963ab3c8949cb723a63c07d7a409c8a8
Author: Eric <eric at efcs.ca>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
M libcxx/src/include/tzdb/tzdb_list_private.h
Log Message:
-----------
[tzdb] Replace shared_mutex with mutex. (#87929)
The overhead of taking a std::mutex is much lower than taking a reader
lock on a shared mutex, even under heavy contention.
The benefit of shared_mutex only occurs as the amount of
time spent in the critical sections grows large enough.
In our case all we do is read a pointer and return the lock.
As a result, using a shared lock can be ~50%-100% slower
Here are the results for the provided benchmark on my machine:
```
2024-04-07T12:48:51-04:00
Running ./libcxx/benchmarks/shared_mutex_vs_mutex.libcxx.out
Run on (12 X 400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x6)
L1 Instruction 32 KiB (x6)
L2 Unified 1024 KiB (x6)
L3 Unified 32768 KiB (x1)
Load Average: 2.70, 2.70, 1.63
---------------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------------
BM_shared_mutex/threads:1 13.9 ns 13.9 ns 50533700
BM_shared_mutex/threads:2 34.5 ns 68.9 ns 9957784
BM_shared_mutex/threads:4 38.4 ns 137 ns 4987772
BM_shared_mutex/threads:8 51.1 ns 358 ns 1974160
BM_shared_mutex/threads:32 57.1 ns 682 ns 1043648
BM_mutex/threads:1 5.54 ns 5.53 ns 125867422
BM_mutex/threads:2 15.5 ns 30.9 ns 21830116
BM_mutex/threads:4 15.4 ns 57.2 ns 12136920
BM_mutex/threads:8 19.3 ns 140 ns 4997080
BM_mutex/threads:32 20.8 ns 252 ns 2859808
```
Commit: 9931e7efc6505002e866ee553af5d812123c22f5
https://github.com/llvm/llvm-project/commit/9931e7efc6505002e866ee553af5d812123c22f5
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/SpaceshipPapers.csv
Log Message:
-----------
[libc++][spaceship][NFC] P0905R1: Symmetry for spaceship - mark as implemented (#87871)
Implemented: https://wg21.link/P0905R1 in
0913ca197855626c93fdae4184ae80ff5a26503a
- https://eel.is/c++draft/cmp.weakeq (Removed in
https://wg21.link/P1959R0)
- https://eel.is/c++draft/cmp.strongeq (Removed in
https://wg21.link/P1959R0)
- https://eel.is/c++draft/cmp.partialord
-
https://github.com/llvm/llvm-project/blob/4abb722ffa7fcf809faa4a479fdf2f78c685b351/libcxx/include/__compare/ordering.h#L101
- https://eel.is/c++draft/cmp.weakord
-
https://github.com/llvm/llvm-project/blob/4abb722ffa7fcf809faa4a479fdf2f78c685b351/libcxx/include/__compare/ordering.h#L173
- https://eel.is/c++draft/cmp.strongord
-
https://github.com/llvm/llvm-project/blob/4abb722ffa7fcf809faa4a479fdf2f78c685b351/libcxx/include/__compare/ordering.h#L250
References:
- https://wg21.link/P1959R0 - Remove `std::weak_equality` and
`std::strong_equality`
Commit: e481f565286e7fbf5dda9c4a0d00ca1daae8abeb
https://github.com/llvm/llvm-project/commit/e481f565286e7fbf5dda9c4a0d00ca1daae8abeb
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
Log Message:
-----------
[lldb][libc++] Adds local_t clock data formatters. (#88178)
Commit: a33a754cff02fda7520fa63fbc6c85c274a44baa
https://github.com/llvm/llvm-project/commit/a33a754cff02fda7520fa63fbc6c85c274a44baa
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
Log Message:
-----------
[lldb] Fixes comment typos.
Commit: 0412a8651aa6cbdd697e904a758e0f95e6635cee
https://github.com/llvm/llvm-project/commit/0412a8651aa6cbdd697e904a758e0f95e6635cee
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang] Add missing documentation entry for `__is_pointer_interconvertible_base_of()`
Commit: 6704faf6f8a26c21c71fd0efad6af6a8d6ee52b4
https://github.com/llvm/llvm-project/commit/6704faf6f8a26c21c71fd0efad6af6a8d6ee52b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
Log Message:
-----------
[SLP] Use StoreTy to compute min VF.
This ensures that MinVF is a power-of-2, even if ValueTy's width is
not a power-of-2.
This should fix a number of buildbot failures with X86 bootstrapping.
Commit: 6775285e7695f2d45cf455f5d31b2c9fa9362d3d
https://github.com/llvm/llvm-project/commit/6775285e7695f2d45cf455f5d31b2c9fa9362d3d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libc++][CMake] Removes LIBCXX_ENABLE_CLANG_TIDY. (#85794)
The clang-tidy selection in CMake was refactored in
https://github.com/llvm/llvm-project/pull/81362. During review it was
suggested to remove this CMake option.
Commit: f6ca37bf1809b2fa8f6615d4a30eadf8f479c700
https://github.com/llvm/llvm-project/commit/f6ca37bf1809b2fa8f6615d4a30eadf8f479c700
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineModuleInfo.cpp
M llvm/unittests/CodeGen/PassManagerTest.cpp
Log Message:
-----------
[NewPM] Set diagnostic handler in `MachineModuleAnalysis` (#88229)
`setDiagnosticHandler` is idempotent.
Commit: 844b532713986999aa1ffed0883eff2d1339ec7a
https://github.com/llvm/llvm-project/commit/844b532713986999aa1ffed0883eff2d1339ec7a
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/FunctionComparator.cpp
A llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
Log Message:
-----------
[MergeFunc] Handle ConstantRange attributes (#88584)
It is possible to update
[AttributeImpl::operator<](https://github.com/andjo403/llvm-project/blob/a9da350aadfb5c86d36ae18398471558b22c1309/llvm/lib/IR/Attributes.cpp#L744)
instead but feels strange to say that a range is less then an other
range.
Commit: 1a895bd95ea741dd4756121244f7c2b59e693f1c
https://github.com/llvm/llvm-project/commit/1a895bd95ea741dd4756121244f7c2b59e693f1c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/sort.h
Log Message:
-----------
[libc++] Marks a variable const. (#88562)
This removes a TODO from the code base.
Commit: 910ec6ff6dd9ed031e31800c70740fdd17cc1c2a
https://github.com/llvm/llvm-project/commit/910ec6ff6dd9ed031e31800c70740fdd17cc1c2a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/include/__system_error/errc.h
M libcxx/include/cerrno
R libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
Log Message:
-----------
[libc++] Undeprecate POSIX STREAM macros. (#88296)
LWG3869 Deprecate std::errc constants related to UNIX STREAMS
deprecates the POSIX macros ENODATA, ENOSR, ENOSTR, and ETIME. These
were deprecated in libc++ in
https://github.com/llvm/llvm-project/pull/80542. Based on the post
commit feedback the macro are no longer deprecated. Instead libc++
leaves the deprecation to the provider of errno.h.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: cbfcfdf75e9939bc47ac7a7c11d2122a6ad426ed
https://github.com/llvm/llvm-project/commit/cbfcfdf75e9939bc47ac7a7c11d2122a6ad426ed
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[clang][NFC] Add a test for CWG2254 to `is_pointer_interconvertible_base_of` tests
Resolution of that issue makes _any_ base class subobject interconvertible with the containing object, not just the first one.
Commit: 26852565a5f609e6b466f43c2f690ce3047d04c7
https://github.com/llvm/llvm-project/commit/26852565a5f609e6b466f43c2f690ce3047d04c7
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDZ] Validates the database version.
It seems one of the tests requires a very recent timezone database. Skip
the test when the database is older.
Commit: 61f1f1300254e91334404f0d22e75e96f0d98a85
https://github.com/llvm/llvm-project/commit/61f1f1300254e91334404f0d22e75e96f0d98a85
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__config
A libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/deque
M libcxx/include/module.modulemap
M libcxx/include/string
M libcxx/include/vector
Log Message:
-----------
[libc++][NFC] Move basic ASan annotation functions into a utility header (#87220)
Commit: ecf44b4b719c33465d9ebfbc5910b1f761856e0b
https://github.com/llvm/llvm-project/commit/ecf44b4b719c33465d9ebfbc5910b1f761856e0b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDB] Removes test_indian_kerguelen test.
The work-around in 26852565a5f609e6b466f43c2f690ce3047d04c7 didn't fix
the CI. Since the entire local database is compared with the libc++
implementation in a separate this this change does not remove coverage.
Commit: fad37526a3ea7d669af621342968029085862281
https://github.com/llvm/llvm-project/commit/fad37526a3ea7d669af621342968029085862281
Author: Edwin Vane <revane at google.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Log Message:
-----------
[clang-tidy] Export fixes from check_clang_tidy.py (#88186)
Makes it possible to export fixes from running llvm-lit on a clang-tidy
test. To enable, modify the RUN invocation directly in the test with the
new -export flag. llvm-lit will report the test passed and fixes can be
found in the file specified to the -export flag.
Commit: ef9446bd2d362ec90cd681ae59463d16bf671fe8
https://github.com/llvm/llvm-project/commit/ef9446bd2d362ec90cd681ae59463d16bf671fe8
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN] lazily update dominator tree when merge unconditional branches in function (#88477)
With this change, the wall time for of GVN pass decreased from
873,745.492 ms to 367,375.304 ms in an our internal testcase.
Commit: 342aa3eb23992ad742d22ef0e0d8821a9b29de3e
https://github.com/llvm/llvm-project/commit/342aa3eb23992ad742d22ef0e0d8821a9b29de3e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-13 (Sat, 13 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/RISCV/rvv/pr88576.ll
Log Message:
-----------
[LegalizeTypes][RISCV] Support scalable vectors in SplitVecRes_BITCAST/SplitVecOp_BITCAST. (#88590)
Instead of bitcasting to a scalar integer, try to split the other vector
type that is legal. We already handle the case where both types need to
be split.
Fixes #88576
Commit: 09327efdf0f02c4f865a4536db96cac539bb1c01
https://github.com/llvm/llvm-project/commit/09327efdf0f02c4f865a4536db96cac539bb1c01
Author: Chris Copeland <chris at chrisnc.net>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang][docs] fix whitespace in AttrDocs.td (#88631)
Noticed this failure while working on a different change:
https://buildkite.com/llvm-project/clang-ci/builds/15553#018ed1bb-923a-48b5-9788-e8b6d3827aba
Seems to be introduced by #88448.
Commit: c6f9c84e498ee05a812511ae969773ff166fd25e
https://github.com/llvm/llvm-project/commit/c6f9c84e498ee05a812511ae969773ff166fd25e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[Clang] Reduce the size of Decl and classes derived from it (#87361)
Class | Old size (in bytes) | New size (in bytes)
----------------------------------|---------------------|--------------------
Decl | 40 | 32
AccessSpecDecl | 40 | 40
BlockDecl | 128 | 120
CapturedDecl | 88 | 80
EmptyDecl | 40 | 32
ExportDecl | 80 | 72
ExternCContextDecl | 72 | 64
FileScopeAsmDecl | 56 | 48
FriendDecl | 64 | 56
FriendTemplateDecl | 64 | 64
ImplicitConceptSpecializationDecl | 40 | 40
ImportDecl | 56 | 48
LifetimeExtendedTemporaryDecl | 72 | 64
LinkageSpecDecl | 80 | 72
NamedDecl | 48 | 40
ObjCPropertyImplDecl | 96 | 88
PragmaCommentDecl | 40 | 40
PragmaDetectMismatchDecl | 48 | 40
RequiresExprBodyDecl | 72 | 64
StaticAssertDecl | 64 | 56
TopLevelStmtDecl | 88 | 80
TranslationUnitDecl | 104 | 96
BaseUsingDecl | 56 | 48
UsingDecl | 88 | 80
UsingEnumDecl | 72 | 64
HLSLBufferDecl | 96 | 88
LabelDecl | 80 | 72
NamespaceAliasDecl | 96 | 88
NamespaceDecl | 112 | 104
ObjCCompatibleAliasDecl | 56 | 48
ObjCContainerDecl | 88 | 80
ObjCMethodDecl | 136 | 128
ObjCPropertyDecl | 128 | 120
TemplateDecl | 64 | 56
BuiltinTemplateDecl | 72 | 64
TypeDecl | 64 | 56
UnresolvedUsingIfExistsDecl | 48 | 40
UsingDirectiveDecl | 88 | 80
UsingPackDecl | 64 | 56
UsingShadowDecl | 80 | 72
ValueDecl | 56 | 48
When parsing libc++'s `<string>` header the used memory is reduced from
42.8MB to 42.5MB.
Commit: d48d6ba9477aa380cd5a71f899d3cb6d629f175b
https://github.com/llvm/llvm-project/commit/d48d6ba9477aa380cd5a71f899d3cb6d629f175b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Factor out VLA checks in type traits (#88646)
This is a follow-up to #88473 suggested by @cor3ntin in
https://github.com/llvm/llvm-project/pull/88473#discussion_r1562198117.
Commit: ed06b847d4e77d0b81fa6b095366bb070db57846
https://github.com/llvm/llvm-project/commit/ed06b847d4e77d0b81fa6b095366bb070db57846
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
Revert "[Clang] Reduce the size of Decl and classes derived from it" (#88654)
Reverts llvm/llvm-project#87361
On 32 bit platforms there is only a single bit available in the
`DeclCtx`, resulting in an assertion failure.
Commit: ef164cee90477e294ff692209b4cf97a0e1958ed
https://github.com/llvm/llvm-project/commit/ef164cee90477e294ff692209b4cf97a0e1958ed
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/AST/ast-dump-cxx2c-delete-with-message.cpp
A clang/test/AST/ast-print-cxx2c-delete-with-message.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/PCH/cxx2a-defaulted-comparison.cpp
A clang/test/Parser/cxx2c-delete-with-message.cpp
A clang/test/SemaCXX/cxx2c-delete-with-message.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] [C++26] Implement P2573R2: `= delete("should have a reason");` (#86526)
This implements support for the `= delete("message")` syntax that was
only just added to C++26
([P2573R2](https://isocpp.org/files/papers/P2573R2.html#proposal-scope)).
Commit: 8891fd5acbe441d24a1734aa144f3f3dca075620
https://github.com/llvm/llvm-project/commit/8891fd5acbe441d24a1734aa144f3f3dca075620
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Fastmath flag support for complex.tanh (#88571)
Commit: 6c2cc8240e11721cac466cfce89bc0f87a5019be
https://github.com/llvm/llvm-project/commit/6c2cc8240e11721cac466cfce89bc0f87a5019be
Author: David Green <david.green at arm.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
Log Message:
-----------
[AArch64] Improve cost of non-zero lane splats
This adds a cost for non-zero lane splats, which is not included by default in
SK_Broadcast but can be handled by aarch64 dup lane instruction.
Commit: 9b832b726c9c9bb0672c5f0912f6f131e3e27a10
https://github.com/llvm/llvm-project/commit/9b832b726c9c9bb0672c5f0912f6f131e3e27a10
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/memory
M libcxx/modules/std/memory.inc
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
Log Message:
-----------
[libc++] Deprecated `shared_ptr` Atomic Access APIs as per P0718R2 & Implemented P2869R3: Remove Deprecated `shared_ptr` Atomic Access APIs from C++26 (#87111)
Implements https://wg21.link/P2869R4
Implements deprecations as per https://wg21.link/P0718R2
Commit: 6e934b7cfba8e0c167d2b287a30dfc1b720397c1
https://github.com/llvm/llvm-project/commit/6e934b7cfba8e0c167d2b287a30dfc1b720397c1
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaCast.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in SemaCast.cpp (NFC)
llvm-project/clang/lib/Sema/SemaCast.cpp:503:23:
error: unused variable 'Res' [-Werror,-Wunused-variable]
OverloadingResult Res =
^
1 error generated.
Commit: 3c4d9559495e60dcbb431ab80d806096559a7486
https://github.com/llvm/llvm-project/commit/3c4d9559495e60dcbb431ab80d806096559a7486
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M mlir/test/CAPI/CMakeLists.txt
Log Message:
-----------
[mlir] Add lib to tests for shared build (#88574)
These resulted in link failures:
```
/usr/bin/ld:
tools/mlir/test/CAPI/CMakeFiles/mlir-capi-translation-test.dir/translation.c.o:
in function `main':
translation.c:(.text.main+0x58): undefined reference to
`LLVMContextCreate'
/usr/bin/ld: translation.c:(.text.main+0x9b): undefined reference to
`LLVMDumpModule'
/usr/bin/ld: translation.c:(.text.main+0xa3): undefined reference to
`LLVMDisposeModule'
/usr/bin/ld: translation.c:(.text.main+0xb3): undefined reference to
`LLVMContextDispose'
```
Found in mlir-hs. Not sure why this hasn't been flagged elsewhere.
Commit: 7cfe73624780010ec81ca11c41ebbf214400abdd
https://github.com/llvm/llvm-project/commit/7cfe73624780010ec81ca11c41ebbf214400abdd
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
Log Message:
-----------
[clang] Fix name conflict with `sys/mac.h` on AIX (#88644)
Fixes clang-ppc64-aix bot failure after #88559
(0a6f6df5b0c3d0f2a42f013bf5cafb9b5020dcac)
https://lab.llvm.org/buildbot/#/builders/214/builds/11887
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: d5c654b5b7c8bb81affdc69976ef9bc5ad5b4302
https://github.com/llvm/llvm-project/commit/d5c654b5b7c8bb81affdc69976ef9bc5ad5b4302
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M libcxx/include/algorithm
M libcxx/include/bit
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/module.modulemap
M libcxx/include/streambuf
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
Log Message:
-----------
[libc++][RFC] Only include what is required by-version in the umbrella headers (#83740)
This is a relatively low cost way of reducing the include sizes in older
language modes compared to the effect. For example, in C++14 mode the
include time of `<algorithm>` is reduced from 198ms to 127ms.
Commit: 00162162dd853795c532afa5dec4dc4e798d4a4b
https://github.com/llvm/llvm-project/commit/00162162dd853795c532afa5dec4dc4e798d4a4b
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#88407)
If LLVM is configured with -DLLVM_DEFAULT_TARGET_TRIPLE, and the
argument is not normalized, such as Debian-style vendor-less triple,
clang will try to find libclang_rt in lib/<normalized_triple>, while
libclang_rt is placed into lib/<triple_arg>.
Let's also place libclang_rt into lib/<normalized_triple>.
Commit: 5927492e8e68c1ee5a0d84cf6c402a900aac4a3c
https://github.com/llvm/llvm-project/commit/5927492e8e68c1ee5a0d84cf6c402a900aac4a3c
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
Revert "CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE" (#88663)
Reverts llvm/llvm-project#88407
Commit: b8d0cba14bcfc5c1c2f7a878ad9eaa12b6a590b6
https://github.com/llvm/llvm-project/commit/b8d0cba14bcfc5c1c2f7a878ad9eaa12b6a590b6
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
Log Message:
-----------
[TextAPI] Apply NFC code fixups (#88639)
* Remove unnecessary cast
* Annotate `#endif`
Commit: 48e955496bee035121ebfe5a837ebcbc2ba8846c
https://github.com/llvm/llvm-project/commit/48e955496bee035121ebfe5a837ebcbc2ba8846c
Author: Marc Auberer <marc.auberer at chillibits.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/docs/requirements-hashed.txt
M llvm/docs/requirements.txt
Log Message:
-----------
[Docs] Update python dependencies for documentation (#87877)
This has no particular reason, but imo we should update dependencies
every now and then to reduce the gap if breaking changes happen
somewhere.
Commit: 84ec2d3b38635dead7690f97f215ff4c473184f0
https://github.com/llvm/llvm-project/commit/84ec2d3b38635dead7690f97f215ff4c473184f0
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[mlir][python] add to CODEOWNERS (#88561)
Commit: a5f54175dcf120180c3d91bbc13062bbf8f42f61
https://github.com/llvm/llvm-project/commit/a5f54175dcf120180c3d91bbc13062bbf8f42f61
Author: Zentrik <Zentrik at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
Log Message:
-----------
Include cmath to fix build error on mac os 10.14 (#88665)
This fixes #88664.
Commit: 9f43a41db37253685c5ed428c215528eb92bbd43
https://github.com/llvm/llvm-project/commit/9f43a41db37253685c5ed428c215528eb92bbd43
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/test/Driver/linux-ld.c
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver,test] Make Android runtime tests resisent to #87866 change
Suggested by YunQiang Su <syq at debian.org>
Commit: 1693009679313282afbed38778dd3fad62641e1b
https://github.com/llvm/llvm-project/commit/1693009679313282afbed38778dd3fad62641e1b
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
M clang/test/Driver/zos-ld.c
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[Driver] Ensure ToolChain::LibraryPaths is not empty for non-Darwin
Follow-up to #81037.
ToolChain::LibraryPaths holds the new compiler-rt library directory
(e.g. `/tmp/Debug/lib/clang/19/lib/x86_64-unknown-linux-gnu`). However,
it might be empty when the directory does not exist (due to the `if
(getVFS().exists(P))` change in https://reviews.llvm.org/D158475).
If neither the old/new compiler-rt library directories exists, we would
suggest the undesired old compiler-rt file name:
```
% /tmp/Debug/bin/clang++ a.cc -fsanitize=memory -o a
ld.lld: error: cannot open /tmp/Debug/lib/clang/19/lib/linux/libclang_rt.msan-x86_64.a: No such file or directory
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
With this change, we will correctly suggest the new compiler-rt file name.
Fix #87150
Pull Request: https://github.com/llvm/llvm-project/pull/87866
Commit: e8232c325f7c56c175b27a3538699c31519c8f5e
https://github.com/llvm/llvm-project/commit/e8232c325f7c56c175b27a3538699c31519c8f5e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/FoldingSet.h
M llvm/test/Bitcode/attributes.ll
Log Message:
-----------
[ADT] In FoldingSet calulation for APInt add bit width to avoid crash (#88635)
Multiple ranges attributes with the same lower and upper limit but
different bit width caused a crash.
Commit: 8e4b0890a61088ae55b4bccbb59e5c5e10d28385
https://github.com/llvm/llvm-project/commit/8e4b0890a61088ae55b4bccbb59e5c5e10d28385
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
Log Message:
-----------
[LoongArch] Return true from shouldConsiderGEPOffsetSplit (#88371)
If not performing gep splits can prevent important optimizations, such
as preventing the element indices / member offsets from being
(partially) folded into load/store instruction immediates.
Commit: dd4b40ffe3bd9da2e3d998b674305ae1f612ad51
https://github.com/llvm/llvm-project/commit/dd4b40ffe3bd9da2e3d998b674305ae1f612ad51
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
Log Message:
-----------
[CodeGen] Let `CodeGenPassBuilder` know concrete target machine (#88614)
Many backends passes accept only `<Target>TargetMachine`, this can avoid
cast to derived type.
Commit: 7476b412d46322f52a7f58ad1d94a4398df941e2
https://github.com/llvm/llvm-project/commit/7476b412d46322f52a7f58ad1d94a4398df941e2
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/CODE_OWNERS.TXT
Log Message:
-----------
[NFC] add myself as the code owner of the PowerPC target
Norminated by Nemanja in https://discourse.llvm.org/t/powerpc-code-owner/78142
Commit: a9d7ad23fa625e7f52f2641dbb0f90e8ea12bebf
https://github.com/llvm/llvm-project/commit/a9d7ad23fa625e7f52f2641dbb0f90e8ea12bebf
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/rotate.ll
Log Message:
-----------
[InstCombine] Relax shamt assertion in fsh fold
Allow the result of the comparison to contain poison elements,
which happens if one of the elements in the input vector is
poison.
Commit: 9c3475acc9b11d08f0e0b3e230429e9f552d5f80
https://github.com/llvm/llvm-project/commit/9c3475acc9b11d08f0e0b3e230429e9f552d5f80
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Fix recursive DI type export memory leak (#88122)
Followup to discussion
https://github.com/llvm/llvm-project/pull/87295#discussion_r1556016667.
The export cache should not cache temporary nodes.
Commit: 37b7207651b44743909a427b5509bed5e6c21b59
https://github.com/llvm/llvm-project/commit/37b7207651b44743909a427b5509bed5e6c21b59
Author: Allen <zhongyunde at huawei.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
Log Message:
-----------
[SimplifyCFG] Fix crash when there is unreachable large index (#88616)
The large case index out of scope is dead code, but it is still be
created for TableContents in SwitchLookupTable::SwitchLookupTable,
so make sure the table size after growing should not get smaller.
Fix https://github.com/llvm/llvm-project/issues/88607
Commit: ccea9f2ae81d140a2367a82069cd00d6b08fe855
https://github.com/llvm/llvm-project/commit/ccea9f2ae81d140a2367a82069cd00d6b08fe855
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for `computeKnownBits` of `llvm.vector.reduce.{or,and}`; NFC
Commit: 6063e3c40867e9b9865aee326ff36cb2ebbcf939
https://github.com/llvm/llvm-project/commit/6063e3c40867e9b9865aee326ff36cb2ebbcf939
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Implement `computeKnownBits` for `llvm.vector.reduce.{or,and}`
Commit: 44b1523b9a4e7e21677395e75352d9a62efe2790
https://github.com/llvm/llvm-project/commit/44b1523b9a4e7e21677395e75352d9a62efe2790
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for `computeKnownBits` of `llvm.vector.reduce.xor`; NFC
Commit: 6c71707872e4d2f9aef19d0dbd502752b7fdfba0
https://github.com/llvm/llvm-project/commit/6c71707872e4d2f9aef19d0dbd502752b7fdfba0
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Implement `computeKnownBits` for `llvm.vector.reduce.xor`
Commit: 3921dffac29d8ea1c07bc6a7253876247a6eb1a3
https://github.com/llvm/llvm-project/commit/3921dffac29d8ea1c07bc6a7253876247a6eb1a3
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `isKnownNonZero` of `llvm.vector.reduce.or`; NFC
Commit: 1e16a35fbcc6b21d1bee597c7e76f2444b7000e5
https://github.com/llvm/llvm-project/commit/1e16a35fbcc6b21d1bee597c7e76f2444b7000e5
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-14 (Sun, 14 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Implement `isKnownNonZero` for `llvm.vector.reduce.or`
Closes #88320
Commit: f811d7b50957b801788d7b171ddeb25b1fda415a
https://github.com/llvm/llvm-project/commit/f811d7b50957b801788d7b171ddeb25b1fda415a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/include/clang/CodeGen/CodeGenAction.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/FrontendActions.cpp
A clang/test/Driver/module-fgen-reduced-bmi.cppm
A clang/test/Modules/modules-reduced-bmi.cppm
Log Message:
-----------
[C++20] [Modules] Introduce -fexperimental-modules-reduced-bmi (#85050)
This is the driver part of
https://github.com/llvm/llvm-project/pull/75894.
This patch introduces '-fexperimental-modules-reduced-bmi' to enable
generating the reduced BMI.
This patch did:
- When `-fexperimental-modules-reduced-bmi` is specified but
`--precompile` is not specified for a module unit, we'll skip the
precompile phase to avoid unnecessary two-phase compilation phases. Then
if `-c` is specified, we will generate the reduced BMI in CodeGenAction
as a by-product.
- When `-fexperimental-modules-reduced-bmi` is specified and
`--precompile` is specified, we will generate the reduced BMI in
GenerateModuleInterfaceAction as a by-product.
- When `-fexperimental-modules-reduced-bmi` is specified for a
non-module unit. We don't do anything nor try to give a warn. This is
more user friendly so that the end users can try to test and experiment
with the feature without asking help from the build systems.
The core design idea is that users should be able to enable this easily
with the existing cmake mechanisms.
The future plan for the flag is:
- Add this to clang19 and make it opt-in for 1~2 releases. It depends on
the testing feedback to decide how long we like to make it opt-in.
- Then we can announce the existing BMI generating may be deprecated and
suggesting people (end users or build systems) to enable this for 1~2
releases.
- Finally we will enable this by default. When that time comes, the term
`BMI` will refer to the reduced BMI today and the existing BMI will only
be meaningful to build systems which loves to support two phase
compilations.
I'll send release notes and document in seperate commits after this get
landed.
Commit: c7902d87a5a050b816edfe99e7e093ae63f4e564
https://github.com/llvm/llvm-project/commit/c7902d87a5a050b816edfe99e7e093ae63f4e564
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Add test for isKnownNonZero() undef miscompile (NFC)
Commit: 52a1998f15ab0e5b9ff7afa8b92cc714463d5dd8
https://github.com/llvm/llvm-project/commit/52a1998f15ab0e5b9ff7afa8b92cc714463d5dd8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstSimplify/vec-cmp.ll
Log Message:
-----------
[ValueTracking] Don't accept undef in isKnownNonZero()
As the undef can be replaced with a zero value, this is not legal
in the general case. We can only allow poison values. This matches
what the other ValueTracking helpers like computeKnownBits() do.
Commit: 7177dc2ef7f3a50a1d8b892d7bd298f3d52a1aab
https://github.com/llvm/llvm-project/commit/7177dc2ef7f3a50a1d8b892d7bd298f3d52a1aab
Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/AVR/base-with-add-like-constant-offset.ll
Log Message:
-----------
[SDAG] Apply or-disjoint in SelectionDAG::isBaseWithConstantOffset (#88493)
Signed-off-by: feng.feng <feng.feng at iluvatar.com>
Commit: 6b80e2fef5b0e99f81d1f4a7322b110f9ead3521
https://github.com/llvm/llvm-project/commit/6b80e2fef5b0e99f81d1f4a7322b110f9ead3521
Author: laichunfeng <laichunfeng at tencent.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
Log Message:
-----------
[mi-sched] Suppress register pressure with i64. (#88256)
Machine scheduler will suppress register pressure when the scheduling
window is too small, but now it doesn't consider i64 register type,
and this MR extends it into i64 register type, so architecture like
RISCV64 that only supports i64 interger register will have the same
behavior like RISCV32.
Commit: 2cc0c2104909558680409f8a8f39755936305e72
https://github.com/llvm/llvm-project/commit/2cc0c2104909558680409f8a8f39755936305e72
Author: Christian Sigg <csigg at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Fix BUILD after f811d7b50957b801788d7b171ddeb25b1fda415a.
Commit: 46131aaf616c5cd97df0ec376a7e6ba475e1913c
https://github.com/llvm/llvm-project/commit/46131aaf616c5cd97df0ec376a7e6ba475e1913c
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/instantiate-using-decl.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
Log Message:
-----------
Revert "Reapply "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function (#87541)" (#88311)"
This reverts commit aa80f3ec48419a73aafcc2ff947c6dd1e3734481.
See
https://github.com/llvm/llvm-project/pull/88311#issuecomment-2052291140.
There is a fix forward proposed but I am reverting this commit to fix
trunk.
Commit: a71565d75e23fc28076aa5bf1c5cf4432623afc5
https://github.com/llvm/llvm-project/commit/a71565d75e23fc28076aa5bf1c5cf4432623afc5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
Log Message:
-----------
[ARM] Don't include IRBuilder.h in ARMISelLowering.h (NFC)
Just a forward declaration is sufficient.
Commit: 302d0f3476c0fc68d796e7b8a0d4237121ec33fe
https://github.com/llvm/llvm-project/commit/302d0f3476c0fc68d796e7b8a0d4237121ec33fe
Author: David Green <david.green at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add some tests for converting shuffles to identities. NFC
Commit: 07942987b58558a8bcb2cfb7d8bc3d46b1cb1d2b
https://github.com/llvm/llvm-project/commit/07942987b58558a8bcb2cfb7d8bc3d46b1cb1d2b
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
A llvm/test/tools/llvm-objcopy/ELF/compress-sections-within-segment.s
A llvm/test/tools/llvm-objcopy/ELF/compress-sections.s
M llvm/test/tools/llvm-objcopy/ELF/decompress-sections.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objcopy/ObjcopyOpts.td
Log Message:
-----------
[llvm-objcopy] Add --compress-sections
--compress-sections is similar to --compress-debug-sections but applies
to arbitrary sections.
* `--compress-sections <section>=none`: decompress sections
* `--compress-sections <section>=[zlib|zstd]`: compress sections with zlib/zstd
Like `--remove-section`, the pattern is by default a glob, but a regex
when --regex is specified.
For `--remove-section` like options, `!` prevents matches and is not
dependent on ordering (see `ELF/wildcard-syntax.test`). Since
`--compress-sections a=zlib --compress-sections a=none` naturally allows
overriding, having an order-independent `!` would be confusing.
Therefore, `!` is disallowed.
Sections within a segment are effectively immutable. Report an error for
an attempt to (de)compress them. `SHF_ALLOC` sections in a relocatable
file can be compressed, but linkers usually reject them.
Note: Before this patch, a compressed relocation section is recognized
as a `RelocationSectionBase` as well and `removeSections` `!ToRemove(*ToRelSec)`
may incorrectly interpret a `CompressedSections` as `RelocationSectionBase`,
leading to ubsan failure for the new test. Fix this by setting
`OriginalFlags` in CompressedSection::CompressedSection.
Link: https://discourse.llvm.org/t/rfc-compress-arbitrary-sections-with-ld-lld-compress-sections/71674
Pull Request: https://github.com/llvm/llvm-project/pull/85036
Commit: b79b6f9cf00e72b21f5629aa3c5d9c1786611ec9
https://github.com/llvm/llvm-project/commit/b79b6f9cf00e72b21f5629aa3c5d9c1786611ec9
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Use offset deduplication for cold fragments
Apply deduplication for uniformity and BAT section size reduction.
Changes BAT section size to:
- large binary: 39541552 bytes (1.02x original),
- medium binary: 3828996 bytes (0.64x),
- small binary: 928 bytes (0.65x).
Test Plan: Updated bolt-address-translation.test
Reviewers: rafaelauler, dcci, ayermolo, JDevlieghere, maksfb
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/87853
Commit: f76808351677f4e361f2acd9c4b3f385901d37ef
https://github.com/llvm/llvm-project/commit/f76808351677f4e361f2acd9c4b3f385901d37ef
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/const-composite.ll
A llvm/test/CodeGen/SPIRV/instructions/ret-type.ll
A llvm/test/CodeGen/SPIRV/instructions/select-phi.ll
M llvm/test/CodeGen/SPIRV/instructions/select.ll
Log Message:
-----------
[SPIR-V] Update type inference and instruction selection (#88254)
This PR contains a series of fixes which are to improve type inference
and instruction selection.
Namely, it includes:
* fix OpSelect to support operands of a pointer type, according to the
SPIR-V specification (previously only integer/float/vectors of integer
or float were supported) -- a new test case is added and existing test
case is updated;
* fix TableGen typo's in definition of register classes and introduce a
new reg class that is a vector of pointers;
* fix usage of a machine function context when there is a need to switch
between different machine functions to infer/validate correct types;
* add usage of TypedPointerType instead of PointerType so that later
stages of type inference are able to distinguish pointer types by their
element types, effectively supporting hierarchy of pointer/pointee types
and avoiding more complicated recursive type matching on level of
machine instructions in favor of direct pointer comparison using LLVM's
`Type *` values;
* extracting detailed information about operand types using known type
rules for some llvm instructions (for instance, by deducing PHI's
operand pointee types if PHI's results type was deducted on previous
stages of type inference), and adding correspondent
`Intrinsic::spv_assign_ptr_type` to keep type info along consequent
passes,
* ensure that OpConstantComposite reuses a constant when it's already
created and available in the same machine function -- otherwise there is
a crash while building a dependency graph, the corresponding test case
is attached,
* implement deduction of function's return type for opaque pointers, a
new test case is attached,
* make 'emit intrinsics' a module pass to resolve function return types
over the module -- first types for all functions of the module must be
calculated, and only after that it's feasible to deduct function return
types on this earlier stage of translation.
Commit: f7bf11cd8db29a178463f2a12b9f1589ecab64e2
https://github.com/llvm/llvm-project/commit/f7bf11cd8db29a178463f2a12b9f1589ecab64e2
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/gep-imm.ll
Log Message:
-----------
[LoongArch] Pre-commit test for #88694. NFC
Commit: 06714e1bfe8999c0acb5c9b94b60690f7b9d2904
https://github.com/llvm/llvm-project/commit/06714e1bfe8999c0acb5c9b94b60690f7b9d2904
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/ARM/attribute-big-endian.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
llvm-readobj/ARM: activate big-endian attribute printing (#87806)
Activate attribute printing for big-endian encoding for ARM. The
supporting code already exists, and the patch is trivial.
Fixes #62400.
Commit: 5fe146672d2b1c9f257a6ee045e0bc13fed1e504
https://github.com/llvm/llvm-project/commit/5fe146672d2b1c9f257a6ee045e0bc13fed1e504
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/switch-select.ll
Log Message:
-----------
[InstCombine] Simplify switch with selects (#84143)
An example from https://github.com/image-rs/image:
```
define void @test_ult_rhsc(i8 %x) {
%val = add nsw i8 %x, -2
%cmp = icmp ult i8 %val, 11
%cond = select i1 %cmp, i8 %val, i8 6
switch i8 %cond, label %bb1 [
i8 0, label %bb2
i8 10, label %bb3
]
bb1:
call void @func1()
unreachable
bb2:
call void @func2()
unreachable
bb3:
call void @func3()
unreachable
}
```
When `%cmp` evaluates to false, we can prove that the range of `%val` is
[11, umax]. Thus we can safely replace `%cond` with `%val` since both
`switch 6` and `switch %val` go to the default dest `%bb1`.
Alive2: https://alive2.llvm.org/ce/z/uSTj6w
Godbolt: https://godbolt.org/z/MGrG84bzr
This patch will benefit many rust applications and some C/C++
applications (e.g., cvc5).
Commit: 28d28d58bedf413671859b959b7ba06bccc5066d
https://github.com/llvm/llvm-project/commit/28d28d58bedf413671859b959b7ba06bccc5066d
Author: David Green <david.green at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/lrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/lrint-conv.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64][GlobalISel] Extend scalar lrint legalization. (#88360)
This extends the legalization of lrint, adding libcall support for
fp128. The old vector legal types were removed as they were not being
properly handled (vector lrint is a fairly new concept as far as I
understand). They can be re-added properly in a followup.
Commit: 36230f90eef455b6af867ca7ad4ed25d00ad5d3b
https://github.com/llvm/llvm-project/commit/36230f90eef455b6af867ca7ad4ed25d00ad5d3b
Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/X86/propagate-disjoint-in-shl-or.ll
Log Message:
-----------
[SelectionDAG] Propagate Disjoint flag. (#88370)
Signed-off-by: feng.feng <feng.feng at iluvatar.com>
Commit: 2347020e4ce62ee7c7378824dc6ad2b94917a638
https://github.com/llvm/llvm-project/commit/2347020e4ce62ee7c7378824dc6ad2b94917a638
Author: Dávid Ferenc Szabó <30732159+dfszabo at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[GlobalISel] Fix fewerElementsVectorPhi to insert after G_PHIs (#87927)
Currently the inserted mergelike instructions will be inserted at the
location of the G_PHI. Seems like the behaviour was correct before, but
the rework done in https://reviews.llvm.org/D114198 forgot to include
the part which makes sure the instructions will be inserted after all
the G_PHIs.
Commit: aa2741449c3609b2ae244d8d3f3e14ad16de72e4
https://github.com/llvm/llvm-project/commit/aa2741449c3609b2ae244d8d3f3e14ad16de72e4
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
Log Message:
-----------
Revert "[C++20] [Modules] Don't import non-inline function bodies even if it is marked as always_inline"
This reverts commit 1ecbab56dcbb78268c8d19af34a50591f90b12a0.
See the discussion in https://github.com/llvm/llvm-project/issues/86893.
The original commit receives too many complaints. Let's try to
workaround the issue to give better user experiences.
Commit: 7740e933c41f07444ead12fd0417c5e53c6a4c1a
https://github.com/llvm/llvm-project/commit/7740e933c41f07444ead12fd0417c5e53c6a4c1a
Author: abidh <haqadeer at amd.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
R flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
A flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Transforms/debug-line-table-existing.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table-inc-same-file.fir
M flang/test/Transforms/debug-line-table.fir
Log Message:
-----------
[flang] Rename AddDebugFoundation to AddDebugInfo (NFC) (#88526)
As discussed in PR 86939, this PR renames the pass and updates the
references. The actual changes for debug info will come in separate PRs.
Commit: 8ddaf750746d7f9b5f7e878870b086edc0f55326
https://github.com/llvm/llvm-project/commit/8ddaf750746d7f9b5f7e878870b086edc0f55326
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix rsqrt inaccuracies. (#88691)
The current lowering has issues with large/subnormal values. This ports
XLA's lowering and was verified using XLA's test suite and the
MLIR-based emitters.
Commit: f2923e31b64907df44ae641114228ad6e283627f
https://github.com/llvm/llvm-project/commit/f2923e31b64907df44ae641114228ad6e283627f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPInterfaces.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR][OpenMP] Introduce the LoopWrapperInterface (#87232)
This patch defines a common interface to be shared by all OpenMP loop
wrapper operations. The main restrictions these operations must meet in
order to be considered a wrapper are:
- They contain a single region.
- Their region contains a single block.
- Their block only contains another loop wrapper or `omp.loop_nest` and
a terminator.
The new interface is attached to the `omp.parallel`, `omp.wsloop`,
`omp.simdloop`, `omp.distribute` and `omp.taskloop` operations. It is
not currently enforced that these operations meet the wrapper
restrictions, which would break existing OpenMP loop-generating code.
Rather, this will be introduced progressively in subsequent patches.
Commit: c7bd284dc3ff21a5a14b4ccbbfa1988de8723c33
https://github.com/llvm/llvm-project/commit/c7bd284dc3ff21a5a14b4ccbbfa1988de8723c33
Author: shamithoke <152091883+shamithoke at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
Support for i8/i16 for bitreverse using GFNI. (#88625)
In continuation to the PR #81764, this change extends the GFNI support to i8 and i16.
---------
Co-authored-by: shami <shami_thoke at yahoo.com>
Commit: b4e7b56403387630d4c390ea4f53921312326e34
https://github.com/llvm/llvm-project/commit/b4e7b56403387630d4c390ea4f53921312326e34
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Revert "Fix rsqrt inaccuracies." (#88705)
Reverts llvm/llvm-project#88691
Commit: 45137766ca6be16b9bc6082eb9bedae7bc621437
https://github.com/llvm/llvm-project/commit/45137766ca6be16b9bc6082eb9bedae7bc621437
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
A llvm/test/CodeGen/ARM/misched-branch-targets.mir
Log Message:
-----------
[ARM][Thumb2] Mark BTI-clearing instructions as scheduling region boundaries (#87982)
Following https://github.com/llvm/llvm-project/pull/68313 this patch
extends the idea to M-profile PACBTI.
The Machine Scheduler can reorder instructions within a scheduling
region depending on the scheduling policy set. If a BTI-clearing
instruction happens to partake in one such region, it might be moved
around, therefore ending up where it shouldn't.
The solution is to mark all BTI-clearing instructions as scheduling
region boundaries. This essentially means that they must not be part of
any scheduling region, and as consequence never get moved:
- PAC
- PACBTI
- BTI
- SG
Note that PAC isn't BTI-clearing, but it's replaced by PACBTI late in
the compilation pipeline.
As far as I know, currently it isn't possible to organically obtain code
that's susceptible to the bug:
- Instructions that write to SP are region boundaries. PAC seems to
always be followed by the pushing of r12 to the stack, so essentially
PAC is always by itself in a scheduling region.
- CALL_BTI is expanded into a machine instruction bundle. Bundles are
unpacked only after the last machine scheduler run. Thus setjmp and BTI
can be separated only if someone deliberately run the scheduler once
more.
- The BTI insertion pass is run late in the pipeline, only after the
last machine scheduling has run. So once again it can be reordered only
if someone deliberately runs the scheduler again.
Nevertheless, one can reasonably argue that we should prevent the bug in
spite of the compiler not being able to produce the required conditions
for it. If things change, the compiler will be robust against this
issue.
The tests written for this are contrived: bogus MIR instructions have
been added adjacent to the BTI-clearing instructions in order to have
them inside non-trivial scheduling regions.
Commit: 0822780b7ffa552b351364be350a997a47f22250
https://github.com/llvm/llvm-project/commit/0822780b7ffa552b351364be350a997a47f22250
Author: wanglei <wanglei at loongson.cn>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/gep-imm.ll
Log Message:
-----------
[LoongArch] Fix incorrect logic in isLegalAddressingMode() (#88694)
This will adress issue:
https://github.com/ClangBuiltLinux/linux/issues/2014
Commit: 33e60f358cc0c564e771c0234dd8a60f3bddce5d
https://github.com/llvm/llvm-project/commit/33e60f358cc0c564e771c0234dd8a60f3bddce5d
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
Log Message:
-----------
Fix rsqrt inaccuracies. (#88707)
The current lowering has issues with large/subnormal values. This po
XLA's lowering and was verified using XLA's test suite and the
MLIR-based emitters.
This updates https://github.com/llvm/llvm-project/pull/88691 to also
update the correctness test for rsqrt(0). I checked C++ and Python, they
both agree the result should be (inf, nan). Updated the correctness test
to match this.
Commit: 5b95c9e0cad189cc609c31029f6bc3a89bc7b612
https://github.com/llvm/llvm-project/commit/5b95c9e0cad189cc609c31029f6bc3a89bc7b612
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/OpDefinition.h
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/op-format.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][ODS] Make `prop-dict` behave closer to `attr-dict` (#88659)
`attr-dict` currently prints any attribute (inherent or discardable)
that does not occur elsewhere in the assembly format. `prop-dict` on the
other hand, always prints and parses all properties (including inherent
attributes stored as properties) as part of the property dictionary,
regardless of whether the properties or attributes are used elsewhere.
(with the exception of default-valued attributes implemented recently in
https://github.com/llvm/llvm-project/pull/87970).
This PR changes the behavior of `prop-dict` to only print and parse
attributes and properties that do not occur elsewhere in the assembly
format. This is achieved by 1) adding used attributes and properties to
the elision list when printing and 2) using a custom version of
`setPropertiesFromAttr` called `setPropertiesFromParsedAttr` that is
sensitive to the assembly format and auto-generated by ODS.
The current and new behavior of `prop-dict` and `attr-dict` were also
documented.
Happens to also fix https://github.com/llvm/llvm-project/issues/88506
Commit: 7dbba39e583a3fd64e7e6b947251c035e483f054
https://github.com/llvm/llvm-project/commit/7dbba39e583a3fd64e7e6b947251c035e483f054
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Verifier.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
M llvm/test/Verifier/tbaa-struct.ll
Log Message:
-----------
Reapply "[TBAA] Add verifier for tbaa.struct metadata (#86709)"
This reverts commit b9cd48f96acdd07c627ccafbf4386a1f3dcd6c51.
-------------------------------------------------------------
Original commit message:
Adds logic to the IR verifier that checks whether !tbaa.struct nodes are
well-formed. That is, it checks that the operands of !tbaa.struct nodes
are in groups of three, that each group of three operands consists of
two integers and a valid tbaa node, and that the regions described by
the offset and size operands are non-overlapping.
PR: https://github.com/llvm/llvm-project/pull/86709
Commit: c006b9088fa564fe343550a8dd5f9b0ad0c15b75
https://github.com/llvm/llvm-project/commit/c006b9088fa564fe343550a8dd5f9b0ad0c15b75
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add test for dump of recipe not inserted in VPlan. (NFC)
Add extra tests for printing recipes not inserted in a VPlan yet, e.g.
when using a debugger.
Guard against regressions in changes to printing, i.e.
https://github.com/llvm/llvm-project/pull/81411.
Commit: e060cb26d9b503ea5138909ec5c7099e7d4499c2
https://github.com/llvm/llvm-project/commit/e060cb26d9b503ea5138909ec5c7099e7d4499c2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add isCompletePermute helper for single input shuffles where we don't lose/reuse any vector element. NFC
Matches purely reorder shuffles.
Commit: 4859a593f4016f0a78e2fadf21722e370560c5e9
https://github.com/llvm/llvm-project/commit/4859a593f4016f0a78e2fadf21722e370560c5e9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Extend recipe printing tests with underlying IR values. (NFC)
Make tests added in c006b9088fa56 more interesting by using an
underlying IR value as well.
Commit: f78b3466caa9296b32ec235dee87ace2dea94507
https://github.com/llvm/llvm-project/commit/f78b3466caa9296b32ec235dee87ace2dea94507
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/fold-fabs.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
ValueTracking: Treat poison more aggressively in computeKnownFPClass (#87990)
Assume no valid values, and the sign bit is 0.
Commit: 6acc50ae5b5971af563a0f40b5f0279870171541
https://github.com/llvm/llvm-project/commit/6acc50ae5b5971af563a0f40b5f0279870171541
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
Log Message:
-----------
Fix typo in computeKnownBits_AVGFLOORU_AVGFLOORS_AVGCEILU_AVGCEILS.
ISD::AVGFLOORU -> ISD::AVGFLOORS
Commit: 14774ad59da4aaa8eb3da21c8c53b59834a1aeb7
https://github.com/llvm/llvm-project/commit/14774ad59da4aaa8eb3da21c8c53b59834a1aeb7
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Remove unused function (NFC)
llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:3537:13:
error: unused function 'isAnyZeroOrUndef' [-Werror,-Wunused-function]
static bool isAnyZeroOrUndef(ArrayRef<int> Mask) {
^
1 error generated.
Commit: 9da0ef165efd91b862b8c3cff1604472476839d6
https://github.com/llvm/llvm-project/commit/9da0ef165efd91b862b8c3cff1604472476839d6
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix complex tanh overflows. (#88708)
This ports the XLA lowering and was verified using XLA's
exhaustive_unary_test_complex test.
Commit: d48ebac0389ba75defce5bd83d8539d51008b28d
https://github.com/llvm/llvm-project/commit/d48ebac0389ba75defce5bd83d8539d51008b28d
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
Log Message:
-----------
[LLVM][SVE][CodeGen] Fix incorrect isel for signed saturating instructions. (#88136)
The immediate forms of SQADD and SQSUB interpret their immediate
operand as unsigned and thus effectively only support positive
immediate operands.
The original code is only wrong for the i8 cases because they
previously accepted all values, however, the new patterns enable more
uses and this I've added tests for the larger element types as well.
Commit: 6254b6dd892728306ddfe657f10eb43a3799864d
https://github.com/llvm/llvm-project/commit/6254b6dd892728306ddfe657f10eb43a3799864d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Version VPValue names in VPSlotTracker. (#81411)
This patch restructures the way names for printing VPValues are handled.
It moves the logic to generate names for printing to VPSlotTracker.
VPSlotTracker will now version names of the same underlying value if it
is used by multiple VPValues, by adding a .V suffix to the name.
This fixes cases where at the moment the same name is printed for
different VPValues.
PR: https://github.com/llvm/llvm-project/pull/81411
Commit: 8095b9ce6bf5831a14c72028920708f38d13d0c3
https://github.com/llvm/llvm-project/commit/8095b9ce6bf5831a14c72028920708f38d13d0c3
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[clang analysis] ExprMutationAnalyzer avoid infinite recursion for recursive forwarding reference (#87954)
Commit: 673da8c83413c4d1e7e76e1b52a2924e837e7221
https://github.com/llvm/llvm-project/commit/673da8c83413c4d1e7e76e1b52a2924e837e7221
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-intrinsics-while.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Remove bogus lowering of sve_while{gt/ge/hi/hs} intrinsics. (#88126)
When fed constant operands we try to lower WHILE intrinsics to PTRUE
using a fixed length pattern. This is not valid for the decrementing
variants of WHILE because they construct their result predicate vector
by traversing from high->low lanes whereas the incrementing variants and
PTRUE traverse from low->high lanes.
Whilst we can still utilise PTRUE by reversing its result I figure
replacing a single WHILE with multiple SVE instructions is likely
counterproductive.
Commit: 7b039c0cf0045d81da7e1575232a46266cff1e88
https://github.com/llvm/llvm-project/commit/7b039c0cf0045d81da7e1575232a46266cff1e88
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
A llvm/test/Bitcode/dbg-label-record-bc.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Fix error from not tracking seen debug labels (#88718)
Fixes the reported errors on:
https://github.com/llvm/llvm-project/pull/87379
A previous patch updated the bitcode reading for debug
intrinsics/records to not perform the expensive debug info format
conversion from records to intrinsics in cases where no records were
present, but the patch did not actually track when debug labels had been
seen, resulting in errors when parsing bitcode where functions contained
debug label records but no other debug records. This patch fixes that
case and adds a test for it.
Commit: 58d4470fa49443da1477a7d2e43685e91bbd6630
https://github.com/llvm/llvm-project/commit/58d4470fa49443da1477a7d2e43685e91bbd6630
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Remove scaleVectorShuffleBlendMask and use APIntOps::ScaleBitMask directly.
Commit: 7089c359a3845323f6f30c44a47dd901f2edfe63
https://github.com/llvm/llvm-project/commit/7089c359a3845323f6f30c44a47dd901f2edfe63
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
Log Message:
-----------
[LLVM][SelectionDAG] Allow verification of target ISD nodes. (#88121)
Patch includes an initial implementation for AArch64 that covers a
handful of nodes where I've observed bogus nodes within the DAG.
Commit: 2e0e3b0f10b5c433504e31ca73e55f86e0b27660
https://github.com/llvm/llvm-project/commit/2e0e3b0f10b5c433504e31ca73e55f86e0b27660
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split single width convert to FP pseudos by SEW
Commit: 60a1158f31bb99a5d049d5cac5a704d906a1277e
https://github.com/llvm/llvm-project/commit/60a1158f31bb99a5d049d5cac5a704d906a1277e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split Widening convert to FP pseudos by SEW
Commit: 469493f55639a5cce2fc69300222be609fcc5238
https://github.com/llvm/llvm-project/commit/469493f55639a5cce2fc69300222be609fcc5238
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split narrowing convert to FP pseudos by SEW
Commit: 1b310c45e914f0a76fa594bebdff44e7a386d4f9
https://github.com/llvm/llvm-project/commit/1b310c45e914f0a76fa594bebdff44e7a386d4f9
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split PseudoVFMIN, PseudoVFMAX PseudoVFSGNJ, PseudoVFSGNJN, and PseudoVFSGNJX by SEW
Commit: 17cb8a537b688ac6e4187f28f9e784491bb8abc5
https://github.com/llvm/llvm-project/commit/17cb8a537b688ac6e4187f28f9e784491bb8abc5
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
A flang/test/Parser/OpenMP/reduction-modifier.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[Flang][OpenMP] Accept the reduction modifier (#86492)
Accept the reduction modifier in the Flang parser. Issue a TODO message
during lowering.
OpenMP 5.0 introduced the reduction modifier. Details can be seen in
2.19.5.4 reductionClause.
OpenMP 5.2 relevant section is 5.5.8reductionClause.
This will help remove some of the parser errors highlighted in the
following post and also bring it to a well defined behaviour (produce
TODO errors for unsupported features, do not crash).
https://discourse.llvm.org/t/proposal-rename-flang-new-to-flang/69462/60
Commit: 67e733d36ef0c5ec9fab899ecf9f191d83c7d418
https://github.com/llvm/llvm-project/commit/67e733d36ef0c5ec9fab899ecf9f191d83c7d418
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Core/Relocation.cpp
Log Message:
-----------
[BOLT][NFC] Refactor relocation printing (#88180)
Some refactoring.
* Make the arrays themselves const -- not just the strings being pointed to.
* Move each relocation array to the case using it.
* Add a suitable assert, to make sure there's no out-of-bounds indexing.
Commit: 105dcc882cf0152baeaa02ac0e50e2527b6940db
https://github.com/llvm/llvm-project/commit/105dcc882cf0152baeaa02ac0e50e2527b6940db
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/builtins/any.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
Log Message:
-----------
[HLSL][SPIRV] Add any intrinsic lowering (#88325)
- `CGBuiltin.cpp` - Switch to using
`CGM.getHLSLRuntime().get##NAME##Intrinsic()`
- `CGHLSLRuntime.h` - Add any to backend intrinsic abstraction
- `IntrinsicsSPIRV.td` - Add any intrinsic to SPIR-V.
- `SPIRVInstructionSelector.cpp` - Add means of selecting any intrinsic.
Any and All share the same behavior up to the opCode. They are only
different in vector cases.
Completes #88045
Commit: 32cb3c55080eec70abf282fbe75e6a58cf76f92a
https://github.com/llvm/llvm-project/commit/32cb3c55080eec70abf282fbe75e6a58cf76f92a
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
A llvm/include/llvm/CodeGen/LiveDebugVariables.h
M llvm/lib/CodeGen/LiveDebugVariables.cpp
R llvm/lib/CodeGen/LiveDebugVariables.h
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Move LiveDebugVariables.h into llvm/include/llvm/CodeGen (#88374)
This patch make `LiveDebugVariables` can be used by passes outside of
`lib/CodeGen`.
If we run a pass that occurs between the split register allocation pass
without preserving this pass, it will be freed and recomputed until it
encounters the next pass that needs LiveDebugVariables.
However, `LiveDebugVariables` will raise an assertion due to the pass
being freed without emitting a debug value.
This is reason we need `LiveDebugVariables` to be available for passes
outside of lib/Codegen.
Commit: c3d58867bd3da85958dbbb46c4a22c0d3c60af66
https://github.com/llvm/llvm-project/commit/c3d58867bd3da85958dbbb46c4a22c0d3c60af66
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.h
A llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-call-streaming-compatible-to-normal-fn-wihout-sme-attr.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-mode-changing-call-disable-stackslot-scavenging.ll
Log Message:
-----------
[AArch64][SME] Create new pass to remove COALESCER_BARRIER early. (#85386)
The purpose of the COALESCER_BARRIER pseudo node is to prevent the
register coalescer from coalescing certain COPY instructions around
smstart/smstop instructions, so that we spill only the (required) FPR
register rather than the encompassing ZPR register.
The pseudos are removed in the AArch64ExpandPseudo pass. However,
because the node itself is a _use_ of a register, this occassionally
leads to redundant spills/fills, because the register allocator thinks
the virtual register is actually used before an smstart/smstop
instruction, causing it to be filled, at which points it requires
immediate spilling again to ensure it stays live over the smstart/smstop
instruction.
We can avoid that by removing the pseudo nodes right after coalescing,
but before register allocation.
Commit: b68ff060ab70c44fb617e34451003f34ff062d2b
https://github.com/llvm/llvm-project/commit/b68ff060ab70c44fb617e34451003f34ff062d2b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryData.h
M bolt/lib/Core/BinaryData.cpp
Log Message:
-----------
[BOLT][NFC] Remove unused BinaryData::hasNameRegex (#88618)
Commit: a3ce29f7bb5510131971ac5ccc63132dd48c8dd2
https://github.com/llvm/llvm-project/commit/a3ce29f7bb5510131971ac5ccc63132dd48c8dd2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/pstl_backends/cpu_backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
A libcxx/include/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/module.modulemap
M libcxx/src/pstl/libdispatch.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
M libcxx/utils/generate_iwyu_mapping.py
Log Message:
-----------
[libc++][PSTL] Introduce cpu traits (#88134)
Currently, CPU backends in the PSTL are created by defining functions
in the __par_backend namespace. Then, the PSTL includes the CPU backend
that gets configured via CMake and gets those definitions.
This prevents CPU backends from easily co-existing and is a bit
confusing.
To solve this problem, this patch introduces the notion of __cpu_traits,
which is a cheap encapsulation of the basis operations required to
implement a CPU-based PSTL. Different backends can now define their own
tag and coexist, and the CPU-based PSTL will simply use __cpu_traits to
dispatch to the right implementation of e.g. __for_each.
Note that this patch doesn't change the actual implementation of the
backends in any way, it only modifies how that implementation is
accessed
to implement PSTL algorithms.
This patch is a step towards #88131.
Commit: 7e4c6e98fa05f5c3bf14f96365ae74a8d12c6257
https://github.com/llvm/llvm-project/commit/7e4c6e98fa05f5c3bf14f96365ae74a8d12c6257
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/knownbits-intrinsics-binop.ll
Log Message:
-----------
[SystemZ] Bugfix in getDemandedSrcElements(). (#88623)
For the intrinsic s390_vperm, all of the elements are demanded, so use
an APInt with the value of '-1' for them (not '1').
Fixes https://github.com/llvm/llvm-project/issues/88397
Commit: a2691959cd23de9505243e9396897a3415606689
https://github.com/llvm/llvm-project/commit/a2691959cd23de9505243e9396897a3415606689
Author: whisperity <whisperity at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-use-errs.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[clang-tidy][NFC] Fix `linuxkernel-must-check-errs` documentation file name (#88655)
The check was originally introduced in commit
fc8c65b2e11d21b1c0ce070cc0a4ee031a542dae with conflicting names, likely as a
result of a partial rename, with the name in the documentation
(`linuxkernel-must-use-errs`) not matching the name of the check as configured
by users.
Commit: a06073f91e7bbbb532e68bbf6b903c2f5051f4c2
https://github.com/llvm/llvm-project/commit/a06073f91e7bbbb532e68bbf6b903c2f5051f4c2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__utility/is_pointer_in_range.h
A libcxx/include/__utility/is_valid_range.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
A libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
Log Message:
-----------
[libc++] Add a utility to check whether a range is valid (#87665)
In the future, this utility could be made to also work with iterators,
including bounded iterators. We could also query the ASAN runtime for
this information when it's around.
Commit: 7b9b28dbd2938877a94737e28b7eb9e3cdd82755
https://github.com/llvm/llvm-project/commit/7b9b28dbd2938877a94737e28b7eb9e3cdd82755
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Clang] Refactor implementation of "Lifetime extension in range-based for loops" (#87930)
This PR remove `InMaterializeTemporaryObjectContext` , because it's
redundant, materialize non-cv void prvalue temporaries in discarded
expressions can only appear under lifetime-extension context.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 8927ac865755d7e98411500a7a2da70e8a185cc2
https://github.com/llvm/llvm-project/commit/8927ac865755d7e98411500a7a2da70e8a185cc2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT] Fix a warning
This patch fixes:
bolt/lib/Profile/BoltAddressTranslation.cpp:380:37: error: operator
'<<' has lower precedence than '+'; '+' will be evaluated first
[-Werror,-Wshift-op-parentheses]
Commit: b4776b8d8ea742a46039002fac4c280e619ac48d
https://github.com/llvm/llvm-project/commit/b4776b8d8ea742a46039002fac4c280e619ac48d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[libc++][CI] Tests LLDB libc++ data formatters. (#88312)
This enables testing of the LLDB libc++ specific data formatters.
This is enabled in the bootstrap build since building LLDB requires
Clang and this
is quite expensive. Adding this test changes the build time from 31 to
34 minutes.
Commit: 1c63a3e0cdb3f02098f8ec525ca31a3b44d9d31b
https://github.com/llvm/llvm-project/commit/1c63a3e0cdb3f02098f8ec525ca31a3b44d9d31b
Author: mmoadeli <mahmoud.moadeli at codeplay.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
Log Message:
-----------
Resolve static analyser report on pointer dereferencing after null check (#88278)
- Resolve Static Analyzer Check Failure: Pointer Dereferencing After
Null Check.
- Minor naming and style improvement
Commit: 9abb1ffc5cb75465340cb604988d1e386415bd72
https://github.com/llvm/llvm-project/commit/9abb1ffc5cb75465340cb604988d1e386415bd72
Author: Valery Dmitriev <valery.n.dmitriev at intel.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/ext-int-reduced-not-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
Log Message:
-----------
[SLP][NFC] Add option to bypass early profitability check. (#88594)
The option intended primarily for LIT tests to suppress heuristic based
profitability check and proceed vectorization of a seemingly
unprofitable alternate operation pattern. This allows the vectorizer to
execute path that was the original intent of a test.
Commit: 55b6f17071d25b77fcdc910ca9b15f89305137e0
https://github.com/llvm/llvm-project/commit/55b6f17071d25b77fcdc910ca9b15f89305137e0
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
A mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
A mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
A mlir/test/Dialect/Polynomial/attributes.mlir
A mlir/test/Dialect/Polynomial/types.mlir
Log Message:
-----------
Add a polynomial dialect shell, attributes, and types (#72081)
RFC:
https://discourse.llvm.org/t/rfc-a-poly-dialect-for-polynomial-arithmetic/73891
This PR implements the minimal work needed to represent the polynomial
type such that it can be tested with `lit`.
In this PR:
- Dialect shell
- `Polynomial` data structure needed for folding
- Polynomial attributes (`PolynomialAttr` and `RingAttr` which store a polynomial)
- `polynomial.polynomial` type
- Basic lit tests
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: f8d314f0ee5e750e1e47b47fb55d14f6d1e991e1
https://github.com/llvm/llvm-project/commit/f8d314f0ee5e750e1e47b47fb55d14f6d1e991e1
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Affine/value-bounds-reification.mlir
M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
M mlir/test/lib/Dialect/Affine/CMakeLists.txt
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestDialect.h
M mlir/test/lib/Dialect/Test/TestOps.td
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][Interfaces][NFC] Add TableGen test op for value bounds tests (#88717)
This commit is a code cleanup. It defines the test ops the are used for
the `ValueBoundsOpInterface` tests in TableGen, along with proper
verifiers.
---------
Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>
Commit: a34887550b7f2926ea335d4aedf8b72811f9c945
https://github.com/llvm/llvm-project/commit/a34887550b7f2926ea335d4aedf8b72811f9c945
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
A lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
Log Message:
-----------
[LLDB][libc++] Adds valarray proxy data formatters. (#88613)
These proxies are returned by operator[](...). These proxies all
"behave" the same. They store a pointer to the data of the valarray they
are a proxy for and they have an internal array of indices. This
internal array is considered its contents.
Commit: 9dbb6e1978d3d2d61ef65c2dac1fd8add5a4c7a2
https://github.com/llvm/llvm-project/commit/9dbb6e1978d3d2d61ef65c2dac1fd8add5a4c7a2
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
M mlir/include/mlir/Dialect/SPIRV/IR/TargetAndABI.h
M mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/test/Conversion/GPUToSPIRV/entry-point.mlir
M mlir/test/lib/Dialect/SPIRV/TestEntryPointAbi.cpp
Log Message:
-----------
[mlir][spirv] Add target width to SPIR-V ABI (#88555)
There are execution modes need target width as their extra operands.
SignedZeroInfNanPreserve is one of them. This patch adds `target width`
as one of SPIR-V ABI attributes.
Commit: e09245b3b16fe78e30e79e92f8ce16d1edf7787b
https://github.com/llvm/llvm-project/commit/e09245b3b16fe78e30e79e92f8ce16d1edf7787b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Fix typos in serializedSizeV0 and serializedSizeV2 (#88629)
The first field to serialize is the size of
IndexedMemProfRecord::AllocSites. It has nothing to do with
GlobalValue::GUID. This happens to work because of:
using GUID = uint64_t;
Commit: 51d85b7b107e9508b90cec274f3f122444fe7ee6
https://github.com/llvm/llvm-project/commit/51d85b7b107e9508b90cec274f3f122444fe7ee6
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/unittests/Support/EndianTest.cpp
Log Message:
-----------
[Support] Add llvm::support::endian::writeNext (#88685)
`writeNext` overloads increase the pointer argument like `readNext`.
Code like the following
```
endian::write32<ELFT::Endianness>(p, 42);
p += 4;
endian::write32<ELFT::Endianness>(p, 43);
p += 4;
```
can be simplified to:
```
endian::writeNext<uint32_t, ELFT::Endianness>(p, 42);
endian::writeNext<uint32_t, ELFT::Endianness>(p, 43);
```
Commit: 603fa4c6b9a540206ec6f6b2115274878b65bfbb
https://github.com/llvm/llvm-project/commit/603fa4c6b9a540206ec6f6b2115274878b65bfbb
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Be more obvious about selecting X86 (#88527)
Use `isX86()` rather than `!isAArch64() && !isRISCV()`, and similar.
Commit: bd7b170e97e314cb786dd33a750ef79412fc9682
https://github.com/llvm/llvm-project/commit/bd7b170e97e314cb786dd33a750ef79412fc9682
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Remove extraneous braces (#88620)
A small cleanup -- no braces needed here.
Commit: 9c970d5ecd6a85188cd2b0a941fcd4d60063ef81
https://github.com/llvm/llvm-project/commit/9c970d5ecd6a85188cd2b0a941fcd4d60063ef81
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lld/COFF/Chunks.cpp
A lld/test/COFF/autoimport-gc.s
Log Message:
-----------
[LLD] [COFF] Don't add pseudo relocs for dangling references (#88487)
When doing GC, we normally won't have dangling references, because such
a reference would keep the other section alive, keeping it from being
eliminated.
However, references within DWARF sections are ignored for the purposes
of GC (because otherwise, they would essentially keep everything alive,
defeating the point of the GC), see
c579a5b1d92a9bc2046d00ee2d427832e0f5ddec for more context.
Therefore, dangling relocations against discarded symbols are ignored
within DWARF sections (see maybeReportRelocationToDiscarded in
Chunks.cpp). Consequently, we also shouldn't create any pseudo
relocations for these cases, as we run into a null pointer dereference
when trying to generate the pseudo relocation info for it.
This fixes the downstream bug
https://github.com/mstorsjo/llvm-mingw/issues/418, fixing crashes on
combinations with -ffunction-sections, -fdata-sections,
-Wl,--gc-sections and debug info.
Commit: 64dc55835a1552dbe74eef79460094014edf659e
https://github.com/llvm/llvm-project/commit/64dc55835a1552dbe74eef79460094014edf659e
Author: David Tenty <daltenty at ibm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libcxxabi/src/aix_state_tab_eh.inc
Log Message:
-----------
[NFC][libunwind][AIX] Add diagnostic push and TODO
clang treats the cast here as an error since 999d4f840777bf8de26d45947192aa0728edc0fb landed
with -Xextra -Werror. We believe this cast to be safe for the reasons noted in comment, but
we should do some further cleanup at some point.
Commit: 4d28d3f93bfee3cecbeb234d1ce306250e12e912
https://github.com/llvm/llvm-project/commit/4d28d3f93bfee3cecbeb234d1ce306250e12e912
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/umed3.ll
M llvm/test/CodeGen/ARM/usat.ll
Log Message:
-----------
[SDAG] Turn umin into smin if the saturation pattern is broken (#88505)
As we canonicalizes smin with non-negative operands into umin in the
middle-end, the saturation pattern will be broken.
This patch reverts the transform in DAGCombine to fix the regression on
ARM.
Fixes https://github.com/llvm/llvm-project/issues/85706.
Commit: b2f07a91192596a3584040208b7fac4f5ef0dd9c
https://github.com/llvm/llvm-project/commit/b2f07a91192596a3584040208b7fac4f5ef0dd9c
Author: Florian Mayer <fmayer at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
Revert "[clang analysis] ExprMutationAnalyzer avoid infinite recursion for recursive forwarding reference" (#88765)
Reverts llvm/llvm-project#87954
Broke sanitizer bots, e.g.
https://lab.llvm.org/buildbot/#/builders/239/builds/6587/steps/10/logs/stdio
Commit: b5b17bf613010b5ea900d2981365b9d2c846a20f
https://github.com/llvm/llvm-project/commit/b5b17bf613010b5ea900d2981365b9d2c846a20f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Fix assertion failure in `genShXAddAddShift` (#88757)
Fix assertion failure in our downstream CI
https://github.com/dtcxzyw/llvm-codegen-benchmark/issues/1.
Commit: 09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4
https://github.com/llvm/llvm-project/commit/09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Reapply "[llvm] Teach whole program devirtualization about relative vtables"
This reverts commit 474f5efebed24547e76d022f0c5ffcc9db97ce6f.
Commit: b8b2f9902cb23af0811ec218a4f43226c0691510
https://github.com/llvm/llvm-project/commit/b8b2f9902cb23af0811ec218a4f43226c0691510
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
Log Message:
-----------
Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent"
This reverts commit 1c604a9780fcfe92a99d539913553f0835b81de3.
Commit: 472ccf61a39387098ad3ed66c1353f82c7245ba3
https://github.com/llvm/llvm-project/commit/472ccf61a39387098ad3ed66c1353f82c7245ba3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 61f1f1300254
Commit: c71be83638917f089f8f154525cc6d6f61591f21
https://github.com/llvm/llvm-project/commit/c71be83638917f089f8f154525cc6d6f61591f21
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port a06073f91e7b
Commit: 8969bf3ea670dfeafbac53624883dc5c7ce23f0c
https://github.com/llvm/llvm-project/commit/8969bf3ea670dfeafbac53624883dc5c7ce23f0c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Log Message:
-----------
[gn build] Port a11a4324bb27
Commit: 2f720a1c65e0b9669e67d7c319d77d6c221d423d
https://github.com/llvm/llvm-project/commit/2f720a1c65e0b9669e67d7c319d77d6c221d423d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port a3ce29f7bb55
Commit: 2601ce41d6139761a4267b7cc4add4fea499d172
https://github.com/llvm/llvm-project/commit/2601ce41d6139761a4267b7cc4add4fea499d172
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Log Message:
-----------
[gn build] Port c11976f525f3
Commit: 831515147c551f2c2dc7289d4bc0be2215e6b445
https://github.com/llvm/llvm-project/commit/831515147c551f2c2dc7289d4bc0be2215e6b445
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn build] Port c3d58867bd3d
Commit: b570eb5e99567c92636279d014f376938fe4e79a
https://github.com/llvm/llvm-project/commit/b570eb5e99567c92636279d014f376938fe4e79a
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn build] Manually port 44de2bb
Commit: fa5fdfb126f9beeaa2f719930ef951d339f41e36
https://github.com/llvm/llvm-project/commit/fa5fdfb126f9beeaa2f719930ef951d339f41e36
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/LowerEmuTLS.cpp
Log Message:
-----------
[CodeGen] Remove extraneous ArrayRef (NFC) (#88601)
We don't need to create these instances of ArrayRef because
StructType::create and ConstantStruct::get take ArrayRef, and ArrayRef
can be implicitly constructed from C arrays.
Commit: e39c653dbab3b4fdc5118219c7b5179244d0e1b6
https://github.com/llvm/llvm-project/commit/e39c653dbab3b4fdc5118219c7b5179244d0e1b6
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port a34887550b7f
Commit: 1c5d5478f7f35d7f212fcbf2af042fc3c720e9ed
https://github.com/llvm/llvm-project/commit/1c5d5478f7f35d7f212fcbf2af042fc3c720e9ed
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
Log Message:
-----------
Revert "Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent""
This reverts commit b8b2f9902cb23af0811ec218a4f43226c0691510.
This was failing on a local build.
Commit: c0b77e0a4a9bb090e5ad3a28adcd0aa98715cfe5
https://github.com/llvm/llvm-project/commit/c0b77e0a4a9bb090e5ad3a28adcd0aa98715cfe5
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Revert "Reapply "[llvm] Teach whole program devirtualization about relative vtables""
This reverts commit 09c3bfe9b3eb47a2af0c10531b25f90cfb5fa9f4.
Commit: b7b183371b54a2c4b5d2a39c594d3967a7384cb8
https://github.com/llvm/llvm-project/commit/b7b183371b54a2c4b5d2a39c594d3967a7384cb8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Improve perf of BoUpSLP::buildExternalUses function, NFC.
Perform required operations, only when the result is required + check if
value was not inserted already into the list of the externally used
scalars and early exit, if it was.
Commit: 3eb097339e5fb78e91182674e891445ebe5a845b
https://github.com/llvm/llvm-project/commit/3eb097339e5fb78e91182674e891445ebe5a845b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld/mac] Fix (adorable!) typo to cycle bots
Commit: 58c5f50f4c73945fdc5440dee2fba03267a460d4
https://github.com/llvm/llvm-project/commit/58c5f50f4c73945fdc5440dee2fba03267a460d4
Author: Leonard Chan <leonardchan at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TypeMetadataUtils.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/TypeMetadataUtils.cpp
M llvm/test/ThinLTO/X86/devirt.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
M llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
M llvm/test/Transforms/WholeProgramDevirt/Inputs/export.yaml
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll
M llvm/test/Transforms/WholeProgramDevirt/constant-arg.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-check.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl-multiple-assumes.ll
M llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/pointer-vtable.ll
Log Message:
-----------
Reapply "[llvm] Teach GlobalDCE about dso_local_equivalent"
Also reapply "[llvm] Teach whole program devirtualization about
relative vtables"
This reverts commit 1c604a9780fcfe92a99d539913553f0835b81de3 and
474f5efebed24547e76d022f0c5ffcc9db97ce6f.
Commit: 75bbf4dd7cfda744d4a2487cfd06a58194d02db3
https://github.com/llvm/llvm-project/commit/75bbf4dd7cfda744d4a2487cfd06a58194d02db3
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/fenv_t.h
A libc/hdr/types/fexcept_t.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/feupdateenv.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
Log Message:
-----------
[libc] Add proxy headers for fenv types. (#88467)
Fixes #88187
Commit: 45339568486cafaa414a1e40d73a251f7d15e284
https://github.com/llvm/llvm-project/commit/45339568486cafaa414a1e40d73a251f7d15e284
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] add polynomial dialect in bazel BUILD
Commit: f9d761df50d12147fc7caa19927be81816d60e2d
https://github.com/llvm/llvm-project/commit/f9d761df50d12147fc7caa19927be81816d60e2d
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/tools/llvm-dis-fuzzer/CMakeLists.txt
M llvm/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp
Log Message:
-----------
[tools] Fix `LLVM_USE_SANITIZE_COVERAGE` build (#87722)
Commit: c31a8104d1173d79f8b71518829046b441d98d59
https://github.com/llvm/llvm-project/commit/c31a8104d1173d79f8b71518829046b441d98d59
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
Log Message:
-----------
[RISCV] Add -mattr=+v to intrinsic-cttz-elts.ll. NFC
Commit: b153c05cba9be7f009b8ad8413c5840baf7d278c
https://github.com/llvm/llvm-project/commit/b153c05cba9be7f009b8ad8413c5840baf7d278c
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
A mlir/test/Dialect/SCF/uplift-while.mlir
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
A mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][scf] Uplift `scf.while` to `scf.for` (#76108)
Add uplifting from `scf.while` to `scf.for`.
This uplifting expects a very specific ops pattern:
* `before` block consisting of single `arith.cmp` op
* `after` block containing `arith.addi`
We also have a set of patterns to cleanup `scf.while` loops to get them
close to the desired form, they will be added in separate PRs.
This is part of upstreaming `numba-mlir` scf uplifting pipeline: `cf ->
scf.while -> scf.for -> scf.parallel`
Original code:
https://github.com/numba/numba-mlir/blob/main/mlir/lib/Transforms/PromoteToParallel.cpp
Commit: 43b4e5b9bff1719a6d3628a3a805cfeb59adaf16
https://github.com/llvm/llvm-project/commit/43b4e5b9bff1719a6d3628a3a805cfeb59adaf16
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
Log Message:
-----------
Use pushFullExprCleanup for deferred destroy (#88670)
Instead of directly pushing the `Destroy`, we should use
`pushFullExprCleanup` which handles conditional branches.
This fixes a backend crash due to
89ba7e183e6e2c64370ed1b963e54c06352211db.
Added minimized crash reproducer.
Commit: b03dc7d16251bf249b67e4db545353551727f646
https://github.com/llvm/llvm-project/commit/b03dc7d16251bf249b67e4db545353551727f646
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
Log Message:
-----------
[Clang] Properly set the value category of dependent unary operators (#88740)
This fixes an assertion in Expr::Classify when a
trying to deduce a dependent dereference operator.
Fixes #88329
Commit: 187c035c047616860d31fc399702538ad1f42755
https://github.com/llvm/llvm-project/commit/187c035c047616860d31fc399702538ad1f42755
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port dfafe3822b1
Commit: 51bc8cdf7bbc98cd691fc480b333907e665b8eae
https://github.com/llvm/llvm-project/commit/51bc8cdf7bbc98cd691fc480b333907e665b8eae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Add missing space to RISCVInstrInfoZvk.td. NFC
Commit: 52a88d3f5af6bed08a47f1c2351f320e0e1f4a88
https://github.com/llvm/llvm-project/commit/52a88d3f5af6bed08a47f1c2351f320e0e1f4a88
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] fix llvm:support dependency error
Commit: faad4e3fa81d10b91a9128ca84abfe381ac7c2e0
https://github.com/llvm/llvm-project/commit/faad4e3fa81d10b91a9128ca84abfe381ac7c2e0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Split PowerPC into separate triples (#88773)
Summary:
The previous patch mistakenly merged these when they indeed need to be
treated like separate triples because it's what's passed to the test
suite.
Commit: fb9c7dd6f1f3463b539d1f62f6ec7b5c7e061cf8
https://github.com/llvm/llvm-project/commit/fb9c7dd6f1f3463b539d1f62f6ec7b5c7e061cf8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Minor cleanups to RISCVISAInfo::parseArchString. NFC
Remove unneeded an unneeded variable and rename another.
Commit: 9e485f48228114ab6c34151503740ea15cddb351
https://github.com/llvm/llvm-project/commit/9e485f48228114ab6c34151503740ea15cddb351
Author: cmtice <cmtice at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
Log Message:
-----------
[DWARF] Add accessor for NameIndex Offsets field. (#88783)
Add an accessor function to DWARFDebugNames::NameIndex to allow other
classes to access the Offsets field within NameIndex. This will be used
by LLD to create a merged .debug_names index
(https://github.com/llvm/llvm-project/pull/86508)
Commit: 071ac0ae3029594167d2bb4d28859bdc36367034
https://github.com/llvm/llvm-project/commit/071ac0ae3029594167d2bb4d28859bdc36367034
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/unittests/tools/CMakeLists.txt
Log Message:
-----------
[lldb] Skip lldb-server unit tests when building with ASan
The lldb-server unit tests are timing out on GreenDragon and swift-ci.
We haven't been able to reproduce this locally or figure out why. We've
made several attempts to address potential issues, but we've reached a
point where we need to skip them to get signal out of this bot again.
Commit: 0287a5cc4e2a5ded1ae2e4079f91052e6a6b8d9b
https://github.com/llvm/llvm-project/commit/0287a5cc4e2a5ded1ae2e4079f91052e6a6b8d9b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP] Remove 'minncta' attributes from NVPTX kernels (#88398)
Summary:
Currently we treat this attribute as a minimum number for the amount of
blocks scheduled on the kernel. However, the doucmentation states that
this applies to CTA's mapped onto a *single* SM. Currently we just set
it to the total number of blocks, which will almost always result in a
warning that the value is out of range and will be ignored. We don't
have a good way to automatically know how many CTAs can be put on a
single SM nor if we should do this, so we should probably leave this up
to users manually adding it.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#performance-tuning-directives-minnctapersm
Commit: 7eb5022cbb11fdf5e74d707b4c93d3669a46eccf
https://github.com/llvm/llvm-project/commit/7eb5022cbb11fdf5e74d707b4c93d3669a46eccf
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/include/lldb/lldb-enumerations.h
Log Message:
-----------
[lldb][NFC] Turn ChildCacheState into an unscoped enum (#88703)
Done for consistency with the rest of the enums in
`lldb-enumerations.h`. See
https://github.com/llvm/llvm-project/pull/80167#issuecomment-2043721298
Commit: b8c16db938327efdabc63f21fdc770069ac4406b
https://github.com/llvm/llvm-project/commit/b8c16db938327efdabc63f21fdc770069ac4406b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang][NFCI] Use LangOptions::setLangDefaults when creating new LangOptions (#88721)
This logic was originally copied from `CompilerInstance::parseLangArgs`.
Since then, the `CompilerInstance` uses `LangOptions::setLangDefaults`
to set up new `LangOptions` instances. In our case, we only ever passed
`Language::ObjCXX` into LLDB's `ParseLangArgs`, so most of this function
was dead code.
This patch replaces the duplicated logic with a call to
`LangOptions::setLangDefaults`.
Commit: 905d2ecbb63f4087b50d633b012c9915ab3a6829
https://github.com/llvm/llvm-project/commit/905d2ecbb63f4087b50d633b012c9915ab3a6829
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
Log Message:
-----------
[lldb][ClangExpressionDeclMap][NFC] Remove unused NameSearchContext::m_found_function (#88724)
This member was never actually used, ever since its introduction in
`ca4e0fd7e63b90e6f68044af47248c64f250ee8f`.
Commit: 69d861e1320119e9a02907155ca626b1db90ad93
https://github.com/llvm/llvm-project/commit/69d861e1320119e9a02907155ca626b1db90ad93
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/test/CodeGen/bitfield-access-unit.c
Log Message:
-----------
[clang] Move tailclipping to bitfield allocation (#87090)
Move bitfield access clipping to bitfield access computation.
Commit: c303945409a740c8fdb4103a4f21df55187aa84f
https://github.com/llvm/llvm-project/commit/c303945409a740c8fdb4103a4f21df55187aa84f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port e356f68 more
Commit: a855eea7fe86ef09a87f6251b3b711b821ae32bf
https://github.com/llvm/llvm-project/commit/a855eea7fe86ef09a87f6251b3b711b821ae32bf
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
Log Message:
-----------
[lldb] Fix the standalone Xcode build after #88317
In #88317, the clang resource headers was converted to an interface
library. Update LLDB and fix the Xcode standalone build. Thanks Evan for
the help!
Commit: 21d177096f84c38cf434c21bd3ff0dbd2ca163d0
https://github.com/llvm/llvm-project/commit/21d177096f84c38cf434c21bd3ff0dbd2ca163d0
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[NFC] Refactor looping over recomputeLiveIns into function (#88040)
https://github.com/llvm/llvm-project/pull/79940 put calls to
recomputeLiveIns into
a loop, to repeatedly call the function until the computation converges.
However,
this repeats a lot of code. This changes moves the loop into a function
to simplify
the handling.
Note that this changes the order in which recomputeLiveIns is called.
For example,
```
bool anyChange = false;
do {
anyChange = recomputeLiveIns(*ExitMBB) || recomputeLiveIns(*LoopMBB);
} while (anyChange);
```
only begins to recompute the live-ins for LoopMBB after the computation
for ExitMBB
has converged. With this change, all basic blocks have a recomputation
of the live-ins
for each loop iteration. This can result in less or more calls,
depending on the
situation.
Commit: 67571ffd2c51a72a23d57fb5ef746a6fadd6b09c
https://github.com/llvm/llvm-project/commit/67571ffd2c51a72a23d57fb5ef746a6fadd6b09c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
Log Message:
-----------
[test][sanitizer] Compile .c file as C
Commit: a1ed652fb3589670180c08c2c6d5ef1ff337c658
https://github.com/llvm/llvm-project/commit/a1ed652fb3589670180c08c2c6d5ef1ff337c658
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
Log Message:
-----------
[test][sanitizer] Temporarily disable test
Test, as expected, fails with Asan on system with 5lvl page tables.
Disabling the test to migrate buildbot.
Commit: 63310243537ba8830f3533a5d93e7b04b10d6c9e
https://github.com/llvm/llvm-project/commit/63310243537ba8830f3533a5d93e7b04b10d6c9e
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/removed-args.c
Log Message:
-----------
[clang/DependencyScanning/ModuleDepCollector] Refactor part of `makeCommonInvocationForModuleBuild` into its own function (#88447)
The new function is about clearing out benign codegen options and can be
applied for PCH invocations as well.
Commit: 6d234638f90bd422078c93745bdee73d6de201bf
https://github.com/llvm/llvm-project/commit/6d234638f90bd422078c93745bdee73d6de201bf
Author: Fr4nk1in <sh.fu at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/docs/Dialects/LLVM.md
Log Message:
-----------
[docs][mlir] Fix broken links in 'llvm' dialects. (#88704)
Links to `llvm.mlir.global` and `llvm.mlir.addressof` in the ["Globals"
section of LLVM dialect
documentation](https://mlir.llvm.org/docs/Dialects/LLVM/#globals) are
broken.
Commit: 206acf72c3b6c23e77716ccfc55ff94a4e7a7e3e
https://github.com/llvm/llvm-project/commit/206acf72c3b6c23e77716ccfc55ff94a4e7a7e3e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/libcxxabi/src/BUILD.gn
Log Message:
-----------
[gn] port 8a7846fe86f95 (C++23 for libcxx, libcxxabi)
Commit: 466017c8dab74f66ce513c8752f0c1dcd16a8a63
https://github.com/llvm/llvm-project/commit/466017c8dab74f66ce513c8752f0c1dcd16a8a63
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
Log Message:
-----------
Work around test failure due to new aslr default
Commit: 9cb755cf5b2f48117fa34f257f386acf59ad6397
https://github.com/llvm/llvm-project/commit/9cb755cf5b2f48117fa34f257f386acf59ad6397
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_vtune.s
Log Message:
-----------
[Test][JITLink] Save rbx in ExecutionEngine/JITLink/x86-64/ELF_vtune.s (#86472)
The callee should preserve rbx according to the calling convention, but
it is not in the test case `ExecutionEngine/JITLink/x86-64/ELF_vtune.s`.
Not preserving the rbx register may result in some random error to the
caller function. This patch adds the missing command to preserve the
rbx.
Commit: c50f7e9a425bfa4ab8655c79a715c88ed3b1e830
https://github.com/llvm/llvm-project/commit/c50f7e9a425bfa4ab8655c79a715c88ed3b1e830
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] Remove mul of SPF abs fold (#88675)
Remove the fold working on abs in SPF representation now that we
canonicalize SPF to intrinsics.
This is not strictly NFC because the SPF fold might fire for
non-canonical IR due to multi-use, but given the lack of test coverage,
I assume this is not important.
Commit: 2b06ff555aa32b316710b4708fbc16f36d6eab15
https://github.com/llvm/llvm-project/commit/2b06ff555aa32b316710b4708fbc16f36d6eab15
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Expand mul to shNadd x, (slli x, c) in DAGCombine (#88524)
This expansion is directly inspired by the analogous code in the x86
backend for LEA. shXadd and (this sub-case of) LEA are largely
equivalent.
This is an alternative to
https://github.com/llvm/llvm-project/pull/87105.
This expansion is also supported via the decomposeMulByConstant
callback, but restricted because of interactions with other combines
since that code runs before legalization. As discussed in the other
review, my original plan had been to support post legalization expansion
through the same interface, but that ended up being more complicated
than seems justified.
Instead, lets go ahead and do the general expansion post-legalize. Other
targets use the combine approach, and matching that structure makes it
easier for us to adapt ideas from other targets to RISCV.
Commit: 40bbdb609f58d6cbbae1ca525832d7a21641a347
https://github.com/llvm/llvm-project/commit/40bbdb609f58d6cbbae1ca525832d7a21641a347
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
Revert "[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) (#87925)"
This reverts commit 8c0f52e9d5a99bf96bb64ac23b5893482c292527.
Reverting to green, reproducer attached in the PR/revision comments.
Commit: 694c444b5bbb56dcba8978d283fe5385237c309a
https://github.com/llvm/llvm-project/commit/694c444b5bbb56dcba8978d283fe5385237c309a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 311ff3917827 more
Commit: 2ac562ab784c6bf04e6d3026c567d3552a735668
https://github.com/llvm/llvm-project/commit/2ac562ab784c6bf04e6d3026c567d3552a735668
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Sema] Mark alias/ifunc targets used and consider mangled names
https://reviews.llvm.org/D54188 marked "alias" targets as used in C to
fix -Wunused false positives. This patch extends the approach to handle
mangled names to support global scope names in C++ and the
`overloadable` attribute in C.
In addition, we mark ifunc targets as used to fix #63957.
While our approach has false negatives for namespace scope names, the
majority of alias/ifunc C++ uses (global scope with no overloads) are
handled.
Note: The following function with internal linkage but C language
linkage type is mangled in Clang but not in GCC. This inconsistency
makes alias/ifunc difficult to use in C++ with portability (#88593).
```
extern "C" {
static void f0() {}
// GCC: void g0() __attribute__((alias("_ZL2f0v")));
// Clang: void g0() __attribute__((alias("f0")));
}
```
Pull Request: https://github.com/llvm/llvm-project/pull/87130
Commit: 8aa7e378dee27ec81959ef6750a7dd07cefdc77d
https://github.com/llvm/llvm-project/commit/8aa7e378dee27ec81959ef6750a7dd07cefdc77d
Author: Allen <zhongyunde at huawei.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[InterleavedAccessPass] Get round the unsupported large scalarize vectors (#88643)
When build with option -msve-vector-bits=512, the return vaule of
Subtarget->getMinSVEVectorSizeInBits() is 512;
While the MinElts is still 4 for <vscale x 4 x double> in
getNumInterleavedAccesses, so it creates invalid
llvm.aarch64.sve.ld2.sret.nxv4f64, which need be splited.
Unlikely, the related custom spilting is not supported now.
Fix https://github.com/llvm/llvm-project/issues/88247
Commit: d23a85066b5d89a47fde7b6777e0fc5a711b99d4
https://github.com/llvm/llvm-project/commit/d23a85066b5d89a47fde7b6777e0fc5a711b99d4
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/threadlocal_address.ll
Log Message:
-----------
InstCombine: Increase threadlocal.address alignment if pointee is more aligned (#88435)
Increase alignment of `llvm.threadlocal.address` if the pointed to
global has higher alignment.
Commit: 2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75
https://github.com/llvm/llvm-project/commit/2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DWARF] Clarify a variable name. NFC (#88814)
The parameter of `findDebugNamesOffsets` has been renamed to
`EndOfHeaderOffset` in #88064 to make it clear it is a section offset
instead of an offset relative to the current name index. Rename the call
site variable as well.
Commit: f3a8112d9839a166f7eb240c6c72d7ecd47d3560
https://github.com/llvm/llvm-project/commit/f3a8112d9839a166f7eb240c6c72d7ecd47d3560
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of ICmp with LMUL (#88235)
Use the Val type to estimate the instruction cost for ICmp.
Commit: dfe12b3fd193318403622a8ae51e0362c27502d1
https://github.com/llvm/llvm-project/commit/dfe12b3fd193318403622a8ae51e0362c27502d1
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/atomics.ll
Log Message:
-----------
[C API] Support uinc_wrap/udec_wrap in atomicrmw when accessing the bin op (#87163)
These previously were added in the C++ API in
778cf5431cafc243f81dd5c8cbd27701ff7f9120, but without updating the enum
in the C API or mapping functions.
Corresponding tests for all current atomicrmw bin ops have been added as
well.
Commit: 5b9af38a03c8119cc2a42ae80d4a25e6f454c721
https://github.com/llvm/llvm-project/commit/5b9af38a03c8119cc2a42ae80d4a25e6f454c721
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
Log Message:
-----------
[RISCV] Provide a more efficient lowering for experimental.cttz.elts. (#88552)
For experimental.cttz.elts, we can use a vfirst instruction, but we need
to correct the result if input vector can be 0. cttz.elts returns the
vector length while vfirst returns -1.
Commit: 4b22a923c4bfd0aa1d483149f84b6787263c2d76
https://github.com/llvm/llvm-project/commit/4b22a923c4bfd0aa1d483149f84b6787263c2d76
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/elim-extend.ll
M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
M llvm/test/Transforms/IndVarSimplify/post-inc-range.ll
M llvm/test/Transforms/IndVarSimplify/pr25578.ll
M llvm/test/Transforms/IndVarSimplify/pr55925.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative-countdown.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative.ll
M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
Log Message:
-----------
[IndVars] Mark truncs as nuw/nsw (#88686)
When inserting truncs during IV widening, mark the trunc as either nuw
or nsw depending on whether zext or sext widening was used. For
non-negative IVs both nuw and nsw apply.
Commit: 5f680724838188f516d349bd9459710308d721e0
https://github.com/llvm/llvm-project/commit/5f680724838188f516d349bd9459710308d721e0
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/PR84020.cpp
Log Message:
-----------
[Clang][Sema] Fix issue on requires expression with templated base class member function (#85198)
Fix https://github.com/llvm/llvm-project/issues/84020
Skip checking implicit object parameter in the context of
`RequiresExprBodyDecl`.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 568368a43e5b4adb3c5d105a0eff3e0c13c0af8c
https://github.com/llvm/llvm-project/commit/568368a43e5b4adb3c5d105a0eff3e0c13c0af8c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/include/llvm/Support/OnDiskHashTable.h
Log Message:
-----------
[Support] Make readNext default to unaligned (#88808)
Without this patch, you would typically use readNext as:
readNext<uint32_t, llvm::endianness::little, unaligned>(Ptr)
which is quite mouthful. Since most serialization/deserialization
operations are unaligned accesses, this patch makes the alignment
template parameter default to unaligned, allowing us to say:
readNext<uint32_t, llvm::endianness::little>(Ptr)
I'm including a few examples of migration in this patch. I'll do the
rest in a separate patch.
Note that writeNext already has the same trick for the alignment
template parameter.
Commit: b4cf63d26f4c41dd9403c4e62500d82a6d31d692
https://github.com/llvm/llvm-project/commit/b4cf63d26f4c41dd9403c4e62500d82a6d31d692
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
[X86] Remove obsolete tablegen rules for near data in small static code model (#84523)
These should be already handled by other code.
Removing the kernel code model rules right above it cause
bss_pagealigned.ll to fail by using a movabsq to get the address of a
global, haven't figured out where that code is yet.
Commit: 82f479ba315a417b6cd01a8c2efdc15c26689f2e
https://github.com/llvm/llvm-project/commit/82f479ba315a417b6cd01a8c2efdc15c26689f2e
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
A lldb/test/API/functionalities/libsanitizers/util.py
Log Message:
-----------
Add asan tests for libsanitizers. (#88349)
This patch tests LLDB integration with libsanitizers for ASan.
rdar://111856681
Commit: 00ae4b738be6e840cfdb3e7461409c3e49403e50
https://github.com/llvm/llvm-project/commit/00ae4b738be6e840cfdb3e7461409c3e49403e50
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
Revert "[X86] Remove obsolete tablegen rules for near data in small static code model (#84523)"
This reverts commit b4cf63d26f4c41dd9403c4e62500d82a6d31d692.
Breaks indirect-branch-tracking-eh2.ll.
Commit: 8ee7d9732204a7415967bce2c1d2c0fa63af264f
https://github.com/llvm/llvm-project/commit/8ee7d9732204a7415967bce2c1d2c0fa63af264f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.cuda_allocate operation (#88586)
Allocatable with cuda device attribute have special semantic for the
allocate statement. In flang the allocate statement is lowered to a
sequence of runtime call initializing the descriptor and then allocating
the descriptor data. This new operation will replace the last runtime
call and abstract all the device memory allocation needed.
The lowering patch will follow.
Commit: fe48bf672e1ab293368a3212203db94a4e21c533
https://github.com/llvm/llvm-project/commit/fe48bf672e1ab293368a3212203db94a4e21c533
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[lldb][lit] Guard MallocNanoZone envvar in shell tests (#88824)
Previously the MallocNanoZone envvar would be set to 0 on Darwin for the
LLDB shell tests, but this should guarded behind ASan being enabled as
opposed to simply running the test suite behind Darwin. This required
that the LLVM_USE_SANITIZER option be added as an attribute to the lit
config for shell tests.
Commit: 65b0cc610f80d9b9724a98cf7c5bcfd38e1cf799
https://github.com/llvm/llvm-project/commit/65b0cc610f80d9b9724a98cf7c5bcfd38e1cf799
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add FeatureStdExtI to all CPUs in RISCVProcessors.td. NFC (#88805)
This is currently being implied in RISCVISAInfo.cpp. Make it explicit.
I'm planning to move all extension information to RISCVFeatures.td and
have tablegen create the tables for RISCVISAInfo.cpp. This requires
making the creation of RISCVTargetParserDef.inc in tablegen independent
of RISCVISAInfo.cpp. So we need an accurate extension list for CPUs in
tablegen.
Commit: 4e2d11f87a595d658f25ec5838b002e4bf5a26fc
https://github.com/llvm/llvm-project/commit/4e2d11f87a595d658f25ec5838b002e4bf5a26fc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
Log Message:
-----------
[RISCV] Remove unnecessary NoHasStdExtZicfiss Predicate from cmop.1 and cmop.5. NFC (#88822)
I'm not sure what this was supposed do. Maybe it was for the
disassembler, but that should be managed through DecoderNamespace.
So let's remove it and simplify the code.
Commit: edb0708dc1ceeaeb3356311a4ddf72a0dc9b224f
https://github.com/llvm/llvm-project/commit/edb0708dc1ceeaeb3356311a4ddf72a0dc9b224f
Author: Vlad Mishel <43666597+vmishelcs at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fcmp.ll
Log Message:
-----------
[InstCombine] Implement `fcmp (fadd x, 0.0), y` => `fcmp x, y` optimization (#88476)
This PR addresses issue #88168. It implements an optimization for
the case of
```
define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
%add = fadd float %x, 0.000000e+00
%cmp = fcmp ugt float %add, %y
ret i1 %cmp
}
```
`=>`
```
define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
%cmp = fcmp ugt float %x, %y
ret i1 %cmp
}
```
and all other types of `fcmp` instructions (`uge`, `ogt`, etc).
Proofs:
`fadd x, 0.0` https://alive2.llvm.org/ce/z/7FzNnM
`fsub x, 0.0` https://alive2.llvm.org/ce/z/puUxLK
Commit: 39016e33b0fe78ddb1f11822f71a8a233af4dca9
https://github.com/llvm/llvm-project/commit/39016e33b0fe78ddb1f11822f71a8a233af4dca9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
Log Message:
-----------
[C++20] [Modules] Don't import non-inline function bodies even if it is always-inline
Recommit
https://github.com/llvm/llvm-project/commit/1ecbab56dcbb78268c8d19af34a50591f90b12a0
Close https://github.com/llvm/llvm-project/issues/80949
The new thing in this commit is to allow to import the function body
from instantiations if it is marked with always-inline. See the
discussion in https://github.com/llvm/llvm-project/issues/86893 for
details.
Commit: f14146fd46dd8bf7ef1e64d3c13af73dc5668045
https://github.com/llvm/llvm-project/commit/f14146fd46dd8bf7ef1e64d3c13af73dc5668045
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
Log Message:
-----------
[RISCV] Correct the spelling of the Zcmop mnemonics. (#88826)
The instruction names should be c.mop.1 instead of cmop.1.
Commit: 17d6bf046cea381413895f91e24d26d65763b59a
https://github.com/llvm/llvm-project/commit/17d6bf046cea381413895f91e24d26d65763b59a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/pr88799.ll
Log Message:
-----------
[RISCV] Change how MMO is rebuilt in lowerFixedLengthVectorLoadToRVV/lowerFixedLengthVectorStoreToRVV (#88811)
Copy the pointer info, flags, alignment, AAInfo, and ranges, but let
getLoad rebuild the MMO using the scalable type used for the the new
load/store. This makes sure the LLT minimum size matches the ContainerVT
minimum size. This is important since vscale_range may have been used to
determine that the fixed vector was the exact size of a scalable vector.
Fixes #88799
Commit: 6da1966bc503e1ce44ef36e7107c9db482fac6ab
https://github.com/llvm/llvm-project/commit/6da1966bc503e1ce44ef36e7107c9db482fac6ab
Author: Michal Terepeta <michalt at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
A llvm/lib/Target/RISCV/RISCVScheduleXSf.td
Log Message:
-----------
[RISCV] Add scheduling information for SiFive VCIX (#86093)
This adds `RISCVScheduleXSf.td` with `SchedWrite` definitions for all
VCIX instructions and uses it in `RISCVSchedSiFive7.td` to set default
latencies for these instructions, helping with issue
https://github.com/llvm/llvm-project/issues/83391. Of course these
default latencies cannot be accurate (since each coprocessor will have
different latencies), but this seems to be enough to avoid some of the
problematic behavior described in the bug.
In any case, this seems to be enough to help with #83391 in our internal
testing.
A subsequent discussion is how to structure the code such that it's
easier for downstream consumers of this to use `SiFive7` scheduling
model with accurate VCIX latencies. But we can probably have a separate
issue to discuss that.
Commit: e2c91091e537a54f1469610ab407e7c9561e7ffc
https://github.com/llvm/llvm-project/commit/e2c91091e537a54f1469610ab407e7c9561e7ffc
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-fp-const-lhs.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-const-fold-barrier-rhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-select-to-fminmax.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-to-fmin-fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fcanonicalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/smed3.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/umed3.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
Log Message:
-----------
[GlobalISel] Handle more commutable instructions in `commute_constant_to_rhs`
Reviewers:
rupprecht, aartbik, cyndyishida, Pierre-vh, aemerson, ftynse, hanhanW, banach-space, jayfoad, nicolasvasilache, daniel-grumberg, arsenm, PeimingLiu, JDevlieghere, matthias-springer
Reviewed By: arsenm, Pierre-vh
Pull Request: https://github.com/llvm/llvm-project/pull/87424
Commit: 3c6f91e5b671321c95259dabecdbdfe4a6d69ce1
https://github.com/llvm/llvm-project/commit/3c6f91e5b671321c95259dabecdbdfe4a6d69ce1
Author: martinboehme <mboehme at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix result object location for builtin `<=>`. (#88726)
The newly added test causes an assertion failure in
`PropagateResultObject()`
without the fix added here.
Commit: 7e49b0d5a67f212e84f8ec0ec2e39a6a8673bfaf
https://github.com/llvm/llvm-project/commit/7e49b0d5a67f212e84f8ec0ec2e39a6a8673bfaf
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/unittests/UnwindAssembly/CMakeLists.txt
A lldb/unittests/UnwindAssembly/x86-but-no-x86-target/CMakeLists.txt
A lldb/unittests/UnwindAssembly/x86-but-no-x86-target/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Fix nullptr dereference on running x86 binary with x86-disabled llvm (#82603)
If `LLVM_TARGETS_TO_BUILD` does not contain `X86` and we try to run an
x86 binary in lldb, we get a `nullptr` dereference in
`LLVMDisasmInstruction(...)`. We try to call `getDisAsm()` method on a
`LLVMDisasmContext *DC` which is null. The pointer is passed from
`x86AssemblyInspectionEngine::instruction_length(...)` and is originally
`m_disasm_context` member of `x86AssemblyInspectionEngine`. This should
be filled by `LLVMCreateDisasm(...)` in the class constructor, but not
having X86 target enabled in llvm makes
`TargetRegistry::lookupTarget(...)` call return `nullptr`, which results
in `m_disasm_context` initialized with `nullptr` as well.
This patch adds if statements against `m_disasm_context` in
`x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(...)`
and `x86AssemblyInspectionEngine::FindFirstNonPrologueInstruction(...)`
so subsequent calls to
`x86AssemblyInspectionEngine::instruction_length(...)` do not cause a
null pointer dereference.
Commit: 89071f35599ac58cde99923a376d6b75c0d49e4b
https://github.com/llvm/llvm-project/commit/89071f35599ac58cde99923a376d6b75c0d49e4b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
Log Message:
-----------
[clang] Drop unaligned from calls to readNext (NFC) (#88842)
Now readNext defaults to unaligned accesses. This patch drops
unaligned to improve readability.
Commit: a169d4c2e974ceb20b86faea3fa4ac286a1d44e8
https://github.com/llvm/llvm-project/commit/a169d4c2e974ceb20b86faea3fa4ac286a1d44e8
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/autoimport-arm-data.s
M lld/test/COFF/autoimport-arm64-data.s
M lld/test/COFF/autoimport-gnu-implib.s
A lld/test/COFF/autoimport-handler-func.s
M lld/test/COFF/autoimport-warn.s
M lld/test/COFF/autoimport-x86.s
Log Message:
-----------
[LLD] [COFF] Error out if the runtime pseudo relocation function is missing (#88573)
When then linker creates runtime pseudo relocations, it places them in a
list with the assumption that the runtime will fix these relocations
later, when the image gets loaded. If the relevant runtime function
doesn't seem to be present in the linked image, error out.
Normally when linking the mingw-w64 runtime libraries, this function
always is available. However, if linking without including the mingw-w64
CRT startup files, and the image needs runtime pseudo relocations, make
it clear that this won't work as expected at runtime.
With ld.bfd, this situation is a hard error too; ld.bfd adds an
undefined reference to this symbol if runtime pseudo relocations are
needed.
A later alternative would be to actually try to pull in the symbol (if
seen in a static library, but not included yet). This would allow
decoupling the function from the main mingw-w64 CRT startup code (making
it optional, only running if the linker actually produced runtime pseudo
relocations).
Doing that would require restructuring the lld code (gathering pseudo
relocations earlier, then loading the relocator function, then pulling in
more object files to satisfy the dependencies of the relocator) though.
Also, ld.bfd doesn't currently successfully pull in more object files to
satisfy the dependency on _pei386_runtime_relocator, so with that in
mind, there's not much extra value in making LLD do it currently either;
we can't make such a change in mingw-w64's CRT until both linkers
handle it.
This fixes one issue brought up in
https://github.com/llvm/llvm-project/issues/84424.
Commit: dbaa1893c9afe6a245860efb8d68875ba4fd6794
https://github.com/llvm/llvm-project/commit/dbaa1893c9afe6a245860efb8d68875ba4fd6794
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
A llvm/test/CodeGen/RISCV/prefer-w-inst.ll
A llvm/test/CodeGen/RISCV/prefer-w-inst.mir
R llvm/test/CodeGen/RISCV/strip-w-suffix.ll
Log Message:
-----------
[RISCV] Generate more W instructons
We rename `TuneNoStripWSuffix` to `TunePreferWInst`.
If all the users of an instruction just use the low 32 bits, we can
convert it to its W variant.
A quick test on Coremark (`-O3 -march=rv64gc`):
| | W instructions | code size(.text) |
|--------|----------------|------------------|
| before | 302 | 12257 |
| after | 343 | 12265 |
| | +13.58% | +0.065% |
Reviewers: asb, dtcxzyw, preames, lukel97, michaelmaitland, topperc
Reviewed By: topperc, dtcxzyw
Pull Request: https://github.com/llvm/llvm-project/pull/87237
Commit: d26dd58ca5b59032eb371b8f51d9134acdd8d3ad
https://github.com/llvm/llvm-project/commit/d26dd58ca5b59032eb371b8f51d9134acdd8d3ad
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/hashing-decls-in-exprs-from-gmf-2.cppm
Log Message:
-----------
[StmtProfile] Don't profile the body of lambda expressions
Close https://github.com/llvm/llvm-project/issues/87609
We tried to profile the body of the lambda expressions in
https://reviews.llvm.org/D153957. But as the original comments show,
it is indeed dangerous. After we tried to skip calculating the ODR
hash values recently, we have fall into this trap twice.
So in this patch, I choose to not profile the body of the lambda
expression. The signature of the lambda is still profiled.
Commit: a29e85d6626aae7dba44c66ee5b703d3ab5de41c
https://github.com/llvm/llvm-project/commit/a29e85d6626aae7dba44c66ee5b703d3ab5de41c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
Log Message:
-----------
[llvm-exegesis] Change preprocessor directives for getCurrentTID
This patch changes the preprocessor directives surrounding
getCurrentTID, particularly moving it out of the block that is only
defined when not building for Android. The getCurrentTID function is
called in places that only require Linux definitions, so this function
should have the same preprocessor scoping around it to prevent link time
failures.
Commit: d34a2c2adb2a4f1dc262c5756d3725caa4ea2571
https://github.com/llvm/llvm-project/commit/d34a2c2adb2a4f1dc262c5756d3725caa4ea2571
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Make more vector pseudos commutable
This PR includes:
* vadd.vv/vand.vv/vor.vv/vxor.vv
* vmseq.vv/vmsne.vv
* vmin.vv/vminu.vv/vmax.vv/vmaxu.vv
* vmul.vv/vmulh.vv/vmulhu.vv
* vwadd.vv/vwaddu.vv
* vwmul.vv/vwmulu
* vwmacc.vv/vwmaccu.vv
* vadc.vvm
There is no test change, I may add it later.
Fixes part of #64422
Reviewers: michaelmaitland, preames, lukel97, topperc, asb
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/88379
Commit: 5b811562a520a8a3cd164897f24dee7da3115bbe
https://github.com/llvm/llvm-project/commit/5b811562a520a8a3cd164897f24dee7da3115bbe
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__pstl/cpu_algos/cpu_traits.h
Log Message:
-----------
[libc++] Rename __cpu_traits functions (#88741)
Functions inside __cpu_traits were needlessly prefixed with __parallel,
which doesn't serve a real purpose anymore now that they are inside a
traits class.
Commit: 66cf995da76b9da3cfdee2f29eff6ea4d84305ef
https://github.com/llvm/llvm-project/commit/66cf995da76b9da3cfdee2f29eff6ea4d84305ef
Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/SCCP/pr50901.ll
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[IPSCCP] Variable not visible at Og: (#77901)
https://bugs.llvm.org/show_bug.cgi?id=51559
https://github.com/llvm/llvm-project/issues/50901
IPSCCP pass removes the global variable and does not create a constant
expression for the initializer value.
Extend test coverage to include:
- half, bfloat types.
- checks for undef (int32 and ptr).
There is no support for:
- fp128, x86_fp80, ppc_fp128 types.
https://github.com/llvm/llvm-project/issues/88102
Commit: d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
https://github.com/llvm/llvm-project/commit/d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/exercise-ps.c
M clang/test/Analysis/explain-svals.cpp
A clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stackaddrleak.c
Log Message:
-----------
[analyzer] Handle builtin functions in MallocChecker (#88416)
This commit ensures that the `CallDescription`s in `MallocChecker` are
matched with the mode `CDM::CLibrary`, so:
- they don't match methods or functions within user-defined namespaces;
- they also match builtin variants of these functions (if any), so the
checker can model `__builtin_alloca()` like `alloca()`.
This change fixes https://github.com/llvm/llvm-project/issues/81597. New
tests were added to verify that `std::malloc` and `std::free` (from
`<cstdlib>`) are modeled, but a method that's named e.g. `free` isn't
confused with the memory release function.
The responsibility for modeling `__builtin_alloca` and
`__builtin_alloca_with_align` was moved from `BuiltinFunctionChecker` to
`MallocChecker`, to avoid buggy interactions between the checkers and
ensure that the builtin and non-builtin variants are handled by exactly
the same logic.
This change might be a step backwards for the users who don't have
`unix.Malloc` enabled; but I suspect that `__builtin_alloca()` is so
rare that it would be a waste of time to implement backwards
compatibility for them.
There were several test files that relied on `__builtin_alloca()` calls
to get an `AllocaRegion`, these were modified to enable `unix.Malloc`.
One of these files (cxx-uninitialized-object-ptr-ref.cpp) had some tests
that relied on the fact that `malloc()` was treated as a "black box" in
them, these were updated to use `calloc()` (to get initialized memory)
and `free()` (to avoid memory leak reports).
While I was developing this change, I found a very suspicious assert in
`MallocChecker`. As it isn't blocking the goals of this commit, I just
marked it with a FIXME, but I'll try to investigate and fix it in a
follow-up change.
Commit: 40dd3aa91d3f73184e34e45e597b84bec059c572
https://github.com/llvm/llvm-project/commit/40dd3aa91d3f73184e34e45e597b84bec059c572
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Arith/Transforms/Transforms.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/IntNarrowing.cpp
M mlir/lib/Dialect/Arith/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][Interfaces] `Variable` abstraction for `ValueBoundsOpInterface` (#87980)
This commit generalizes and cleans up the `ValueBoundsConstraintSet`
API. The API used to provide function overloads for comparing/computing
bounds of:
- index-typed SSA value
- dimension of shaped value
- affine map + operands
This commit removes all overloads. There is now a single entry point for
each `compare` variant and each `computeBound` variant. These functions
now take a `Variable`, which is internally represented as an affine map
and map operands.
This commit also adds support for computing bounds for an affine map +
operands. There was previously no public API for that.
Commit: 5a46123ddf62900d3dc73330f699c73038645198
https://github.com/llvm/llvm-project/commit/5a46123ddf62900d3dc73330f699c73038645198
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
Log Message:
-----------
Fix missing dtor in function calls accepting trivial ABI structs (#88751)
Fixes https://github.com/llvm/llvm-project/issues/88478
Promoting the `EHCleanup` to `NormalAndEHCleanup` in `EmitCallArgs`
surfaced another bug with deactivation of normal cleanups. Here we
missed emitting CPP scope ends for deactivated normal cleanups. This
patch also fixes that bug.
We missed emitting CPP scope ends because we remove the `fallthrough`
(clears the insertion point) before deactivating normal cleanups. This
is to make the emitted "normal" cleanup code unreachable. But we still
need to emit CPP scope ends in the original basic block even for a
deactivated normal cleanup.
(This worked correctly before we did not remove `fallthrough` for
`EHCleanup`s).
Commit: 9141e1c24f87e5735bc4178a018eba4bdf2750aa
https://github.com/llvm/llvm-project/commit/9141e1c24f87e5735bc4178a018eba4bdf2750aa
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Gracefully handle bitcasts to non-primitive types
We were calling classfiyPrim() instead of classify().
Commit: 4fc0a99b8f220b6b41648da491bcc81a067f1600
https://github.com/llvm/llvm-project/commit/4fc0a99b8f220b6b41648da491bcc81a067f1600
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Fix implicit operands of VOPD cndmask instructions (#87788)
Commit: f4f772ceef379bd434d266b6e0d2bbdf796f81cb
https://github.com/llvm/llvm-project/commit/f4f772ceef379bd434d266b6e0d2bbdf796f81cb
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
Log Message:
-----------
[AMDGPU] Stop reserving $vcc_hi in wave32 mode (#87783)
This gives us one extra SGPR to play with. The comment suggested that it
could cause bugs, but I have tested it with Vulkan CTS with the default
wave size for compute shaders set to 32 and did not find any problems.
Commit: 485d556d8c23b54da952e75c3cadc9db3050fd9e
https://github.com/llvm/llvm-project/commit/485d556d8c23b54da952e75c3cadc9db3050fd9e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/InterpBlock.h
Log Message:
-----------
[clang][Interp][NFC] Add Block::dump()
Commit: 80fce05f2104d1c42db814276130536b014fcca2
https://github.com/llvm/llvm-project/commit/80fce05f2104d1c42db814276130536b014fcca2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
Log Message:
-----------
[InstCombine] Fold `minmax (X & NegPow2C, Y & NegPow2C) -> minmax(X, Y) & NegPow2C` (#88859)
Alive2: https://alive2.llvm.org/ce/z/NFtkSX
This optimization will be beneficial to jemalloc users.
Commit: cce026bf8f7dcf5aa402a6da20f0d4da56aee8b5
https://github.com/llvm/llvm-project/commit/cce026bf8f7dcf5aa402a6da20f0d4da56aee8b5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestDialect.cpp
Log Message:
-----------
[mlir][test] Fix -Wsign-compare in TestDialect.cpp (NFC)
llvm-project/mlir/test/lib/Dialect/Test/TestDialect.cpp:597:31:
error: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int64_t' (aka 'long') [-Werror,-Wsign-compare]
if (getVarOperands().size() != expectedNumOperands)
~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 error generated.
Commit: 58b49cef1d772a922a433fd4a42e41db3f18d34b
https://github.com/llvm/llvm-project/commit/58b49cef1d772a922a433fd4a42e41db3f18d34b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Support __builtin_vectorelements
Commit: 70fe6ad535365de20c3a960dcfe97bd5cf68abb5
https://github.com/llvm/llvm-project/commit/70fe6ad535365de20c3a960dcfe97bd5cf68abb5
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Make omp.distribute into a loop wrapper (#87239)
This patch updates the definition of `omp.distribute` to enforce the
restrictions of a wrapper operation.
Commit: 668a58b8926473d731c41c55007f1fe4571ada86
https://github.com/llvm/llvm-project/commit/668a58b8926473d731c41c55007f1fe4571ada86
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
M flang/runtime/extensions.cpp
A flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Add ACCESS library procedure (#88517)
Re-land https://github.com/llvm/llvm-project/pull/88395
Two build-bots were broken by the old version:
- https://lab.llvm.org/buildbot/#/builders/285/builds/245
- https://lab.llvm.org/buildbot/#/builders/21/builds/96988
The problem in both cases was that the compiler did not support
`std::filesystem` (which I use in the unit test).
I have removed the dependency upon std::filesystem because there isn't
an easy way to add the right linker options so that this is supported
correctly in all build environments [1]
[1] https://gitlab.kitware.com/cmake/cmake/-/issues/17834
---
This is a GNU extension:
https://gcc.gnu.org/onlinedocs/gfortran/ACCESS.html
Used in SALMON:
https://salmon-tddft.jp/download.html
Unfortunately the intrinsic takes a file path to operate on so there
isn't an easy way to make the test robust. The unit test expects to be
able to create, set read write and execute permissions, and delete files
called
std::filesystem::temp_directory_path() / <test_name>.<pid>
The test will fail if a file already exists with that name.
I have not implemented the intrinsic on Windows because this is wrapping
a POSIX system call and Windows doesn't support all of the permission
bits tested by the intrinsic. I don't have a Windows machine easily
available to check if Gfortran implements this intrinsic on Windows.
Commit: 76782e28869abf93716f72f195d55c28eaf263ed
https://github.com/llvm/llvm-project/commit/76782e28869abf93716f72f195d55c28eaf263ed
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Remove old reduction lowering code (#88798)
The old code was replaced by
https://github.com/llvm/llvm-project/pull/80019.
Commit: 61717c1aa1f08eb57839a21fb2d9004739022e0d
https://github.com/llvm/llvm-project/commit/61717c1aa1f08eb57839a21fb2d9004739022e0d
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
A llvm/test/Verifier/variadic.ll
Log Message:
-----------
[Verifier] Reject va_start in non-variadic function (#88809)
A va_start intrinsic lowers to something derived from the variadic
parameter to the function. If there is no such parameter, it can't lower
meaningfully. Clang sema rejects the same with `error: 'va_start' used
in function with fixed args`.
Moves the existing lint warning into a verifier error. Updates the one
lit test that had a va_start in a non-variadic function.
Commit: 1ca6b4475c02e5d022ec6b35dbb65d0f11409a88
https://github.com/llvm/llvm-project/commit/1ca6b4475c02e5d022ec6b35dbb65d0f11409a88
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
Log Message:
-----------
[mlir][scf] `scf.while` uplifting: optimize op matching (#88813)
Instead of iterating over potential induction var uses looking for
suitable `arith.addi`, try to trace it back from yield argument.
Commit: aae08f4f8ef7bc9c35d263ed974679130c49f5fc
https://github.com/llvm/llvm-project/commit/aae08f4f8ef7bc9c35d263ed974679130c49f5fc
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Make omp.taskloop into a loop wrapper (#87253)
This patch updates the definition of `omp.taskloop` to enforce the
restrictions of a wrapper operation.
Commit: ca4cf973279a3991248056a73bcb2bac8b37d035
https://github.com/llvm/llvm-project/commit/ca4cf973279a3991248056a73bcb2bac8b37d035
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp][NFC] Fix Pointer::isZero() for block pointers
We don't need to consider the offset here anymore since we now
have proper integral pointers.
Commit: 422bf13f336923da89055f8e70e49e7e9ced2c70
https://github.com/llvm/llvm-project/commit/422bf13f336923da89055f8e70e49e7e9ced2c70
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/AMDGPU/build_vector.ll
Log Message:
-----------
[AMDGPU] In VectorLegalizer::Expand, if UnrollVectorOp returns Load, … (#88475)
…return only Load since other output is chain.
Added testcase that showed mismatched expected arity when Load and chain
were returned as separate items after
003b58f65bdd5d9c7d0c1b355566c9ef430c0e7d
Commit: 4dd5180a2d43b088d7637c30c2654f3c01c46987
https://github.com/llvm/llvm-project/commit/4dd5180a2d43b088d7637c30c2654f3c01c46987
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
Log Message:
-----------
[Flang][OpenMP][Lower] Split MLIR codegen for clauses and constructs (#86963)
This patch performs several cleanups with the main purpose of
normalizing the code patterns used to trigger codegen for MLIR OpenMP
operations and making the processing of clauses and constructs
independent. The following changes are made:
- Clean up unused `directive` argument to
`ClauseProcessor::processMap()`.
- Move general helper functions in OpenMP.cpp to the appropriate section
of the file.
- Create `gen<OpName>Clauses()` functions containing the clause
processing code specific for the associated OpenMP construct.
- Update `gen<OpName>Op()` functions to call the corresponding
`gen<OpName>Clauses()` function.
- Sort calls to `ClauseProcessor::process<ClauseName>()` alphabetically,
to avoid inadvertently relying on some arbitrary order. Update some
tests that broke due to the order change.
- Normalize `genOMP()` functions so they all delegate the generation of
MLIR to `gen<OpName>Op()` functions following the same pattern.
- Only process `nowait` clause on `TARGET` constructs if not compiling
for the target device.
A later patch can move the calls to `gen<OpName>Clauses()` out of
`gen<OpName>Op()` functions and passing completed clause structures
instead, in preparation to supporting composite constructs. That will
make it possible to reuse clause processing for a given leaf construct
when appearing alone or in a combined or composite construct, while
controlling where the associated code is produced.
Commit: 31424be3aef4290dd84065b9371fcd0c5014e097
https://github.com/llvm/llvm-project/commit/31424be3aef4290dd84065b9371fcd0c5014e097
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Compare std::optionals directly
Commit: a831c54357c2bb7b8b457ccea22836c23e8b8625
https://github.com/llvm/llvm-project/commit/a831c54357c2bb7b8b457ccea22836c23e8b8625
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Avoid calling invalid functions
Check if the non-null function pointer is even valid before calling
the function.
Commit: b0194d2894db49d7cf4d36aed87952c3e0c6a390
https://github.com/llvm/llvm-project/commit/b0194d2894db49d7cf4d36aed87952c3e0c6a390
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/windows-seh-async-verify.cpp
Log Message:
-----------
[SEH] Ignore async exception flag when the environment is not MSVC (#88101)
Fixes #62449
Commit: f4960da6023b8034ae68925c3223d51624621b37
https://github.com/llvm/llvm-project/commit/f4960da6023b8034ae68925c3223d51624621b37
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
R llvm/test/Verifier/variadic.ll
Log Message:
-----------
Revert "[Verifier] Reject va_start in non-variadic function (#88809)"
This reverts commit 61717c1aa1f08eb57839a21fb2d9004739022e0d. Failed a MLIR test
Commit: 01f79899ba349a0200586c8d05f5e22cca2ced31
https://github.com/llvm/llvm-project/commit/01f79899ba349a0200586c8d05f5e22cca2ced31
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lld/ELF/InputSection.cpp
A lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relax-align.s
Log Message:
-----------
[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)
In LoongArch psABI v2.30, the R_LARCH_ALIGN requires symbol index to
support the third parameter of alignment directive. Create symbol for
each section is redundant because they have section symbol which can
also be used as symbol index. So use section symbol directly for
R_LARCH_ALIGN.
Commit: c09384e2b419c7b4e4167e0d0295d9018cc6169c
https://github.com/llvm/llvm-project/commit/c09384e2b419c7b4e4167e0d0295d9018cc6169c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Support MemberExprs pointing to VarDecls
Commit: 1120d8e6f799121b611aa23bdc128e40cf9c6c58
https://github.com/llvm/llvm-project/commit/1120d8e6f799121b611aa23bdc128e40cf9c6c58
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGen/target-data.c
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[clang][CodeGen] Add AS for Globals to SPIR & SPIRV datalayouts (#88455)
Currently neither the SPIR nor the SPIRV targets specify the AS for
globals in their datalayout strings. This is problematic because
CodeGen/LLVM will default to AS0 in this case, which produces Globals
that end up in the private address space for e.g. OCL, HIPSPV or SYCL.
This patch addresses it by completing the datalayout string.
Commit: 36b3c26451bf9a42f0b6b415993d3942bb73abdd
https://github.com/llvm/llvm-project/commit/36b3c26451bf9a42f0b6b415993d3942bb73abdd
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/thread-prob-7.ll
A llvm/test/Transforms/JumpThreading/uncond-no-phi.ll
A llvm/test/Transforms/PhaseOrdering/thread-uncond-bb.ll
Log Message:
-----------
[JumpThreading] Thread over BB with only an unconditional branch (#86312)
Fixes #76609
This patch does:
- relax the phis constraint in `CanRedirectPredsOfEmptyBBToSucc`
- guarantee the BB has multiple different predecessors to redirect, so
that we can handle the case without phis in BB. Without this change and
phi constraint, we may redirect the CommonPred.
The motivation is consistent with JumpThreading. We always want the
branch to jump more direct to the destination, without passing the
middle block. In this way, we can expose more other optimization
opportunities.
An obivous example proposed by @dtcxzyw is like:
```llvm
define i32 @test(...) {
entry:
br i1 %c, label %do.end, label %if.then
if.then: ; preds = %entry
%call2 = call i32 @dummy()
%tobool3.not = icmp eq i32 %call2, 0
br i1 %tobool3.not, label %do.end, label %return
do.end: ; preds = %entry, %if.then
br label %return
return: ; preds = %if.then, %do.end
%retval.0 = phi i32 [ 0, %do.end ], [ %call2, %if.then ]
ret i32 %retval.0
}
```
`entry` can directly jump to return, without passing `do.end`, and then
the if-else pattern can be simplified further:
```llvm
define i32 @test(...) {
entry:
br i1 %c, label %return, label %if.then
if.then: ; preds = %entry
%call2 = call i32 @dummy()
br label %return
return: ; preds = %if.then
%retval.0 = phi i32 [ 0, %entry ], [ %call2, %if.then ]
ret i32 %retval.0
}
```
Commit: 32b74ca6e41768c91eee8b8ca26235b110a65deb
https://github.com/llvm/llvm-project/commit/32b74ca6e41768c91eee8b8ca26235b110a65deb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/cxx03.cpp
Log Message:
-----------
[clang][Interp] Load value from MemberExpr if required
Commit: 92e96c7bbacbb477265c7e5ff6c49a6de5d4ee69
https://github.com/llvm/llvm-project/commit/92e96c7bbacbb477265c7e5ff6c49a6de5d4ee69
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
M llvm/test/CodeGen/X86/GlobalISel/fconstant.ll
A llvm/test/CodeGen/X86/GlobalISel/regbankselect-sse-intrinsics.ll
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
Log Message:
-----------
[X86][GISel] Add DU chain lookups for LOAD & STORE (#87453)
For G_LOAD and G_STORE we want this information during regbankselect.
Today we treat load dest as integer and insert converts.
---------
Co-authored-by: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Commit: ac6b4c618a52c62cef9b143a767991dbba7453e1
https://github.com/llvm/llvm-project/commit/ac6b4c618a52c62cef9b143a767991dbba7453e1
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
A llvm/test/Verifier/variadic.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
Log Message:
-----------
Reapply "[Verifier] Reject va_start in non-variadic function (#88809)"
This reverts commit f4960da6023b8034ae68925c3223d51624621b37.
Includes a fix for the MLIR test case.
Commit: 09e7d7585cf881fb598eb56738579b84d027318c
https://github.com/llvm/llvm-project/commit/09e7d7585cf881fb598eb56738579b84d027318c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/State.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Don't add 'in call to' diagnostics for builtin frames
Commit: a8de3ee8994023ea7669397587f8118ae5bba9c9
https://github.com/llvm/llvm-project/commit/a8de3ee8994023ea7669397587f8118ae5bba9c9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix some build warnings
Fixes:
/buildbot/worker/arc-folder/llvm-project/clang/lib/AST/Interp/Disasm.cpp:143:25: warning: cast from type 'const clang::interp::Block*' to type 'void*' casts away qualifiers [-Wcast-qual]
/buildbot/worker/arc-folder/llvm-project/clang/lib/AST/Interp/Disasm.cpp:271:23: warning: cast from type 'const clang::interp::Block*' to type 'void*' casts away qualifiers [-Wcast-qual]
Commit: c18a3b6bd30456305cf1b3d78ad5a805577388c1
https://github.com/llvm/llvm-project/commit/c18a3b6bd30456305cf1b3d78ad5a805577388c1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) (#87925) (REAPPLIED)
If the extract_subvector is cheap, attempt to extract directly from an inserted subvector
Reapplied with a check to ensure we only attempt this for fixed vectors
Commit: 71b9f6648222771470473431bc8ef2a2c25e872c
https://github.com/llvm/llvm-project/commit/71b9f6648222771470473431bc8ef2a2c25e872c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Index/USRGeneration.cpp
M clang/test/Index/USR/func-type.cpp
Log Message:
-----------
[clang][Index] Use canonical function parameter types in USRs (#68222)
This is necessary to ensure that functions declared in different
translation units whose parameter types only differ in top-level
cv-qualification generate the same USR.
For example:
```
// A.cpp
void f(const int x); // c:@F at f#1I#
// B.cpp
void f(int x); // c:@F at f#I#
```
With this patch, the USR for both functions will be
`c:@F at f#I#`.
Commit: dadcaf82274805456b7d85131cf94f921b5398b7
https://github.com/llvm/llvm-project/commit/dadcaf82274805456b7d85131cf94f921b5398b7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
Log Message:
-----------
[mlir][ArmSME] Support decomposing constant splats into ArmSME tiles (#88762)
This adds a simple rewrite/legalization to decompose constant splats
larger than a single ArmSME tile into multiple SME virtual tile sized
splats. E.g. a constant splat to `vector<[8]x[8]xi32>` would decompose
into four `vector<[4]x[4]xi32>` splats.
Commit: 711df7b0ae4a9ea45e431d5c0ff4a0c8b2e732c1
https://github.com/llvm/llvm-project/commit/711df7b0ae4a9ea45e431d5c0ff4a0c8b2e732c1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[vector][mlir] Restrict vector.shuffle to fixed-width vectors (#88733)
At the moment there is no support for vector.shuffle for scalable
vectors - various hooks/helpers related to `vector.shuffle` simply
ignore the scalable flags (e.g. ` ShuffleOp::inferReturnTypes`).
This is unlikely to change any time soon (vector shuffles are known to
be tricky for scalable vectors), hence this patch restricts
`vector.shuffle` to fixed width vectors.
Commit: 75244a1043d2be5003dea6914d5edc940c437cd5
https://github.com/llvm/llvm-project/commit/75244a1043d2be5003dea6914d5edc940c437cd5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
Log Message:
-----------
[clang][Interp] Implement align builtins
__builtin_is_aligned
__builtin_is_align_up
__builtin_is_align_down
Commit: 91dd844aa499d69c7ff75bf3156e2e3593a88057
https://github.com/llvm/llvm-project/commit/91dd844aa499d69c7ff75bf3156e2e3593a88057
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
Recommit [RISCV] RISCV vector calling convention (2/2) (#79096) (#87736)
Bug fix: Handle RVV return type in calling convention correctly.
Return values are handled in a same way as function arguments.
One thing to mention is that if a type can be broken down into
homogeneous
vector types, e.g. {<vscale x 4 x i32>, {<vscale x 4 x i32>, <vscale x 4
x i32>}},
it is considered as a vector tuple type and need to be handled by tuple
type rule.
Commit: ac1f2de7b581c26a768c4d2a2aad36505cc63c31
https://github.com/llvm/llvm-project/commit/ac1f2de7b581c26a768c4d2a2aad36505cc63c31
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/docs/Interfaces.md
Log Message:
-----------
[MLIR][docs] Mention declarePromisedInterface in Interfaces doc (#88689)
Co-authored-by: Frederik Harwath <fharwath at amd.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 1c076b43c294c7d29d99dd50f6853b33a5b99789
https://github.com/llvm/llvm-project/commit/1c076b43c294c7d29d99dd50f6853b33a5b99789
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
A mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
Log Message:
-----------
[mlir][tosa] Implement dynamic shape support for tosa.max_pool2d lowering (#87538)
The existing lowering for tosa.max_pool2d only supports dynamic
dimensions when the dynamic dimension is the batch dimension. This
change updates the lowering to support arbitrary dynamic dimensions on
the inputs and outputs of the tosa.max_pool2d operation.
This change also fixes a bug in the implementation of implicit
broadcasting in the tosa-to-linalg pass, which was introducing uses of
constant ops that violated dominance requirements.
Commit: d4602a96b48b00a50c4d891673fc622ca2e37f0a
https://github.com/llvm/llvm-project/commit/d4602a96b48b00a50c4d891673fc622ca2e37f0a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port fe48bf672e1ab2
Commit: c309dc6d0759b23b570c563f611530ff1a49e1bd
https://github.com/llvm/llvm-project/commit/c309dc6d0759b23b570c563f611530ff1a49e1bd
Author: mahtohappy <Happy.Kumar at Windriver.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
[Clang][Sema] placement new initializes typedef array with correct size (#83124)
When in-place new-ing a local variable of an array of trivial type, the
generated code calls 'memset' with the correct size of the array,
earlier it was generating size (squared of the typedef array + size).
The cause: `typedef TYPE TArray[8]; TArray x;` The type of declarator is
Tarray[8] and in `SemaExprCXX.cpp::BuildCXXNew` we check if it's of
typedef and of constant size then we get the original type and it works
fine for non-dependent cases.
But in case of template we do `TreeTransform.h:TransformCXXNEWExpr` and
there we again check the allocated type which is TArray[8] and it stays
that way, so ArraySize=(Tarray[8] type, alloc Tarray[8*type]) so the
squared size allocation.
ArraySize gets calculated earlier in `TreeTransform.h` so that
`if(!ArraySize)` condition was failing.
fix: I changed that condition to `if(ArraySize)`.
Fixes #41441
Commit: 34013e7ce25868aa8ddea116f79184e8603af56c
https://github.com/llvm/llvm-project/commit/34013e7ce25868aa8ddea116f79184e8603af56c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] Add shuffle tests for BLEND(PERMUTE(X),PERMUTE(Y)) patterns
Some very basic tests for a case where we could fold BLEND(PERMUTE(X),PERMUTE(Y)) -> PERMUTE(BLEND(X,Y))
These assume the permute masks are the same, and "complete" (no undefs/duplicate elements) but we could relax that depending on the blend mask
Commit: b73476c7843f21966acb2fb5cab8515d9ec02905
https://github.com/llvm/llvm-project/commit/b73476c7843f21966acb2fb5cab8515d9ec02905
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
Log Message:
-----------
[SLP] Make sure MinVF is a power-of-2 by using PowerOf2Ceil.
This should ensure we explore the same VFs as before 6d66db3890a18e39.
Fixes https://github.com/llvm/llvm-project/issues/88640.
Commit: e272c37934a06cd80b9b072afc09afae5fd8c218
https://github.com/llvm/llvm-project/commit/e272c37934a06cd80b9b072afc09afae5fd8c218
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/Driver/windows-seh-async-verify.cpp
Log Message:
-----------
clang; Try to get windows-seh-async-verify.cpp to pass on mac
On macOS, file paths start with /Users/..., which clang-cl interptrets
as the /U switch followed by a preprocessor macro name to undefine.
Put the filename after `--` to prevent this. For consistency, move %s
to the end of the regular `clang` lines (where this isn't needed) as
well.
Commit: f69ded0d9965a6b2b76ce12db876c70f249d96d1
https://github.com/llvm/llvm-project/commit/f69ded0d9965a6b2b76ce12db876c70f249d96d1
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Introduce `SemaOpenMP` (#88642)
This patch moves OpenMP-related entities out of `Sema` to a newly
created `SemaOpenMP` class. This is a part of the effort to split `Sema`
up, and follows the recent example of CUDA, OpenACC, SYCL, HLSL.
Additional context can be found in
https://github.com/llvm/llvm-project/pull/82217,
https://github.com/llvm/llvm-project/pull/84184,
https://github.com/llvm/llvm-project/pull/87634.
Commit: 9e7aab951ffba0211193ceb435c6b49e4e19ac24
https://github.com/llvm/llvm-project/commit/9e7aab951ffba0211193ceb435c6b49e4e19ac24
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Log Message:
-----------
[CUDA] Rename SM_32 to SM_32_ to work around AIX headers (#88779)
Summary:
AIX headers define this, so we need to work around it. In the future
this will be removed but for now we should just rename it to avoid these
issues.
Commit: e7fb49c24e4be4780ee4df9829980c5e8ddd511e
https://github.com/llvm/llvm-project/commit/e7fb49c24e4be4780ee4df9829980c5e8ddd511e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Switch release notes links to using markup for github issues; NFC
Commit: 9d8be2408768912dc113a342050049231e4fc8d1
https://github.com/llvm/llvm-project/commit/9d8be2408768912dc113a342050049231e4fc8d1
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
R clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
R clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
Log Message:
-----------
Revert "[codegen] Emit missing cleanups for stmt-expr and coro suspensions" and related commits (#88884)
The original change caused widespread breakages in msan/ubsan tests and
causes `use-after-free`. Most likely we are adding more cleanups than
necessary.
Commit: 9ce74d6d470437cde82e91631395322ec1c36eeb
https://github.com/llvm/llvm-project/commit/9ce74d6d470437cde82e91631395322ec1c36eeb
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
Log Message:
-----------
[AMDGPU][CodeGen] Improve handling of memcpy for -Os/-Oz compilations (#87632)
We had some instances when LLVM would not inline fixed-count memcpy and
ended up
attempting to lower it a a libcall, which would not work on AMDGPU as
the
address space doesn't meet the requirement, causing compiler crash.
The patch relaxes the threshold used for -Os/-Oz compilation so we're
always allowed
to inline memory copy functions.
This patch basically does the same thing as
https://reviews.llvm.org/D158226 for
AMDGPU.
Fix #88497.
Commit: 6ab5927238395798c2e8b657bb59a0304046099d
https://github.com/llvm/llvm-project/commit/6ab5927238395798c2e8b657bb59a0304046099d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect vectorization of smax with unsigned arg.
Commit: 26ebe16d78b22329d602db0398ce163ad610b0dc
https://github.com/llvm/llvm-project/commit/26ebe16d78b22329d602db0398ce163ad610b0dc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
Log Message:
-----------
[SLP]Fix PR88834: check if unsigned arg can be trunced, being used in smax/smin intrinsics.
Need to check that unsigned argument can be safely used in smax/smin
intrinsics by checking if at least single sign bit is cleared, otherwise
its value may be treated as negative instead of positive.
Commit: e185978321db4500d72fb1186476ee4104c5928b
https://github.com/llvm/llvm-project/commit/e185978321db4500d72fb1186476ee4104c5928b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] Regenerate shuffle.ll + shuffle-of-casts.ll
Use v4 of UTC to improve regex matching of argument names to fix a filecheck matching in a future patch
Commit: e84b2fb48df882ee1f49bbbca29d44fba22192a8
https://github.com/llvm/llvm-project/commit/e84b2fb48df882ee1f49bbbca29d44fba22192a8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
Log Message:
-----------
[LV][NFCI]Use integer for cost/trip count calculations instead of double, fix possible UB.
Using fp type in the compiler is not the best idea, here it used with
the comparison for equal to 0 and may cause undefined behavior in some
cases.
Reviewers: fhahn
Reviewed By: fhahn
Pull Request: https://github.com/llvm/llvm-project/pull/87241
Commit: 254df2e35c14414564d233902b25305ed17d251c
https://github.com/llvm/llvm-project/commit/254df2e35c14414564d233902b25305ed17d251c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-binops.ll - split off foldShuffleOfBinops tests from shuffle.ll
Commit: 6133878227efc30355c02c2f089e06ce58231a3d
https://github.com/llvm/llvm-project/commit/6133878227efc30355c02c2f089e06ce58231a3d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement `self` clause for compute constructs (#88760)
`self` clauses on compute constructs take an optional condition
expression. We again limit the implementation to ONLY compute constructs
to ensure we get all the rules correct for others. However, this one
will be particularly complicated, as it takes a `var-list` for `update`,
so when we get to that construct/clause combination, we need to do that
as well.
This patch also furthers uses of the `OpenACCClauses.def` as it became
useful while implementing this (as well as some other minor refactors as
I went through).
Finally, `self` and `if` clauses have an interaction with each other, if
an `if` clause evaluates to `true`, the `self` clause has no effect.
While this is intended and can be used 'meaningfully', we are warning on
this with a very granular warning, so that this edge case will be
noticed by newer users, but can be disabled trivially.
Commit: ac791888bbbe58651e597cf7a4b2276424b77a92
https://github.com/llvm/llvm-project/commit/ac791888bbbe58651e597cf7a4b2276424b77a92
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 1c076b43c294c7d29d99dd50f6853b33a5b99789
Commit: a0f8191af3945482f0f7a7c8f030e8c519a795b7
https://github.com/llvm/llvm-project/commit/a0f8191af3945482f0f7a7c8f030e8c519a795b7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Give built bytecode objects a .bc extension. NFC
Commit: 3d118f92081ea0c7048749dc5d08c8e8217be4eb
https://github.com/llvm/llvm-project/commit/3d118f92081ea0c7048749dc5d08c8e8217be4eb
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix dependencies between targets
We need file-level - not target-level - dependencies for these custom
commands to re-trigger when their dependencies change.
Commit: 60de56c743c414240b293a8b8ee10bc2129d7e10
https://github.com/llvm/llvm-project/commit/60de56c743c414240b293a8b8ee10bc2129d7e10
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Restore isKnownNonZero parameter order. (#88873)
Prior to #85863, the required parameters of llvm::isKnownNonZero were
Value and DataLayout. After, they are Value, Depth, and SimplifyQuery,
where SimplifyQuery is implicitly constructible from DataLayout. The
change to move Depth before SimplifyQuery needed callers to be updated
unnecessarily, and as commented in #85863, we actually want Depth to be
after SimplifyQuery anyway so that it can be defaulted and the caller
does not need to specify it.
Commit: 5a34ff12b8f4a73f5dcd4be1b2575dc38cf13bee
https://github.com/llvm/llvm-project/commit/5a34ff12b8f4a73f5dcd4be1b2575dc38cf13bee
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
fix Polynomial.td doc filename (#88900)
Not sure how best to test this, but I think it fixes the error
https://github.com/llvm/mlir-www/actions/runs/8699908058/job/23859264085#step:7:1111
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Jacques Pienaar <jpienaar at google.com>
Commit: b63247627c9e87e898dec5bf0bea255b3f0eec5c
https://github.com/llvm/llvm-project/commit/b63247627c9e87e898dec5bf0bea255b3f0eec5c
Author: Ding Fei <fding at feysh.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/recover-expr-gh88008-nocrash.c
Log Message:
-----------
[AST][RecoveryExpr] Fix a crash on c89/c90 invalid InitListExpr (#88008) (#88014)
Use refactored `CheckForConstantInitializer()` to skip checking expr
with error.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: d2d4a1bbdc455a30d600743eb59fb1c69205967a
https://github.com/llvm/llvm-project/commit/d2d4a1bbdc455a30d600743eb59fb1c69205967a
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/thread-prob-7.ll
R llvm/test/Transforms/JumpThreading/uncond-no-phi.ll
R llvm/test/Transforms/PhaseOrdering/thread-uncond-bb.ll
Log Message:
-----------
Revert "[JumpThreading] Thread over BB with only an unconditional branch" (#88907)
Reverts llvm/llvm-project#86312
Commit: 22629bb22a1bea95eebfc9b3171005de107c38f1
https://github.com/llvm/llvm-project/commit/22629bb22a1bea95eebfc9b3171005de107c38f1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__availability
M libcxx/include/__config
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__functional/function.h
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
Log Message:
-----------
[libc++] Use availability to rely on key functions for bad_expected_access and bad_function_call (#87390)
This patch uses our availability machinery to allow defining a key
function for bad_function_call and bad_expected_access at all times but
only rely on it when we can. This prevents compilers from complaining
about weak vtables and reduces code bloat and the amount of work done by
the dynamic linker.
rdar://111917845
Commit: 9ddedf07ed80076e0e419940753aeaaf719a09ec
https://github.com/llvm/llvm-project/commit/9ddedf07ed80076e0e419940753aeaaf719a09ec
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__config
M libcxx/include/barrier
M libcxx/include/latch
M libcxx/include/semaphore
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.barrier/max.pass.cpp
M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
M libcxx/test/std/thread/thread.latch/max.pass.cpp
M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
Log Message:
-----------
[libc++] Deprecate the C++20 synchronization library before C++20 (#86410)
When we initially implemented the C++20 synchronization library, we
reluctantly accepted for the implementation to be backported to C++03
upon request from the person who provided the patch. This was when we
were only starting to have experience with the issues this can create,
so we flinched. Nowadays, we have a much stricter stance about not
backporting features to previous standards.
We have recently started fixing several bugs (and near bugs) in our
implementation of the synchronization library. A recurring theme during
these reviews has been how difficult to understand the current code is,
and upon inspection it becomes clear that being able to use a few recent
C++ features (in particular lambdas) would help a great deal. The code
would still be pretty intricate, but it would be a lot easier to reason
about the flow of callbacks through things like
__thread_poll_with_backoff.
As a result, this patch deprecates support for the synchronization
library before C++20. In the next release, we can remove that support
entirely.
Commit: bd28889732e14ac6baca686c3ec99a82fc9cd89d
https://github.com/llvm/llvm-project/commit/bd28889732e14ac6baca686c3ec99a82fc9cd89d
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul 2^N +/- 3/5/9
Commit: 1334c034a73b7bf8a7af08be1c33d24a58127c47
https://github.com/llvm/llvm-project/commit/1334c034a73b7bf8a7af08be1c33d24a58127c47
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/test/Semantics/OpenMP/clause-validity01.f90
Log Message:
-----------
[flang] Fix test after 4078afc6d23e25df6baedad61b224ef86a94d42f
This tests requires the OpenMP runtime to be present, but the way that
the lit config detects it fails when "openmp" is added to RUNTIMES
instead of PROJECTS. This caused the tests to be skipped as unsupported
in local and upstream tests.
The actual bug was a missing word in the message, and putting the check
at the wrong line.
Commit: bf1ad1d267b1f911cb9846403d2c3d3250a40870
https://github.com/llvm/llvm-project/commit/bf1ad1d267b1f911cb9846403d2c3d3250a40870
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine][X86] Add initial shuffle-of-shuffles.ll test cover for #88743
Commit: f8e2ec13a8c6d33cb7b4f37869b4429ddcf43f01
https://github.com/llvm/llvm-project/commit/f8e2ec13a8c6d33cb7b4f37869b4429ddcf43f01
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
R lldb/test/API/functionalities/libsanitizers/util.py
Log Message:
-----------
Revert "Add asan tests for libsanitizers. (#88349)"
This reverts commit 82f479ba315a417b6cd01a8c2efdc15c26689f2e due to bot breakage.
Commit: 8cee94e989b5bf6fb6455087d48eb6c6e0e23c54
https://github.com/llvm/llvm-project/commit/8cee94e989b5bf6fb6455087d48eb6c6e0e23c54
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Fix obvious copy paste error.
CASE_VFMA_OPCODE_VV and CASE_VFMA_CHANGE_OPCODE_VV need to match up if we are
are to avoid "Unexpected opcode" errors, but in CASE_VFMA_CHANGE_OPCODE_VV,
CASE_VFMA_CHANGE_OPCODE_LMULS_MF2 had mistakenly been used instead of
CASE_VFMA_CHANGE_OPCODE_LMULS_MF4.
Commit: 51b42b762112f2e77d032efd16fa0d9d31cde494
https://github.com/llvm/llvm-project/commit/51b42b762112f2e77d032efd16fa0d9d31cde494
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
Revert "[Sema] Mark alias/ifunc targets used and consider mangled names" (#88919)
Reverts llvm/llvm-project#87130
Bot is broken with clang crash:
https://lab.llvm.org/buildbot/#/builders/272/builds/14063/steps/6/logs/stdio
Commit: 9d111286322ec99b32467eef3aeec6b588c49f18
https://github.com/llvm/llvm-project/commit/9d111286322ec99b32467eef3aeec6b588c49f18
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Improve clarity of CMake foreach. NFC.
Should be a bit easier to read.
Commit: 2704ebaf2885a16155ab7144f8dd0dd459d77089
https://github.com/llvm/llvm-project/commit/2704ebaf2885a16155ab7144f8dd0dd459d77089
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/lib/Decimal/CMakeLists.txt
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Create CUDA PTX OBJECT library target for F18 runtime CUDA build. (#88821)
This is to experiment with distributing F18 runtime CUDA library
in the form of a pure PTX library. The change is under
FLANG_EXPERIMENTAL_CUDA_RUNTIME CMake control.
Commit: a79783d7ad00c4c10c30f637f4bf13551e47f3dd
https://github.com/llvm/llvm-project/commit/a79783d7ad00c4c10c30f637f4bf13551e47f3dd
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/feupdateenv.cpp
Log Message:
-----------
[libc][fenv] Use proxy header (#88787)
Include types `fexcept_t` and `fenv_t ` from corresponding proxy
headers, as they are available since
https://github.com/llvm/llvm-project/pull/88467.
Commit: 38895e6578f7728cfb3d41d0880a0e9b358d9afd
https://github.com/llvm/llvm-project/commit/38895e6578f7728cfb3d41d0880a0e9b358d9afd
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/src/fenv/CMakeLists.txt
Log Message:
-----------
[libc][fenv] Remove unnecessary dependencies (#88788)
Remove the fenv macro dependency from the CMake files as the underlying targets
do not make use of it. Note that we do not have to worry about
[corresponding Bazel targets](https://github.com/llvm/llvm-project/blob/main/utils/bazel/llvm-project-overlay/libc/BUILD.bazel#L1138-L1288),
as they look good.
Commit: 1c6b0f779f66494cb597884c1a52e377bde4bc54
https://github.com/llvm/llvm-project/commit/1c6b0f779f66494cb597884c1a52e377bde4bc54
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineDebugify.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables-x.mir
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.mir
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/CodeGen/Generic/MIRDebugify/multifunction-module.mir
M llvm/test/DebugInfo/debugify-bogus-dbg-value.ll
M llvm/test/DebugInfo/debugify-each.ll
M llvm/test/DebugInfo/debugify-export.ll
M llvm/test/DebugInfo/debugify-ignore-phi.ll
M llvm/test/DebugInfo/debugify-original-no-dbg-info.ll
M llvm/test/DebugInfo/debugify-report-missing-locs-only.ll
M llvm/test/DebugInfo/debugify.ll
M llvm/test/DebugInfo/pr37964.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/DebugInfo/verify-di-preserve.ll
Log Message:
-----------
[RemoveDI] Add support for debug records to debugify (#87383)
This patch changes debugify to support debug variable records, and
subsequently to no longer convert modules automatically to intrinsics
when entering debugify.
Commit: 45eabd1362527d1b3a27a90f7479865785b763ee
https://github.com/llvm/llvm-project/commit/45eabd1362527d1b3a27a90f7479865785b763ee
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[flang,test] Add -resource-dir option to msvc-dependent-lib-flags.f90 (#88894)
For aarch64-windows-msvc, clang_rt.builtins is placed in windows subdir
instead of triple subdir, and the name of clang_rt.builtins is
clang_rt.builtins-aarch64.lib.
So let's use `-resource-dir` option to fix test failure.
Please see talk for PR#87866.
Commit: 22e6bf77ad8781810fc81fff4c447c03cdf6f419
https://github.com/llvm/llvm-project/commit/22e6bf77ad8781810fc81fff4c447c03cdf6f419
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/PCHContainerOperations.cpp
Log Message:
-----------
[unused-includes][Serialization] Remove unused includes. NFC. (#88790)
Commit: b566810add5b7c5695bdd2c39710b78af9dc83ba
https://github.com/llvm/llvm-project/commit/b566810add5b7c5695bdd2c39710b78af9dc83ba
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/PCHContainerOperations.h
Log Message:
-----------
[unused-includes] PCHContainerOperations uses MemoryBufferRef, not MemoryBuffer. NFC. (#88794)
Commit: 454d4496970f665200b5b300578894d78405b6ca
https://github.com/llvm/llvm-project/commit/454d4496970f665200b5b300578894d78405b6ca
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/runtime/src/kmp_dispatch.cpp
Log Message:
-----------
[OpenMP] Use a memory fence before incrementing the dispatch buffer index (#87995)
This patch uses a memory fence in function `__kmp_dispatch_next()` to
flush pending memory write invalidates before incrementing the
`volatile` variable `buffer_index` to fix intermittent time-outs of
OpenMP runtime LIT test cases `env/kmp_set_dispatch_buf.c` and
`worksharing/for/kmp_set_dispatch_buf.c`, noting that the same is needed
for incrementing `buffer_index` in function `__kmpc_next_section()`
(line 2600 of `kmp_dispatch.cpp`).
Commit: 22bba85d82637d0446928ff6ff41f98583f3d3b2
https://github.com/llvm/llvm-project/commit/22bba85d82637d0446928ff6ff41f98583f3d3b2
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/runtime/test/tasking/hidden_helper_task/capacity_mix_threads.cpp
M openmp/runtime/test/tasking/hidden_helper_task/capacity_nthreads.cpp
Log Message:
-----------
[OpenMP][test][AIX] Make 64 the max number of threads for capacity tests in AIX 32-bit (#88739)
This patch makes 64 the max number of threads for 2 capacity tests in
AIX 32-bit mode rather than `XFAIL`ing them.
Commit: 8137bd9e03d636a27701a85b6efe899f9571cac5
https://github.com/llvm/llvm-project/commit/8137bd9e03d636a27701a85b6efe899f9571cac5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use CSId to construct MemProfRecord (#88362)
We are in the process of referring to call stacks with CallStackId in
IndexedMemProfRecord and IndexedAllocationInfo instead of holding call
stacks inline (both in memory and the serialized format). Doing so
deduplicates call stacks and reduces the MemProf profile file size.
Before we can eliminate the two fields holding call stacks inline:
- IndexedAllocationInfo::CallStack
- IndexedMemProfRecord::CallSites
we need to eliminate all the read operations on them.
This patch is a step toward that direction. Specifically, we
eliminate the read operations in the context of MemProfReader and
RawMemProfReader. A subsequent patch will eliminate the read
operations during the serialization.
Commit: 8cd8ebe153391993a3668d2ac8d2994d9491f3ef
https://github.com/llvm/llvm-project/commit/8cd8ebe153391993a3668d2ac8d2994d9491f3ef
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/unittests/CodeGen/RegAllocScoreTest.cpp
Log Message:
-----------
[MLGO] Use double comparison facilities for reg alloc scoring tests (#88862)
This patch switches from using direct equality (ASSERT_EQ) to the
floating point comparison facilities (ASSERT_DOUBLE_EQ) within google
test to avoid weird floating point problems. There is at least one
downstream that maintains a patch for issues cropping up from the direct
equality.
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/llvm17/allocscore.patch
Commit: 75054525ae58f26c86e418382164540760871186
https://github.com/llvm/llvm-project/commit/75054525ae58f26c86e418382164540760871186
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Implement VectorSplat casts
Commit: 184ba038ac1d444980b3e554b0057f3f30c516ab
https://github.com/llvm/llvm-project/commit/184ba038ac1d444980b3e554b0057f3f30c516ab
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Avoid matching 3/5/9 * 2^N as 2^N + 2/4/8 (e.g. 24) (#88937)
The former is better as a zero extend can be folded into the sll,
whereas the later currently produces a seperate zext.w due to bad
interactions with other combines.
Commit: 4082a7554521572a65a5a0008c4661a534df659d
https://github.com/llvm/llvm-project/commit/4082a7554521572a65a5a0008c4661a534df659d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Improve stack usage to increase recursive initialization depth (#88546)
We were crashing due to stack exhaustion on rather reasonable C++
template code. After some investigation, I found that we have a
stack-allocated object that was huge: `InitializationSequence` was 7016
bytes. This caused an overflow with deep call stacks in initialization
code.
With these change, `InitializationSequence` is now 248 bytes.
With the original code, testing RelWithDebInfo on Windows 10, all the
tests in SemaCXX took about 6s 800ms. The max template depth I could
reach on my machine using the code in the issue was 708. After that, I
would get `-Wstack-exhausted` warnings until crashing at 976
instantiations.
With these changes on the same machine, all the tests in SemaCXX took
about 6s 500ms. The max template depth I could reach was 1492. After
that, I would get `-Wstack-exhausted` warnings until crashing at 2898
instantiations.
This improves the behavior of #88330 but there's still an outstanding
question of why we run out of stack space and crash in some
circumstances before we're able to issue a diagnostic about stack space
exhaustion.
Commit: aefff774a0d6f75565243263555f2513ac3c9fdf
https://github.com/llvm/llvm-project/commit/aefff774a0d6f75565243263555f2513ac3c9fdf
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/drs/dr6xx.cpp
Log Message:
-----------
[clang] Migrate DR tests to `static_assert` (#88611)
This patch touches a number of tests that run in C++98 mode that have
been using array size as a context that requires a constant expression,
replacing it with a `static_assert` backported via a macro. This reduces
noise in expected directives that comes from diagnostics around VLAs.
This patch also showcases that DR tests would benefit from folding in
constant expressions in C++98 mode, but I'm not sure it's even on the
table. If it is, I'd be happy to prepare a PR for that, and rebase this
PR on top of it.
CC @AaronBallman
Commit: 6b83fe552990966fdad0e5693a79b02b87d9526e
https://github.com/llvm/llvm-project/commit/6b83fe552990966fdad0e5693a79b02b87d9526e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Strength reduce mul by 2^n + 2/4/8 + 1 (#88911)
With zba, we can expand this to (add (shl X, C1), (shXadd X, X)).
Note that this is our first expansion to a three instruction sequence. I
believe this to general be a reasonable tradeoff for most architectures,
but we may want to (someday) consider a tuning flag here.
I plan to support 2^n + (2/4/8 + 1) eventually as well, but that comes
behind 2^N - 2^M. Both are also three instruction sequences.
---------
Co-authored-by: Min-Yih Hsu <min at myhsu.dev>
Commit: 1c2afbae9af22b58190c10e3517242d01d89d612
https://github.com/llvm/llvm-project/commit/1c2afbae9af22b58190c10e3517242d01d89d612
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/CodeGen/alias.cpp
Log Message:
-----------
[CodeGen,test] Test llvm-libc style alias attribute with UsingShadowDecl
The pattern is quite involved and deserves a specific codegen test.
This test would catch the bug in the first attempt of #87130
Commit: 5462b27026dee886fb896980d6ad9487200a6cbe
https://github.com/llvm/llvm-project/commit/5462b27026dee886fb896980d6ad9487200a6cbe
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
Log Message:
-----------
[NFC][libc++][TZDB] Refactors argument order. (#85781)
Putting the output reference argument first looks more sensible.
Commit: a75c9d059791f5d175f6c263d114d59e51b46120
https://github.com/llvm/llvm-project/commit/a75c9d059791f5d175f6c263d114d59e51b46120
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__fwd/ios.h
M libcxx/include/iosfwd
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[NFC][libc++] Moves ios_base's forward declaration. (#88027)
According to our synopsis it belonged to ios_fwd. This is not true in
the C++11 version of the Standard, I did not validate against C++98.
Moving this to ios's forward where it's declared in the standard allows
removing a module quirk. An earlier removal of std::vectors forward
declaration allows to remove all quirks for the iosfwd module part.
Since iosfwd includes __fwd/ios.h this does not change the required
includes.
Commit: 9cd3e92f05fcc2c9168a7abc56d08f0d33bfdfdf
https://github.com/llvm/llvm-project/commit/9cd3e92f05fcc2c9168a7abc56d08f0d33bfdfdf
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++][modules] Removes some validation quirks. (#88031)
Recent unrelated header cleanups caused these quirks to become obsolete.
Commit: 41a830500aa5556a65198607ec751d8e3254c949
https://github.com/llvm/llvm-project/commit/41a830500aa5556a65198607ec751d8e3254c949
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__config
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.deprecated.verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp20_features.deprecated.verify.cpp
Log Message:
-----------
[libc++] Removes deprecated _LIBCPP_ENABLE_<VERSION>_REMOVED_FEATURES macros (#88548)
We marked those macros as deprecated in the last release with the intent
of
removing them in LLVM 19. This commit performs the removal.
Commit: 388da6a31b7ba3062f9306b894656e265b9b33eb
https://github.com/llvm/llvm-project/commit/388da6a31b7ba3062f9306b894656e265b9b33eb
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
Log Message:
-----------
[libc++][test] Removes Clang 16 validation. (#88558)
Commit: 8e0a4a89f940d17b520bbca040981f54195d3ea4
https://github.com/llvm/llvm-project/commit/8e0a4a89f940d17b520bbca040981f54195d3ea4
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/docs/BuildingLibcxx.rst
Log Message:
-----------
[libc++][doc] Documents -DLIBCXX_INSTALL_MODULES=ON. (#88547)
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 002297bdaa63f3f9f56b0051110ccf48f31c6825
https://github.com/llvm/llvm-project/commit/002297bdaa63f3f9f56b0051110ccf48f31c6825
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port 22629bb22a1b
Commit: 8debcf03c535e14ee47b14fddfcaeae3f32d1317
https://github.com/llvm/llvm-project/commit/8debcf03c535e14ee47b14fddfcaeae3f32d1317
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
A mlir/test/Dialect/SparseTensor/sparse_itertion_licm.mlir
Log Message:
-----------
[mlir][sparse] introduce sparse_tensor.iterate operation (#88807)
A `sparse_tensor.iterate` iterates over a sparse iteration space
extracted from `sparse_tensor.extract_iteration_space` operation
introduced in https://github.com/llvm/llvm-project/pull/88554.
*DO NOT MERGE* before https://github.com/llvm/llvm-project/pull/88554
Commit: b9556532c7391a2acb77ab0f7d7b36e1dc382b24
https://github.com/llvm/llvm-project/commit/b9556532c7391a2acb77ab0f7d7b36e1dc382b24
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
R mlir/test/Dialect/SparseTensor/sparse_itertion_licm.mlir
Log Message:
-----------
Revert "[mlir][sparse] introduce sparse_tensor.iterate operation" (#88953)
Reverts llvm/llvm-project#88807 (merged by mistake)
Commit: 481bd5d416df7a1d24e18cc81ae782e8701de965
https://github.com/llvm/llvm-project/commit/481bd5d416df7a1d24e18cc81ae782e8701de965
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
Log Message:
-----------
[mlir][sparse] introduce `sparse_tensor.extract_iteration_space` operation. (#88554)
A `sparse_tensor.extract_space %tensor at %iterator` extracts a *sparse*
iteration space defined `%tensor`, the operation to traverse the
iteration space will be introduced in following PRs.
Commit: edb711d2f318b17489692b5f85028fab7ed85b83
https://github.com/llvm/llvm-project/commit/edb711d2f318b17489692b5f85028fab7ed85b83
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[InstCombine] Update `vector_reduce_and` tests to actually use `llvm.vector.reduce.and`; NFC
Commit: 5c6af605b307213453a9a043532b9293db21b5c6
https://github.com/llvm/llvm-project/commit/5c6af605b307213453a9a043532b9293db21b5c6
Author: mahtohappy <Happy.Kumar at Windriver.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A clang/test/SemaCXX/PR41441.cpp
R clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
[Clang][Sema] placement new initializes typedef array with correct size (#88902)
Build Failure Fix
Fixes build failures due to #83124
Commit: b01879ec1ffbd249f9bf3c4f32308443be6ac36b
https://github.com/llvm/llvm-project/commit/b01879ec1ffbd249f9bf3c4f32308443be6ac36b
Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
A mlir/test/Dialect/XeGPU/invalid.mlir
Log Message:
-----------
[MLIR][XeGPU] Add XeGPU scattered ops (#86594)
- Extended TensorDescAttr with scattered attribute
- Add scattered ops: CreateDescOp, PrefetchOp, LoadGatherOp,
StoreScatterOp, UpdateOffsetOp
- Add a block op: UpdateNdOffsetOp
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Commit: 9ec8c961664de3b3fcc1cbd5238e40ec8c9bdddb
https://github.com/llvm/llvm-project/commit/9ec8c961664de3b3fcc1cbd5238e40ec8c9bdddb
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
Log Message:
-----------
[clang][dataflow] Expose getReferencedDecls and relocate free functions. (#88754)
Moves free functions from DataflowEnvironment.h/cc and
DataflowAnalysisContext.h/cc to RecordOps and a new ASTOps and exposes
them as needed for current use and to expose getReferencedDecls for
out-of-tree use.
Minimal change in functionality, only to modify the return type of
getReferenceDecls to return the collected decls instead of using output
params.
Tested with `ninja check-clang-tooling`.
Commit: bbd64c4ddf08be468ab4eb4c161e28bdab6808bb
https://github.com/llvm/llvm-project/commit/bbd64c4ddf08be468ab4eb4c161e28bdab6808bb
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/mul.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul as 2^N - 2^M
Commit: 8885813ebb0a61014d99ac776b8118d935848cc9
https://github.com/llvm/llvm-project/commit/8885813ebb0a61014d99ac776b8118d935848cc9
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
Log Message:
-----------
[libc++][chrono] Disables a test.
This tests seems problematic on different platforms. There is still a
test that ensures coverage, but in an automatic fashion. This test needs
to be investigated.
Commit: 0665669876cd7f51f7572cff3bb97485d78f5de5
https://github.com/llvm/llvm-project/commit/0665669876cd7f51f7572cff3bb97485d78f5de5
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Sema] Mark alias/ifunc targets used and consider mangled names
https://reviews.llvm.org/D54188 marked "alias" targets as used in C to
fix -Wunused false positives. This patch extends the approach to handle
mangled names to support global scope names in C++ and the
`overloadable` attribute in C.
(Note: we should skip `UsingShadowDecl`, which would trigger an
assertion failure in `ItaniumMangleContextImpl::mangleCXXName`.
See regression test added by commit 1c2afbae9af22b58190c10e3517242d01d89d612.)
In addition, we mark ifunc targets as used to fix #63957 (temporarily
used by xz; ifunc was removed by
https://github.com/tukaani-project/xz/commit/689ae2427342a2ea1206eb5ca08301baf410e7e0)
While our approach has false negatives for namespace scope names, the
majority of alias/ifunc C++ uses (global scope with no overloads) are
handled.
Note: The following function with internal linkage but C language
linkage type is mangled in Clang but not in GCC. This inconsistency
makes alias/ifunc difficult to use in C++ with portability (#88593).
```
extern "C" {
static void f0() {}
// GCC: void g0() __attribute__((alias("_ZL2f0v")));
// Clang: void g0() __attribute__((alias("f0")));
}
```
Pull Request: https://github.com/llvm/llvm-project/pull/87130
Commit: 5422eb0b841521908c2fc60bd9c7fdc11ded12a1
https://github.com/llvm/llvm-project/commit/5422eb0b841521908c2fc60bd9c7fdc11ded12a1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add another constructor to MemProfReader (#88952)
This patch enables users of MemProfReader to directly supply mappings
from CallStackId to actual call stacks.
Once the users of the current constructor without CSIdMap switch to
the new constructor, we'll have fewer users of:
- IndexedAllocationInfo::CallStack
- IndexedMemProfRecord::CallSites
bringing us one step closer to the removal of these fields in favor
of:
- IndexedAllocationInfo::CSId
- IndexedMemProfRecord::CallSiteIds
Commit: c7657cf7d1ee57f9cb9133164536591a1842b43c
https://github.com/llvm/llvm-project/commit/c7657cf7d1ee57f9cb9133164536591a1842b43c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll
Log Message:
-----------
[SLP]Keep externally used GEPs as GEPs, if possible instead of extractelement.
If the vectorized GEP instruction can be still kept as a scalar GEP,
better to keep it as scalar instead of extractelement. In many cases it
is more profitable.
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Misc/oourafft.test 18911.00 19695.00 4.1%
test-suite :: SingleSource/Benchmarks/Misc-C++-EH/spirit.test 59987.00 60707.00 1.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1392209.00 1392753.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1392209.00 1392753.00 0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1087996.00 1088236.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 309310.00 309342.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664661.00 664693.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664661.00 664693.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12354636.00 12354908.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1152748.00 1152716.00 -0.0%
test-suite :: MultiSource/Applications/oggenc/oggenc.test 191787.00 191771.00 -0.0%
test-suite :: SingleSource/UnitTests/matrix-types-spec.test 480796.00 480476.00 -0.1%
Misc/oourafft - Extra code gets vectorized
Misc-C++-EH/spirit - same
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - same, extra code gets vectorized
CINT2006/400.perlbench - some extra 4 x ptr stores vectorized
Bullet/bullet - extra 4 x ptr store vectorized
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same
CFP2017rate/526.blender_r - extra 8 x float stores (several), some extra
4 x ptr stores
CFP2006/453.povray - 2 x double loads/stores replaced by 4 x double
loads/stores
Applications/oggenc - extra code is vectorized
UnitTests/matrix-types-spec - extra code gets vectorized
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88877
Commit: 7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda
https://github.com/llvm/llvm-project/commit/7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
[SLP]Attempt to vectorize long stores, if short one failed.
We can try to vectorize long store sequences, if short ones were
unsuccessful because of the non-profitable vectorization. It should not
increase compile time significantly (stores are sorted already,
complexity is n x log n), but vectorize extra code.
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1088012.00 1088236.00 0.0%
test-suite :: SingleSource/UnitTests/matrix-types-spec.test 480396.00 480476.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2041105.00 2040961.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 836563.00 836387.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1035100.00 1032140.00 -0.3%
In all benchmarks extra code gets vectorized
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88563
Commit: 3eff86f82cb59d7dfc88e0cc3d8df8282f24f028
https://github.com/llvm/llvm-project/commit/3eff86f82cb59d7dfc88e0cc3d8df8282f24f028
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[gn build] Port 9ec8c961664d
Commit: b0ddbfb77d15e00e08fc36f6ccd8a4fecde465d1
https://github.com/llvm/llvm-project/commit/b0ddbfb77d15e00e08fc36f6ccd8a4fecde465d1
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
Log Message:
-----------
[clang][SPIR-V] Set AS for the SPIR-V logical triple (#88939)
This was missed in #88455, causing most of the .hlsl to SPIR-V tests to
fail (such as clang\test\Driver\hlsl-lang-targets-spirv.hlsl)
Commit: c9731a3dccd381849bfede5e09290c0574efa248
https://github.com/llvm/llvm-project/commit/c9731a3dccd381849bfede5e09290c0574efa248
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir] Fix a warning about an extraneous semicolon
This patch fixes:
mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp:58:2: error: extra ';'
outside of a function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: 0a789ea8a829da345e46d8224d73b2ddaba6969f
https://github.com/llvm/llvm-project/commit/0a789ea8a829da345e46d8224d73b2ddaba6969f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/SemaCXX/PR41441.cpp
Log Message:
-----------
Fix test from #83124 and #88902
This just replaces an '#include<new>' with a declaration of array
placement new.
Commit: 9a0a28f8384b2cb534953df33bf124f01f0e0d0e
https://github.com/llvm/llvm-project/commit/9a0a28f8384b2cb534953df33bf124f01f0e0d0e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Libomptarget] Rework Record & Replay to be a plugin member (#88928)
Summary:
Previously, the R&R support was global state initialized by a global
constructor. This is bad because it prevents us from adequately
constraining the lifetime of the library. Additionally, we want to
minimize the amount of global state floating around.
This patch moves the R&R support into a plugin member like everything
else. This means there will be multiple copies of the R&R implementation
floating around, but this was already the case given the fact that we
currently handle everything with dynamic libraries.
Commit: ed7038ef334eaccdd4104053005cab52804fbfad
https://github.com/llvm/llvm-project/commit/ed7038ef334eaccdd4104053005cab52804fbfad
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
specify dialect in polynomial docs (#88933)
I figured out how to test this with `make mlir-doc doxygen-mlir`
Commit: 13ea36db166b7007f8b1e84e0827faaf24eb448e
https://github.com/llvm/llvm-project/commit/13ea36db166b7007f8b1e84e0827faaf24eb448e
Author: juan.vazquez <juan.vazquez.test at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-suggestions-crashes.cpp
Log Message:
-----------
Fix UPCAddressofArraySubscriptGadget::getClaimedVarUseSites() (#88406)
UPCAddressofArraySubscriptGadget::getClaimedVarUseSites should skip
parentheses when accessing the DeclRefExpr, otherwise a crash happens
with parenthesized references.
Commit: f430e374462efd94d891fcf9fa09d606343c780f
https://github.com/llvm/llvm-project/commit/f430e374462efd94d891fcf9fa09d606343c780f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
Log Message:
-----------
[llvm] Drop unaligned from calls to readNext (NFC) (#88841)
Now readNext defaults to unaligned accesses. This patch drops
unaligned to improve readability.
Commit: 281d71604f418eb952e967d9dc4b26241b7f96aa
https://github.com/llvm/llvm-project/commit/281d71604f418eb952e967d9dc4b26241b7f96aa
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
Log Message:
-----------
[X86] Change how we treat functions with explicit sections as small/large (#88172)
Following #78348, we should treat functions with an explicit section as
small, unless the section name is (or has the prefix) ".ltext".
Clang emits global initializers into a ".text.startup" section on Linux.
If we mix small/medium code model object files with large code model
object files, we'll end up mixing sections with and without the large
section flag.
Reland of #87838 with a check for non-ELF platforms in
TargetMachine::isLargeGlobalValue(), otherwise MCJIT on Windows tests
fail.
Commit: 191be2a8a8531129c779bf23c4eec86f32c69bf9
https://github.com/llvm/llvm-project/commit/191be2a8a8531129c779bf23c4eec86f32c69bf9
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values_funcs.test
Log Message:
-----------
update_test_checks: pre-commit a new test
The test shows that name preservation doesn't work properly when
--include-generated-funcs is used.
Commit: e770249d955e06f205e91017cd394d8670996168
https://github.com/llvm/llvm-project/commit/e770249d955e06f205e91017cd394d8670996168
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
Log Message:
-----------
update_test_checks: add new test
This test is meant to demonstrate an upcoming change that replaces basic
block labels by FileCheck patterns.
Commit: 377a2767a9951659b5ec7309abb78da719a4f93b
https://github.com/llvm/llvm-project/commit/377a2767a9951659b5ec7309abb78da719a4f93b
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
update_test_checks: remove an unused function
Commit: 9ec6c5d26321f5d32d97218f850ae7cafda32b2e
https://github.com/llvm/llvm-project/commit/9ec6c5d26321f5d32d97218f850ae7cafda32b2e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.deallocate operation (#88839)
Add the fir.cuda_deallocate operation that perform device deallocation
of data hold by a descriptor. This will replace the call to
AllocatableDeallocate from the runtime.
This is a companion operation to the one added in #88586
Commit: 34777c238b117b52dd41a9d12e8b54fb83677a12
https://github.com/llvm/llvm-project/commit/34777c238b117b52dd41a9d12e8b54fb83677a12
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
A llvm/test/Transforms/LoopVectorize/blend-in-header.ll
Log Message:
-----------
[VPlan] Don't mark VPBlendRecipe as phi-like.
VPBlendRecipes don't get lowered to phis and usually do not appear at
the beginning of blocks, due to their masks appearing before them.
This effectively relaxes an over-eager verifier message.
Fixes https://github.com/llvm/llvm-project/issues/88297.
Fixes https://github.com/llvm/llvm-project/issues/88804.
Commit: b6bd41db31c798f3fc82368381fad6d42795f512
https://github.com/llvm/llvm-project/commit/b6bd41db31c798f3fc82368381fad6d42795f512
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/add-sitofp.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/pr27236.ll
M llvm/test/Transforms/InstCombine/sitofp.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
Log Message:
-----------
[InstCombine] Add canonicalization of `sitofp` -> `uitofp nneg`
This is essentially the same as #82404 but has the `nneg` flag which
allows the backend to reliably undo the transform.
Closes #88299
Commit: 885b8d9bb5192267cb2449a9ddec28e20ac9300e
https://github.com/llvm/llvm-project/commit/885b8d9bb5192267cb2449a9ddec28e20ac9300e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Enable mul strength reduction for XTheadBa
This vendor extension has the same shift_add as zba, and most of the same
patterns are duplicated. Enable it here too so the configurations don't
diverge.
Commit: c6e01627acf8591830ee1d211cff4d5388095f3d
https://github.com/llvm/llvm-project/commit/c6e01627acf8591830ee1d211cff4d5388095f3d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
Log Message:
-----------
Revert "Reapply "[LV] Improve AnyOf reduction codegen. (#78304)""
This reverts commit c6e38b928c56f562aea68a8e90f02dbdf0eada85.
Causes miscompiles, see comments on #78304.
Commit: 266b2a26408c42ed1ac84ef38dfc41695423d9da
https://github.com/llvm/llvm-project/commit/266b2a26408c42ed1ac84ef38dfc41695423d9da
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/known-fpclass-reduce-signbit.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
Log Message:
-----------
[ValueTracking] Add tests for `computeKnownFPClass` of `llvm.vector.reduce.{fmin,fmax,fmaximum,fminimum}`; NFC
Commit: 9eeae4421198b99eab3ae9a4ff678fda26bbda2a
https://github.com/llvm/llvm-project/commit/9eeae4421198b99eab3ae9a4ff678fda26bbda2a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-fpclass-reduce-signbit.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
Log Message:
-----------
[ValueTracking] Implement `computeKnownFPClass` for `llvm.vector.reduce.{fmin,fmax,fmaximum,fminimum}`
Closes #88408
Commit: d19bd05c79ad3b1a2c3cb439c3fc60825f66bed7
https://github.com/llvm/llvm-project/commit/d19bd05c79ad3b1a2c3cb439c3fc60825f66bed7
Author: Hubert Tong <hubert-reinterpretcast at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Clang Release Notes: Fix reST formatting
Fix a use of inline code markup to have a non-word character after the ending delimiter as required by reST.
Commit: 3074060d6a1d7d2e74cb767876bd9e5192d12007
https://github.com/llvm/llvm-project/commit/3074060d6a1d7d2e74cb767876bd9e5192d12007
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use SizeIs (NFC) (#88984)
Commit: b1385dbd98e877a374ce303fd9d1774faf98e31b
https://github.com/llvm/llvm-project/commit/b1385dbd98e877a374ce303fd9d1774faf98e31b
Author: Michael Jones <michaelrj at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
Log Message:
-----------
[libc][NFC] fix typo in fenv type proxy headers (#88982)
libc.incude.fenv ->
libc.include.fenv
Commit: 8aa061ffc75adfab4b3084c918e7d4a3ccd5ba43
https://github.com/llvm/llvm-project/commit/8aa061ffc75adfab4b3084c918e7d4a3ccd5ba43
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
Log Message:
-----------
[mlir][sparse][NFC] switching to using `let argments/results` in td files (#88994)
followed the same style used in "TensorOps.td".
Commit: 9067070d91e9d8cdd8509ffa56a076f08a3d7281
https://github.com/llvm/llvm-project/commit/9067070d91e9d8cdd8509ffa56a076f08a3d7281
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-features.c
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/CodeGen/RISCV/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/pr56110.ll
M llvm/test/CodeGen/RISCV/riscv-func-target-feature.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Re-separate unaligned scalar and vector memory features in the backend. (#88954)
This is largely a revert of commit
e81796671890b59c110f8e41adc7ca26f8484d20.
As #88029 shows, there exists hardware that only supports unaligned
scalar.
I'm leaving how this gets exposed to the clang interface to a future
patch.
Commit: 988ffd06722e7e056b239efe497345ac97be33db
https://github.com/llvm/llvm-project/commit/988ffd06722e7e056b239efe497345ac97be33db
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
Add asan tests for libsanitizers. (#88349) (#88962)
The previous patch was reverted because the test fails to build when
libsanitizers is not present. This patch catches the BuildError
exception and skips the test appropriately.
This patch tests LLDB integration with libsanitizers for ASan.
rdar://111856681
Commit: 50a371795bcfe0731f8882e42712dff33cbbef9b
https://github.com/llvm/llvm-project/commit/50a371795bcfe0731f8882e42712dff33cbbef9b
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
Log Message:
-----------
[X86] Fix instr desc of CFCMOV's 'mr' variants
- With the memory operand as the destination, 'mr' variants of CFCMOV
works like STORE and their memory operands should be input operands
instead of output ones.
Reviewers: XinWang10, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88970
Commit: 1bc092181bf50d6be95b165e91bd906710710ca7
https://github.com/llvm/llvm-project/commit/1bc092181bf50d6be95b165e91bd906710710ca7
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add support for lldb-server (#88989)
Commit: be50a259f1fe77240b000f6b695b9b6394f4936b
https://github.com/llvm/llvm-project/commit/be50a259f1fe77240b000f6b695b9b6394f4936b
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fmul-pow.ll
M llvm/test/Transforms/InstCombine/fmul.ll
Log Message:
-----------
Update foldFMulReassoc to respect absent fast-math flags (#88589)
This change updates a few of the transformations in foldFMulReassoc to
respect absent fast-math flags in cases where fmul and fdiv, fadd, or fsub
instructions were being folded but the code was only checking for
fast-math flags on the fmul instruction and was transferring flags to
the folded instruction that were not present on the other original
instructions.
This fixes https://github.com/llvm/llvm-project/issues/82857
Commit: ce5381e22a50f354cf3d1763589f1daf155c481b
https://github.com/llvm/llvm-project/commit/ce5381e22a50f354cf3d1763589f1daf155c481b
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][vector] Determine vector sizes from the result shape in the ca… (#88249)
…se of tensor pack
When the vector sizes are not passed as inputs to the vector transform
operation, the vector sizes are queried from the static result shape in
the case of tensor.pack op.
Commit: 8c9f45e2decbb68dbf83794f98291b53f59390f8
https://github.com/llvm/llvm-project/commit/8c9f45e2decbb68dbf83794f98291b53f59390f8
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[ARM64EC] Fix arm_neon.h on ARM64EC. (#88572)
Since 97fe519d, in ARM64EC mode, we don't define `__aarch64__`. Fix
various preprocessor guards to account for this.
Commit: 8c9d814b66f7df274de41225575817188fbeed4f
https://github.com/llvm/llvm-project/commit/8c9d814b66f7df274de41225575817188fbeed4f
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Fastmath flag for complex angle (#88658)
See
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: efd60556f759fbfa0fc0a5984463daeaef20799c
https://github.com/llvm/llvm-project/commit/efd60556f759fbfa0fc0a5984463daeaef20799c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
Revert "[SLP]Attempt to vectorize long stores, if short one failed."
This reverts commit 7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda.
Contrary to the commit description, this does cause large
compile-time regressions (up to 10% on individual files).
Commit: 7c2688977567ea5ac1203daa3c452b541ef55f67
https://github.com/llvm/llvm-project/commit/7c2688977567ea5ac1203daa3c452b541ef55f67
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrInfo.td
Log Message:
-----------
[Sparc] Fix instr desc of special register stores
- Those special register stores are STORE and their memory operands are
input operands instead of output ones.
Reviewers:
JDevlieghere, arsenm, yinying-lisa-li, koachan, PeimingLiu, jyknight, aartbik, matthias-springer
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88971
Commit: 62853a246ef131c4de73b63a141c85a0b14c75a5
https://github.com/llvm/llvm-project/commit/62853a246ef131c4de73b63a141c85a0b14c75a5
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/TableGen/def-multiple-operands.td
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen][InstrInfoEmitter] Count sub-operands on def operands
- If a def operand includes multiple sub-operands, count them when
generating instr info.
- Found issues in x86 and sparc backends, where memory operands of
store or store-like instructions are wrongly placed in the output
list.
Reviewers: jayfoad, arsenm, Pierre-vh
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88972
Commit: d0f718e06848774a4e9d0b253cf75c1408b5f41a
https://github.com/llvm/llvm-project/commit/d0f718e06848774a4e9d0b253cf75c1408b5f41a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Revert "Improve stack usage to increase recursive initialization depth" (#89006)
Reverts llvm/llvm-project#88546
Leak and performance regression.
Details in #88546
Commit: 1f35e7227178843679d1d364bc5fc0bcfee2eb95
https://github.com/llvm/llvm-project/commit/1f35e7227178843679d1d364bc5fc0bcfee2eb95
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-allow-runtime-check.cpp
A clang/test/Sema/builtin-allow-runtime-check.c
Log Message:
-----------
[clang][builtin] Implement __builtin_allow_runtime_check (#87568)
RFC:
https://discourse.llvm.org/t/rfc-introduce-new-clang-builtin-builtin-allow-runtime-check/78281
---------
Co-authored-by: Noah Goldstein <goldstein.w.n at gmail.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 52a4d8123c2a9157f2e543945f7b6148da3ecfdb
https://github.com/llvm/llvm-project/commit/52a4d8123c2a9157f2e543945f7b6148da3ecfdb
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
Log Message:
-----------
[BOLT][NFC] Remove unused function (#89009)
getFileOffsetFor() was replaced with getFileOffsetForAddress().
Commit: 0af8caeb2fa4d68fcabe6297383d1cdf1cae8b87
https://github.com/llvm/llvm-project/commit/0af8caeb2fa4d68fcabe6297383d1cdf1cae8b87
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Remove another unused function (#89011)
RewriteInstance::isKSymtabSection() is deprecated.
Commit: f40f4fcee506deacda0594362509ee7dddcf5e37
https://github.com/llvm/llvm-project/commit/f40f4fcee506deacda0594362509ee7dddcf5e37
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[clang analysis] ExprMutationAnalyzer support recursive forwarding reference (#88843)
Reapply for #88765.
Partially fixes: #60895.
Commit: 3204f3e30b8e15ce6e5d10d5d7bfbaa7cf5cd1f4
https://github.com/llvm/llvm-project/commit/3204f3e30b8e15ce6e5d10d5d7bfbaa7cf5cd1f4
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Convert VTYPE operand check to assert in RISCVInsertVSETVLI. NFC
The VTYPE operands of a vsetvli pseudo are always immediates
Commit: c81e5faa6f55d3e390b5e550f78ab08fc6a65ee9
https://github.com/llvm/llvm-project/commit/c81e5faa6f55d3e390b5e550f78ab08fc6a65ee9
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
A llvm/test/CodeGen/RISCV/rvv-cfi-info.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
Log Message:
-----------
[RISCV] Add CFI information for vector callee-saved registers (#86811)
Currently the CFI offset for RVV registers are not handled entirely,
this patch add those information for either stack unwinding or
debugger to work correctly on RVV callee-saved stack object.
Depends On D154576
Differential Revision: https://reviews.llvm.org/D156846
Commit: e6ecff8d95b9175e70e0d43e14c2975c8f69d718
https://github.com/llvm/llvm-project/commit/e6ecff8d95b9175e70e0d43e14c2975c8f69d718
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[C++20] [Modules] Add Release Notes and Documents for Reduced BMI
See
https://discourse.llvm.org/t/rfc-c-20-modules-introduce-thin-bmi-and-decls-hash/74755,
https://github.com/llvm/llvm-project/pull/75894 and
https://github.com/llvm/llvm-project/pull/85050 for the background.
Commit: eafd515ecaaa100623eebc7fa4d7c36a361bf708
https://github.com/llvm/llvm-project/commit/eafd515ecaaa100623eebc7fa4d7c36a361bf708
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/ClangScanDeps/error.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Support single-file mode for all formats (#88764)
The `clang-scan-deps` tool can be used for fast scanning of batches of
compilation commands passed in via the `-compilation-database` option.
This gets awkward in our tests where we have to resort to using
`.in`/`.template` JSON files and running them through `sed` in order to
embed LIT's `%t` variable into them. However, most of our tests only
need to pass single compilation command, so this dance is entirely
unnecessary.
This patch makes sure the existing "per-file" mode (where the
compilation command is passed in-line after the `--` argument) works for
all output formats, not only `P1689`.
Commit: 6a4eaf9b33d8091b7d09b2a30a3fc8993a01db31
https://github.com/llvm/llvm-project/commit/6a4eaf9b33d8091b7d09b2a30a3fc8993a01db31
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/ClangScanDeps/module-format.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
Log Message:
-----------
[clang][deps] Add `-o` flag to specify output path (#88767)
This makes it possible to pass "-o /dev/null" to `clang-scan-deps` and
skip some potentially expensive work, making timings less noisy. Also
removes the need for stream redirection.
Commit: f71e25bb669d662f98823d6d81b3f918538c9239
https://github.com/llvm/llvm-project/commit/f71e25bb669d662f98823d6d81b3f918538c9239
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Simplify IndexedMemProfRecord::operator== (NFC) (#88986)
llvm::SmallVector::operator== exactly meets our needs.
Commit: fca2a493251597967d5d758ea0748c66dd29371a
https://github.com/llvm/llvm-project/commit/fca2a493251597967d5d758ea0748c66dd29371a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Simplify FindRegWithEncoding in copyPhysRegVector. NFC (#89001)
Instead of searching all encodings, we can convert the encoding back to
a register and use getMatchingSuperReg.
Commit: a6fcbcce8f79adfb2e4338859f3a41fc2538bad1
https://github.com/llvm/llvm-project/commit/a6fcbcce8f79adfb2e4338859f3a41fc2538bad1
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDB] Improves time zone format specifiers. (#85797)
Per [tab:time.format.spec]
%z The offset from UTC as specified in ISO 8601-1:2019, subclause
5.3.4.1. For example -0430 refers to 4 hours 30 minutes behind UTC.
If the offset is zero, +0000 is used. The modified commands %Ez and
%Oz insert a : between the hours and minutes: -04:30. If the offset
information is not available, an exception of type format_error is
thrown.
Typically the modified versions Oz or Ez would have wording like
The modified command %OS produces the locale's alternative
representation.
In this case the modified version does not depend on the locale.
This change is a preparation for formatting sys_info which has time zone
information. The function time_put<_CharT>::put() does not have proper
time zone support, therefore it's a manual implementation.
Fixes https://github.com/llvm/llvm-project/issues/78184
Commit: e096c144921daba59963f15e89d2ca6fb32d3a78
https://github.com/llvm/llvm-project/commit/e096c144921daba59963f15e89d2ca6fb32d3a78
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
A clang/test/Analysis/invalid-ptr-checker.cpp
Log Message:
-----------
[analyzer] Fix a security.cert.env.InvalidPtr crash
Fixes #88181
Commit: 024281d4d26344f9613b9115ea1fcbdbdba23235
https://github.com/llvm/llvm-project/commit/024281d4d26344f9613b9115ea1fcbdbdba23235
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
Log Message:
-----------
[analyzer] Harden security.cert.env.InvalidPtr checker fn matching
Relates to #88181
Commit: b851c7f1fc4fd83ea84d565bbdc30fd0d356788c
https://github.com/llvm/llvm-project/commit/b851c7f1fc4fd83ea84d565bbdc30fd0d356788c
Author: martinboehme <mboehme at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Support `StmtExpr` in `PropagateResultObject()`. (#88872)
This patch adds a test that assert-fails without the fix.
Commit: 47148832d4e3bf4901430732f1af6673147accb2
https://github.com/llvm/llvm-project/commit/47148832d4e3bf4901430732f1af6673147accb2
Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir-c/IR.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/CAPI/IR/IR.cpp
M mlir/test/CAPI/ir.c
M mlir/test/python/ir/operation.py
Log Message:
-----------
[mlir][python] Add `walk` method to PyOperationBase (#87962)
This commit adds `walk` method to PyOperationBase that uses a python
object as a callback, e.g. `op.walk(callback)`. Currently callback must
return a walk result explicitly.
We(SiFive) have implemented walk method with python in our internal
python tool for a while. However the overhead of python is expensive and
it didn't scale well for large MLIR files. Just replacing walk with this
version reduced the entire execution time of the tool by 30~40% and
there are a few configs that the tool takes several hours to finish so
this commit significantly improves tool performance.
Commit: 1bccbe1f49abc39b9f980cf3f1b171da5541d1a4
https://github.com/llvm/llvm-project/commit/1bccbe1f49abc39b9f980cf3f1b171da5541d1a4
Author: martinboehme <mboehme at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Treat `BuiltinBitCastExpr` correctly in `PropagateResultObject()`. (#88875)
This patch includes a test that assert-fails without the fix.
Commit: 64c649585ca23a0c996d8814d2796cd348441d69
https://github.com/llvm/llvm-project/commit/64c649585ca23a0c996d8814d2796cd348441d69
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Move `Sema::SkipBodyInfo` into namespace scope
This makes it forward-declarable, and needed from splitting `Sema` up.
Commit: 16f188761da1df6ba5e6627b8742aacfec8e9ec5
https://github.com/llvm/llvm-project/commit/16f188761da1df6ba5e6627b8742aacfec8e9ec5
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#88835)
If LLVM is configured with -DLLVM_DEFAULT_TARGET_TRIPLE, or compiler_rt
is configured with -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE, while the
argument is not normalized, such as Debian-style vendor-less triple,
clang will try to find libclang_rt in lib/<normalized_triple>, while
libclang_rt is placed into lib/<triple_arg>.
Let's also place libclang_rt into lib/<normalized_triple>.
Commit: b090569685699abe4a8031ad442a0f81e373146b
https://github.com/llvm/llvm-project/commit/b090569685699abe4a8031ad442a0f81e373146b
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Support Zama16b1p0 (#88474)
This patch adds the support for Zama16b version 1.0, which has been
added to RVA23U64 optional extensions recently
Commit: d35a64363bb851045387717d2ef7d6449b7b547f
https://github.com/llvm/llvm-project/commit/d35a64363bb851045387717d2ef7d6449b7b547f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/test/SemaCXX/PR41441.cpp
Log Message:
-----------
Revert "Fix test from #83124 and #88902"
This reverts commit 0a789ea8a829da345e46d8224d73b2ddaba6969f.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: dbda478693104f78b142375862d66f3369ad8c78
https://github.com/llvm/llvm-project/commit/dbda478693104f78b142375862d66f3369ad8c78
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
R clang/test/SemaCXX/PR41441.cpp
A clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
Revert "[Clang][Sema] placement new initializes typedef array with correct size (#88902)"
This reverts commit 5c6af605b307213453a9a043532b9293db21b5c6.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: dd84d23adc84cc0c3d2b8fb8f0c353279d99d27a
https://github.com/llvm/llvm-project/commit/dd84d23adc84cc0c3d2b8fb8f0c353279d99d27a
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
R clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
Revert "[Clang][Sema] placement new initializes typedef array with correct size (#83124)"
This reverts commit c309dc6d0759b23b570c563f611530ff1a49e1bd.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: bc3620d3a8b1be9534a5635431b0aa09cc50ff3c
https://github.com/llvm/llvm-project/commit/bc3620d3a8b1be9534a5635431b0aa09cc50ff3c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
AMDGPU: Move libcall simplify into PeepholeEP (#88853)
We were running this immediately on the incoming IR, which
is still littered with temporary allocas obscuring trivial values.
This needs to run after initial SROA to handle sincos insertion.
Commit: e11b17a4ed90e74147594012207fc35a60515944
https://github.com/llvm/llvm-project/commit/e11b17a4ed90e74147594012207fc35a60515944
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
Log Message:
-----------
[clang][NFC] Refactor `Sema::CheckedConversionKind`
Convert it to scoped enum, and move it to namespace scope to enable forward declarations.
Commit: 49b209d0d1833a339e66735e1288c1805224603e
https://github.com/llvm/llvm-project/commit/49b209d0d1833a339e66735e1288c1805224603e
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
Revert "[Libomptarget] Rework Record & Replay to be a plugin member" (#89028)
Reverts llvm/llvm-project#88928
This broke the AMDGPU buildbots:
https://lab.llvm.org/buildbot/#/builders/193/builds/50201
https://lab.llvm.org/staging/#/builders/185/builds/5565
https://lab.llvm.org/buildbot/#/builders/259/builds/2955
Commit: 9f3334e9932fc9b55cd3590b140913222454c031
https://github.com/llvm/llvm-project/commit/9f3334e9932fc9b55cd3590b140913222454c031
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
Log Message:
-----------
[mlir][SparseTensor] Add missing dependent dialect to pass (#88870)
This commit fixes the following error when stopping the sparse compiler
pipeline after bufferization (e.g., with `test-analysis-only`):
```
LLVM ERROR: Building op `vector.print` but it isn't known in this MLIRContext: the dialect may not be loaded or this operation hasn't been added by the dialect. See also https://mlir.llvm.org/getting_started/Faq/#registered-loaded-dependent-whats-up-with-dialects-management
```
Commit: 889dfd4ab35892840f2bd2d6d7fed6fac025e18e
https://github.com/llvm/llvm-project/commit/889dfd4ab35892840f2bd2d6d7fed6fac025e18e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/src/__support/macros/sanitizer.h
Log Message:
-----------
[libc][msan] Fix "non-constexpr function '__msan_unpoison' cannot be used in a constant expression" (#88719)
Prior to this patch, calling `cpp::bit_cast<T>` in `constexpr`
expressions under `-fsanitize=memory` would fail with the following
message "non-constexpr function '__msan_unpoison' cannot be used in a
constant expression".
This patch makes sure that the `__msan_unpoison` expression is guarded
by `!__builtin_is_constant_evaluated()`.
Commit: 17b86d5978af8d171fa28763a9e5eba3ce93713a
https://github.com/llvm/llvm-project/commit/17b86d5978af8d171fa28763a9e5eba3ce93713a
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-ptest.ll
Log Message:
-----------
[X86][NFC] Add test cases for pr88958
Commit: d1a69e4a6ee0b04778da7728123c47eef2290564
https://github.com/llvm/llvm-project/commit/d1a69e4a6ee0b04778da7728123c47eef2290564
Author: shamithoke <152091883+shamithoke at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Move gfni for bitreverse check out of SSSE3. (#88938)
For lowering bitreverse using GFNI, the check is put under SSSE3. This can be pulled out of SSSE3.
Co-authored-by: shami <shami_thoke at yahoo.com>
Commit: a16bb0701409376dee3a587ae351a6019d6de4e0
https://github.com/llvm/llvm-project/commit/a16bb0701409376dee3a587ae351a6019d6de4e0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
Log Message:
-----------
[lldb][test] Improve invalid compiler error message
I was debugging space separation issues when passing user arguments
and noticed this error is really hard to read in that scenario.
Put "" around the invalid compiler name so you can tell whether
you have spaces around it that's causing the problem.
Commit: d9a5aa8e2d755643cf4e7fa86aa831ed226fe54d
https://github.com/llvm/llvm-project/commit/d9a5aa8e2d755643cf4e7fa86aa831ed226fe54d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/add-mask-neg.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/and-xor-or.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/and2.ll
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
M llvm/test/Transforms/InstCombine/ashr-or-mul-abs.ll
M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
M llvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll
M llvm/test/Transforms/InstCombine/canonicalize-clamp-like-pattern-between-zero-and-positive-threshold.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/cast-int-icmp-eq-0.ll
M llvm/test/Transforms/InstCombine/cast-unsigned-icmp-eqcmp-0.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
M llvm/test/Transforms/InstCombine/ctpop.ll
M llvm/test/Transforms/InstCombine/fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fcmp-special.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
M llvm/test/Transforms/InstCombine/fdiv.ll
M llvm/test/Transforms/InstCombine/fma.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fneg-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
M llvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/fsub.ll
M llvm/test/Transforms/InstCombine/funnel.ll
M llvm/test/Transforms/InstCombine/get-lowbitmask-upto-and-including-bit.ll
M llvm/test/Transforms/InstCombine/hoist-negation-out-of-bias-calculation.ll
M llvm/test/Transforms/InstCombine/hoist-not-from-ashr-operand.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ugt-of-shl-1-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ule-of-shl-1-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/integer-round-up-pow2-alignment.ll
M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-vector.ll
M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/min-positive.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/mul-inseltpoison.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/not-add.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/Transforms/InstCombine/operand-complexity.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-c.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
M llvm/test/Transforms/InstCombine/reuse-constant-from-select-in-icmp.ll
M llvm/test/Transforms/InstCombine/rotate.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/select-of-bittest.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/InstCombine/set-lowbits-mask-canonicalize.ll
M llvm/test/Transforms/InstCombine/sext.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll
M llvm/test/Transforms/InstCombine/shift-logic.ll
M llvm/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/signmask-of-sext-vs-of-shl-of-zext.ll
M llvm/test/Transforms/InstCombine/sub-not.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll
M llvm/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-udiv-of-allones.ll
M llvm/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
M llvm/test/Transforms/InstCombine/vec_sext.ll
M llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector-casts.ll
M llvm/test/Transforms/InstCombine/vector-urem.ll
M llvm/test/Transforms/InstCombine/vector-xor.ll
M llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
M llvm/test/Transforms/InstSimplify/AndOrXor.ll
M llvm/test/Transforms/InstSimplify/call.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/constantfold-add-nuw-allones-to-allones.ll
M llvm/test/Transforms/InstSimplify/constantfold-shl-nuw-C-to-C.ll
M llvm/test/Transforms/InstSimplify/div.ll
M llvm/test/Transforms/InstSimplify/fast-math-strictfp.ll
M llvm/test/Transforms/InstSimplify/fast-math.ll
M llvm/test/Transforms/InstSimplify/fdiv.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic-strictfp.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
M llvm/test/Transforms/InstSimplify/fminmax-folds.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
M llvm/test/Transforms/InstSimplify/icmp-bool-constant.ll
M llvm/test/Transforms/InstSimplify/icmp-not-bool-constant.ll
M llvm/test/Transforms/InstSimplify/ldexp.ll
M llvm/test/Transforms/InstSimplify/mul.ll
M llvm/test/Transforms/InstSimplify/negate.ll
M llvm/test/Transforms/InstSimplify/or.ll
M llvm/test/Transforms/InstSimplify/ptrmask.ll
M llvm/test/Transforms/InstSimplify/rem.ll
M llvm/test/Transforms/InstSimplify/saturating-add-sub.ll
M llvm/test/Transforms/InstSimplify/sdiv.ll
M llvm/test/Transforms/InstSimplify/select-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/InstSimplify/shift.ll
M llvm/test/Transforms/InstSimplify/srem.ll
M llvm/test/Transforms/InstSimplify/sub.ll
M llvm/test/Transforms/InstSimplify/xor.ll
M llvm/test/Transforms/Reassociate/inverses.ll
M llvm/test/Transforms/Reassociate/negation.ll
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Do not accept undef elements in m_AllOnes() and friends (#88217)
Change all the cstval_pred_ty based PatternMatch helpers (things like
m_AllOnes and m_Zero) to only allow poison elements inside vector
splats, not undef elements.
Historically, we used to represent non-demanded elements in vectors
using undef. Nowadays, we use poison instead. As such, I believe that
support for undef in vector splats is no longer useful.
At the same time, while poison splat elements are pretty much always
safe to ignore, this is not generally the case for undef elements. We
have existing miscompiles in our tests due to this (see the
masked-merge-*.ll tests changed here) and it's easy to miss such cases
in the future, now that we write tests using poison instead of undef
elements.
I think overall, keeping support for undef elements no longer makes
sense, and we should drop it. Once this is done consistently, I think we
may also consider allowing poison in m_APInt by default, as doing that
change is much less risky than doing the same with undef.
This change involves a substantial amount of test changes. For most
tests, I've just replaced undef with poison, as I don't think there is
value in retaining both. For some tests (where the distinction between
undef and poison is important), I've duplicated tests.
Commit: 971237dab259bdaa619403fc6472bd1758d4dc18
https://github.com/llvm/llvm-project/commit/971237dab259bdaa619403fc6472bd1758d4dc18
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
A flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/polymorphic.f90
Log Message:
-----------
[flang] Retain internal and BIND(C) host procedure link in FIR (#87796)
Currently, it is not possible to find back which fun.func is the host
procedure of some internal procedure because the mangling of the
internal procedure does not contain info about the BIND(C) name of the
host.
This info may be useful to ensure dwarf DW_TAG_subprogram of internal
procedures are nested under DW_TAG_subprogram of host procedures for
instance.
Commit: b512df660ef136f8bbd0895bf862a827923a6714
https://github.com/llvm/llvm-project/commit/b512df660ef136f8bbd0895bf862a827923a6714
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/test/CodeGen/SPIRV/instructions/select-phi.ll
A llvm/test/CodeGen/SPIRV/instructions/select-ptr-load.ll
M llvm/test/CodeGen/SPIRV/instructions/select.ll
A llvm/test/CodeGen/SPIRV/select-builtin.ll
R llvm/test/CodeGen/SPIRV/select.ll
Log Message:
-----------
[SPIR-V] Improve Tablegen instruction selection and account for a pointer size of the target (#88725)
This PR resolves the issue that SPIR-V Backend uses the notion of a
pointer size of the target, most notably, in legalizer code, but
Tablegen instruction selection in SPIR-V Backend doesn't account for a
pointer size of the target. See
https://github.com/llvm/llvm-project/issues/88723 for a detailed
description. There are 3 test cases attached to the PR that reproduced
the issue, when dealing with spirv32-spirv64 differences, and are
working correctly now with this PR.
Commit: 42d801d4e42ff8c47c3a24d562774851e3a424f5
https://github.com/llvm/llvm-project/commit/42d801d4e42ff8c47c3a24d562774851e3a424f5
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
A llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
Log Message:
-----------
[SPIR-V] Account for zext in a llvm intrinsic call (#88903)
This PR addresses an issue that may arise when an integer argument size
differs from a machine word size for the target in a call to llvm
intrinsic. The following example demonstrates the issue:
```
@__const.test.arr = private unnamed_addr addrspace(2) constant [3 x i32] [i32 1, i32 2, i32 3]
define spir_func void @test() {
entry:
%arr = alloca [3 x i32], align 4
%dest = bitcast ptr %arr to ptr
call void @llvm.memcpy.p0.p2.i32(ptr align 4 %dest, ptr addrspace(2) align 4 @__const.test.arr, i32 1024, i1 false)
ret void
}
declare void @llvm.memcpy.p0.p2.i32(ptr nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1)
```
Depending on the target this code may work or may fail without this PR
due to the fact that IR Translation step introduces additional `zext`
when type of the 3rd argument of `@llvm.memcpy.p0.p2.i32` differs from
machine word.
This PR addresses the issue by adding type deduction for a newly
inserted G_ZEXT generic opcode.
Commit: fa61f062a515be92a98cac64a9193498918c1225
https://github.com/llvm/llvm-project/commit/fa61f062a515be92a98cac64a9193498918c1225
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
A flang/test/Semantics/OpenMP/threadprivate07.f90
Log Message:
-----------
Fix threadprivate variable scope inside BLOCK construct. (#88921)
When a local variable inside a BLOCK construct is used as threadprivate
variable, llvm-flang throws below error:
> error: The THREADPRIVATE directive and the common block or variable in
it must appear in the same declaration section of a scoping unit
Commit: cbe148b730a04fc95eda9a43903f0af487884a96
https://github.com/llvm/llvm-project/commit/cbe148b730a04fc95eda9a43903f0af487884a96
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC] Remove the declaration of function `fixReduction`. (#88491)
Commit: a9bafe91dd088c5fa6f074c14dd3a1af25f00457
https://github.com/llvm/llvm-project/commit/a9bafe91dd088c5fa6f074c14dd3a1af25f00457
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Split VPWidenMemoryInstructionRecipe (NFCI). (#87411)
This patch introduces a new VPWidenMemoryRecipe base class and distinct
sub-classes to model loads and stores.
This is a first step in an effort to simplify and modularize code
generation for widened loads and stores and enable adding further more
specialized memory recipes.
PR: https://github.com/llvm/llvm-project/pull/87411
Commit: f4737a2edd900df661750116821806bb45e4086a
https://github.com/llvm/llvm-project/commit/f4737a2edd900df661750116821806bb45e4086a
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll.expected
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
update_test_checks: keep names stable with generated functions (#87988)
Collect the original check lines in a manner that is independent of
where the check lines appear in the file. This is so that we keep
FileCheck variable names stable even when --include-generated-funcs is
used.
Reported-by: Ruiling Song <ruiling.song at amd.com>
Commit: 3eb0ba34b0a2a29c2f34ead2b84fdf9b62cb29c1
https://github.com/llvm/llvm-project/commit/3eb0ba34b0a2a29c2f34ead2b84fdf9b62cb29c1
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/simd.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-combined.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd.f90
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[MLIR][Flang][OpenMP] Make omp.simdloop into a loop wrapper (#87365)
This patch updates the definition of `omp.simdloop` to enforce the
restrictions of a wrapper operation. It has been renamed to `omp.simd`,
to better reflect the naming used in the spec. All uses of "simdloop" in
function names have been updated accordingly.
Some changes to Flang lowering and OpenMP to LLVM IR translation are
introduced to prevent the introduction of compilation/test failures. The
eventual long term solution might be different.
Commit: 16b0be613205a37519e2bfec1a904ceaa89636e7
https://github.com/llvm/llvm-project/commit/16b0be613205a37519e2bfec1a904ceaa89636e7
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] NFC: Remove LoopControl parsing/printing code (#88909)
This patch removes the LoopControl parsing/printing functions that are
no longer used after transitioning `omp.simdloop` and `omp.taskloop`
into loop wrapper operations.
Commit: a02019960b1a693320cd43b0ed6653d95877b94f
https://github.com/llvm/llvm-project/commit/a02019960b1a693320cd43b0ed6653d95877b94f
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
Log Message:
-----------
[RISCV] Assert only valid AVLs in doLocalPostpass are X0 or virtual regs. NFC
In vxrm.mir we were running RISCVInsertVSETVLI on pseudos that already had
vsetvlis inserted and their AVLs set to $noreg. (This happened to work
since doLocalPostpass got rid of the extra vsetvli)
This removes the vsetvlis from the test and enforces that the only valid
AVLs we work with are either X0 or virtual registers (or $noreg before
emitVSETVLIs), since we don't handle physical registers properly in
doLocalPostpass.
Commit: a634f3ef39c0c547b87f1ee4ebe02ee3a256587f
https://github.com/llvm/llvm-project/commit/a634f3ef39c0c547b87f1ee4ebe02ee3a256587f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.globals.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.noglobals.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.transitiveglobals.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/various_ir_values_dbgrecords.test
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
[RemoveDIs] Update update_test_checks script to recognize dbg_records (#87388)
As we've added new IR elements for the RemoveDIs project,
we need the update_test_checks script to understand them. For the
records themselves this is already done automatically, but their
metadata arguments are not recognized as such due to lacking the
`metadata` prefix, which means they won't be checked by the script. This
patch fixes this by adding a check for all `![0-9]+` patterns as long as
they are not at the start of a line (which avoids matching global
values).
Commit: 792d437b56adfb3416daf8105942d4899fb82763
https://github.com/llvm/llvm-project/commit/792d437b56adfb3416daf8105942d4899fb82763
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
Log Message:
-----------
[clang-tidy NFC] Fix a typo in docs for sizeof-expression (#88912)
"Till heaven and earth pass, one jot, or one tittle shall not pass of
the law"
Commit: 5f3e106de3cd5ce6d7ba37fb11f6ad740cb430c5
https://github.com/llvm/llvm-project/commit/5f3e106de3cd5ce6d7ba37fb11f6ad740cb430c5
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
A lldb/test/API/commands/process/detach-resumes/Makefile
A lldb/test/API/commands/process/detach-resumes/TestDetachResumes.py
A lldb/test/API/commands/process/detach-resumes/main.cpp
M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py
Log Message:
-----------
[lldb/linux] Make sure the process continues running after a detach (#88494)
Fixes #85084
Whenever an inferior thread stops, lldb-server sends a SIGSTOP to all
other threads in the process to force them to stop as well. If those
threads stop on their own before they get a signal, this SIGSTOP will
remain pending and be delivered the next time the process resumes.
Normally, this is not a problem, because lldb-server will detect this
stale SIGSTOP and resume the process. However, if we detach from the
process while it has these SIGSTOPs pending, they will get immediately
delivered, and the process will remain stopped (most likely forever).
This patch fixes that by sending a SIGCONT just before detaching from
the process. This signal cancels out any pending SIGSTOPs, and ensures
it is able to run after we detach. It does have one somewhat unfortunate
side-effect that in that the process's SIGCONT handler (if it has one)
will get executed spuriously (from the process's POV).
This could be _sometimes_ avoided by tracking which threads got send a
SIGSTOP, and whether those threads stopped due to it. From what I could
tell by observing its behavior, this is what gdb does. I have not tried
to replicate that behavior here because it adds a nontrivial amount of
complexity and the result is still uncertain -- we still need to send a
SIGCONT (and execute the handler) when any thread stops for some other
reason (and leaves our SIGSTOP hanging). Furthermore, since SIGSTOPs
don't stack, it's also possible that our SIGSTOP/SIGCONT combination
will cancel a genuine SIGSTOP being sent to the debugger application (by
someone else), and there is nothing we can do about that. For this
reason I think it's simplest and most predictible to just always send a
SIGCONT when detaching, but if it turns out this is breaking something,
we can consider implementing something more elaborate.
One alternative I did try is to use PTRACE_INTERRUPT to suspend the
threads instead of a SIGSTOP. PTRACE_INTERUPT requires using
PTRACE_SEIZE to attach to the process, which also made this solution
somewhat complicated, but the main problem with that approach is that
PTRACE_INTERRUPT is not considered to be a signal-delivery-stop, which
means it's not possible to resume it while injecting another signal to
the inferior (which some of our tests expect to be able to do). This
limitation could be worked around by forcing the thread into a signal
delivery stop whenever we need to do this, but this additional
complication is what made me think this approach is also not worthwhile.
This patch should fix (at least some of) the problems with
TestConcurrentVFork, but I've also added a dedicated test for checking
that a process keeps running after we detach. Although the problem I'm
fixing here is linux-specific, the core functinoality of not stopping
after a detach should function the same way everywhere.
Commit: c8dca5bc0733e2fba81008fc33fcad1f45ba666a
https://github.com/llvm/llvm-project/commit/c8dca5bc0733e2fba81008fc33fcad1f45ba666a
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP][Lower] Refactor lowering of compound constructs (#87070)
This patch simplifies the lowering from PFT to MLIR of OpenMP compound
constructs (i.e. combined and composite).
The new approach consists of iteratively processing the outermost leaf
construct of the given combined construct until it cannot be split
further. Both leaf constructs and composite ones have `gen...()`
functions that are called when appropriate.
This approach enables treating a leaf construct the same way regardless
of if it appeared as part of a combined construct, and it also enables
the lowering of composite constructs as a single unit.
Previous corner cases are now handled in a more straightforward way and
comments pointing to the relevant spec section are added. Directive sets
are also completed with missing LOOP related constructs.
Commit: 06eedffe0d2782922e63cc25cb927f4acdaf7b30
https://github.com/llvm/llvm-project/commit/06eedffe0d2782922e63cc25cb927f4acdaf7b30
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode in iterator checkers (#88913)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in the iterator/container checkers.
This change won't cause major functional changes, but isn't NFC because
it ensures that e.g. call descriptions for a non-method function won't
accidentally match a method that has the same name.
Separate commits will perform (or have already performed) this change in
other checkers. My goal is to ensure that the call description mode is
always explicitly specified and eliminate (or strongly restrict) the
vague "may be either a method or a simple function" mode that's the
current default.
I'm handling the iterator checkers in this separate commit because
they're infamously complex; but I don't expect any trouble because this
transition doesn't interact with the "central" logic of iterator
handling.
Commit: 631c5e818ef8bb0f61fd3bb44cc4449be2142e2b
https://github.com/llvm/llvm-project/commit/631c5e818ef8bb0f61fd3bb44cc4449be2142e2b
Author: MbjYjbpivj <mbjyjbpivj at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/CommonAttrConstraints.td
Log Message:
-----------
[mlir] fix intNEQValue summary (#89029)
Fix the summary of intNEQValue.
Commit: d57907d0b4f292f148310695ed011fe5a0585d6b
https://github.com/llvm/llvm-project/commit/d57907d0b4f292f148310695ed011fe5a0585d6b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/pstl_any_all_none_of.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
A libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] Add missing iterator requirement checks in the PSTL (#88127)
Also add tests for those, and add a few missing requirements to testing
iterators in the test suite.
Commit: 6c7853080451a7f9ba612f57b41a076061b2a1a9
https://github.com/llvm/llvm-project/commit/6c7853080451a7f9ba612f57b41a076061b2a1a9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] vector-shuffle-combining-sse41.ll - add missing AVX1/2/512 check prefixes
Commit: 37b26bf48b9894ed0c13fd1aede23472660fb75e
https://github.com/llvm/llvm-project/commit/37b26bf48b9894ed0c13fd1aede23472660fb75e
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/test-pattern-application.mlir
Log Message:
-----------
[mlir] transform.apply_patterns support more config options (#88484)
Greedy rewrite driver has options to control the number of rewrites
applies. Expose those via the corresponding transform op.
Commit: 4536ad47579d8d61f372ab85128bcfaed58a1256
https://github.com/llvm/llvm-project/commit/4536ad47579d8d61f372ab85128bcfaed58a1256
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Fix clang-tidy warning about else after return. NFC
Commit: 86a78284e7ce2ecc7a9283c7d141566a32371492
https://github.com/llvm/llvm-project/commit/86a78284e7ce2ecc7a9283c7d141566a32371492
Author: Quentin Dian <dianqk at dianqk.net>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/TailDuplicator.cpp
A llvm/test/CodeGen/X86/tail-dup-pred-succ-size.mir
Log Message:
-----------
[TailDuplicator] Add maximum predecessors and successors to consider tail duplicating blocks (#78582)
Fixes #78578.
Duplicating a BB which has both multiple predecessors and successors
will result in a complex CFG and also may cause huge amount of PHI
nodes. See
https://github.com/llvm/llvm-project/issues/78578#issuecomment-1962363580
for a detailed description of the limit.
Commit: 915c84b1480bb3c6d2e44ca83822d2c2304b763a
https://github.com/llvm/llvm-project/commit/915c84b1480bb3c6d2e44ca83822d2c2304b763a
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
Log Message:
-----------
[lldb] Fix evaluation of expressions with static initializers (#89063)
After 281d71604f418eb952e967d9dc4b26241b7f96a, llvm generates 32-bit
relocations, which overflow when we load these objects into high memory.
Interestingly, setting the code model to "large" does not help here
(perhaps it is the default?). I'm not completely sure that this is the
right thing to do, but it doesn't seem to cause any ill effects. I'll
follow up with the author of that patch about the expected behavior
here.
Commit: 79726ef5d20f3bf6510b67d7dd3378b8a41db768
https://github.com/llvm/llvm-project/commit/79726ef5d20f3bf6510b67d7dd3378b8a41db768
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/IR/Function.cpp
A llvm/test/CodeGen/Generic/expand-vp-fp-intrinsics.ll
Log Message:
-----------
[VP] Correct lowering of predicated fma and faddmul to avoid strictfp. (#85272)
Correct missing cases in a switch that result in @llvm.vp.fma.v4f32
getting lowered to a constrained fma intrinsic. Vector predicated
lowering to contrained intrinsics is not supported currently, and
there's no consensus on the path forward. We certainly shouldn't be
introducing constrained intrinsics into a function that isn't strictfp.
Problem found with D146845.
Commit: 7b8625ec16efcb6d11e14a80e08c65dbfe68db9f
https://github.com/llvm/llvm-project/commit/7b8625ec16efcb6d11e14a80e08c65dbfe68db9f
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] Fix broken link to HRF memory model reference (#88696)
The link to the Heterogeneous-race-free Memory Models ASPLOS'14 paper by
Hower et al. pointed to a bogus website, probably because the domain
ownership has changed.
This patch updates it to a version hosted on research.cs.wisc.edu.
Commit: 971ec1f0eea324d4a1eec6709e2c97e1798a6002
https://github.com/llvm/llvm-project/commit/971ec1f0eea324d4a1eec6709e2c97e1798a6002
Author: DianQK <dianqk at dianqk.net>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
Log Message:
-----------
[Inline] Regenerate inline-switch-default-2.ll (NFC)
Commit: 73140daebbf522dbb14dc4b2f3c67dc0aa1a62dd
https://github.com/llvm/llvm-project/commit/73140daebbf522dbb14dc4b2f3c67dc0aa1a62dd
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/Transform/Interpreter.h
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/python/dialects/transform_interpreter.py
Log Message:
-----------
[mlir] expose transform dialect symbol merge to python (#87690)
This functionality is available in C++, make it available in Python
directly to operate on transform modules.
Commit: 20d653fdb2d4d6eafa4575cd954beaf7ecad113a
https://github.com/llvm/llvm-project/commit/20d653fdb2d4d6eafa4575cd954beaf7ecad113a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterPressure.cpp
Log Message:
-----------
[LLVM][CodeGen] Fix register lane liveness tracking in RegisterPressure (#88892)
Re-enable an old assertion in `decreaseSetPressure`.
Commit: 1fc72dbc807fb138cafd05501e2e31beaa574693
https://github.com/llvm/llvm-project/commit/1fc72dbc807fb138cafd05501e2e31beaa574693
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Add test for doLocalPostpass issue not checking if VL was modified. NFC
Commit: 76ad2897480a85532eee93daf041246881772693
https://github.com/llvm/llvm-project/commit/76ad2897480a85532eee93daf041246881772693
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/PowerPC/P10InstrResources.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCMacroFusion.def
M llvm/test/CodeGen/PowerPC/toc-data.ll
Log Message:
-----------
[PowerPC] 32-bit large code-model support for toc-data (#85129)
This patch adds the pseudo op ADDItocL for 32-bit large code-model
support for toc-data.
Commit: edbeae373489a2e710f328ceba50b4740c738217
https://github.com/llvm/llvm-project/commit/edbeae373489a2e710f328ceba50b4740c738217
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Explicitly bail if something modifies VL/VTYPE in doLocalPostpass
If an instruction between MI and NextMI uses VL or VTYPE we demand the
respective fields so as to not clobber them at their uses. But we don't
consider if something might modify VL or VTYPE, and will happily coalesce
two vsetvlis when we need to preserve them.
This fixes this by skipping to the next vsetvli. Demanding the fields isn't
enough, as we need to preserve the VL and VTYPE values even if no fields
are demanded.
In practice this doesn't happen, presumably due to there not being any
instructions that write to VL or VTYPE without reading them. But I noticed
this whilst working on a separate patch and split it out.
Commit: 38205717501237f2b7a57eaabe65a8367e5f91c3
https://github.com/llvm/llvm-project/commit/38205717501237f2b7a57eaabe65a8367e5f91c3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C99] Remove WG14 N522 from the C status page
This paper is about type compatibility rules that changed in C99, but
this is only applicable across translation units and so there's nothing
for us to test. The specific change was that C89 allowed different tag
types (e.g., struct and union) to be compatible and C99 tightened that
restriction. This is a case where the user gets whatever they get if
they link two TUs with incompatible tag types.
Commit: 41b7341d6b27adf81262a5a0bd4e430675b73bbb
https://github.com/llvm/llvm-project/commit/41b7341d6b27adf81262a5a0bd4e430675b73bbb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Factor out helper to recursively collect all users (NFCI).
Factor out logic to collect all users recursively to be re-used
in https://github.com/llvm/llvm-project/pull/87816.
Commit: 856d1c44103f09f2ed0448001de9dcda63055733
https://github.com/llvm/llvm-project/commit/856d1c44103f09f2ed0448001de9dcda63055733
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
Log Message:
-----------
[AMDGPU] Fix predicates for BUFFER_ATOMIC_FMIN/FMAX patterns (#89066)
Use OtherPredicates to avoid interfering with other uses of
SubtargetPredicate for GFX12.
Commit: 4f88c2311130791cf69da34b743b1b3ba7584a7b
https://github.com/llvm/llvm-project/commit/4f88c2311130791cf69da34b743b1b3ba7584a7b
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/NVGPU.h
A mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/CAPI/Dialect/NVGPU.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/nvgpu.py
M mlir/test/python/dialects/nvgpu.py
Log Message:
-----------
[mlir][py] Add NVGPU's `TensorMapDescriptorType` in py bindings (#88855)
This PR adds NVGPU dialects' TensorMapDescriptorType in the py bindings.
This is a follow-up issue from [this
PR](https://github.com/llvm/llvm-project/pull/87153#discussion_r1546193095)
Commit: fda04b1caaf1a61b208f23e717a2db6d9b861f5a
https://github.com/llvm/llvm-project/commit/fda04b1caaf1a61b208f23e717a2db6d9b861f5a
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/examples/README.md
M libc/examples/examples.cmake
Log Message:
-----------
[libc] Replace mentions of `LIBC_FULLBUILD` with `LLVM_LIBC_FULL_BUILD` in 'examples/' (#88657)
Resolves #88328
Commit: d558c090fc78beb6737098f058a084635b893567
https://github.com/llvm/llvm-project/commit/d558c090fc78beb6737098f058a084635b893567
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/ParsedAttr.h
Log Message:
-----------
[NFC] Clean dead code in ParsedAttr.h (#89064)
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: dbafcd7e6d5b6c3aff74307b2ed5ee1834f275b0
https://github.com/llvm/llvm-project/commit/dbafcd7e6d5b6c3aff74307b2ed5ee1834f275b0
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/test/API/commands/process/detach-resumes/TestDetachResumes.py
Log Message:
-----------
[lldb] XFAIL TestDetachResumes on windows
Commit: e49043512dbdc68319093da46e95a1e331ef837e
https://github.com/llvm/llvm-project/commit/e49043512dbdc68319093da46e95a1e331ef837e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/bitreverse-codesize.ll
M llvm/test/Analysis/CostModel/X86/bitreverse-latency.ll
M llvm/test/Analysis/CostModel/X86/bitreverse-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/bitreverse.ll
Log Message:
-----------
[CostModel][X86] Update BITREVERSE costs for GFNI targets
Inspired by the recent patches by @shamithoke - we have real scheduler model numbers for GFNI instructions now, allowing us to calculate an upper bounds costs table instead of performing it analytically.
Commit: 4a5ab13bf5a94ec7f0eabaf24dfe1a5ee720b860
https://github.com/llvm/llvm-project/commit/4a5ab13bf5a94ec7f0eabaf24dfe1a5ee720b860
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/AArch64/vecreduce-shuffle.ll
Log Message:
-----------
[VectorCombine] Remove single quotes from "-passes=vector-combine"
These confuse the update_test_checks.py script when run by DOS cmd.exe
Commit: 5d314353fbec1a15cd8900f466dcdcf2af40e8c9
https://github.com/llvm/llvm-project/commit/5d314353fbec1a15cd8900f466dcdcf2af40e8c9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Check for VPWidenLoadRecipe directly in truncateToMinBW. (NFCI).
Since ne
After a separate recipe has been introduced for wide loads in
a9bafe91dd0, we can directly check for load recipes in the early
bail-out and remove the redundant bail out for stores.
Commit: 812963f6aa2adb5e990f273b8ce1a0eabcdefd7f
https://github.com/llvm/llvm-project/commit/812963f6aa2adb5e990f273b8ce1a0eabcdefd7f
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.year_month_day.pass.cpp
Log Message:
-----------
[libc++][chrono] Improves date formatting. (#86127)
The formatting of years has been done manually since the results of %Y
outside the "typical" range may produce unexpected values. The same
applies to %F which is identical to %Y-%m-%d. None of these conversion
specifiers is affected by the locale used. So it's trivial to manually
handle this case.
This removes several platform specific ifdefs from the tests.
Commit: 458328ae23d318a5055d5bac66426b8551bce01f
https://github.com/llvm/llvm-project/commit/458328ae23d318a5055d5bac66426b8551bce01f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Lookup.h
A clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[clang][NFC] Refactor `Sema::RedeclarationKind`
This patch converts the enum into scoped enum, and moves it into its own header for the time being. It's definition is needed in `Sema.h`, and is going to be needed in upcoming `SemaObjC.h`. `Lookup.h` can't hold it, because it includes `Sema.h`.
Commit: 950bb097e11d6ee26533c00519c62df994322228
https://github.com/llvm/llvm-project/commit/950bb097e11d6ee26533c00519c62df994322228
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
Revert "[Clang][AArch64] Warn when calling non/streaming about vector size difference (#79842)"
This reverts commit 4e85e1ffcaf161736e27a24c291c1177be865976
Commit: b854a2323337be2633b1135f590678a17e9d1ade
https://github.com/llvm/llvm-project/commit/b854a2323337be2633b1135f590678a17e9d1ade
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/c23.rst
M libc/docs/fenv.rst
M libc/spec/stdc.td
M libc/src/fenv/CMakeLists.txt
A libc/src/fenv/fetestexceptflag.cpp
A libc/src/fenv/fetestexceptflag.h
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/exception_flags_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
Log Message:
-----------
[libc][c23][fenv] Implement fetestexceptflag (#87828)
Provide C23 `fetestexceptflag` function according to 7.6.4.6 in the
latest [revision of the C
standard](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf)
from 2023-04-02.
Closes https://github.com/llvm/llvm-project/issues/87565.
Commit: 8656d4c6a7a742c6fa6ee02c2ace7415163e65e4
https://github.com/llvm/llvm-project/commit/8656d4c6a7a742c6fa6ee02c2ace7415163e65e4
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseDecl.cpp
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6-cxx23.cpp
Log Message:
-----------
[Clang][Parse] Diagnose requires expressions with explicit object parameters (#88974)
Clang currently allows the following:
```
auto x = requires (this int) { true; };
```
This patch addresses that.
Commit: abd5e45a96954d80f6ffe6d8676c0059fae8573b
https://github.com/llvm/llvm-project/commit/abd5e45a96954d80f6ffe6d8676c0059fae8573b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_mips.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_msvc.h
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Log Message:
-----------
[compiler-rt] Use __atomic builtins whenever possible
The code in this file dates back to 2012 when Clang's support for atomic
builtins was still quite limited. The bugs referenced in the comment
at the top of the file have long been fixed and using the compiler
builtins directly should now generate slightly better code.
Additionally, this allows using the atomic builtin header for platforms
where the __sync_builtins are lacking (e.g. Arm Morello).
This change does not introduce any code generation changes for
__tsan_read*/__tsan_write* or __tsan_func_{entry,exit} on x86, which
indicates the previously noted compiler issues have been fixed.
We also have to touch the non-clang codepaths here since the only way we
can make this work easily is by making the memory_order enum match the
compiler-provided macros, so we have to update the debug checks that
assumed the enum was always a bitflag.
The one downside of this change is that 32-bit MIPS now definitely
requires libatomic (but that may already have been needed for RMW ops).
Reviewed By: dvyukov
Pull Request: https://github.com/llvm/llvm-project/pull/84439
Commit: a88ea8fbb3953c2fe2887438baf342e381a79d8b
https://github.com/llvm/llvm-project/commit/a88ea8fbb3953c2fe2887438baf342e381a79d8b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cuf-invalid.fir
Log Message:
-----------
[flang][cuda] Update memory effect on fir.cuda_allocate op (#88930)
Add MemRead effect on the box operand as the descriptor might be read
when performing the allocation of the data.
Also update the expected type of the box operand to be a reference.
Check in the verifier that this is a reference to a box or class type.
This addresses the comment made post commit on #88586
Commit: da70f2cdcde8cb96e75ce0236db1fb5353407a69
https://github.com/llvm/llvm-project/commit/da70f2cdcde8cb96e75ce0236db1fb5353407a69
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
A flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Lower ALLOCATE for device variable (#88980)
Replace the runtime call to `AllocatableAllocate` for CUDA device
variable to the newly added `fir.cuda_allocate` operation.
Commit: 19c6a7feca6e1558ef7cbe18efd2477c1126899d
https://github.com/llvm/llvm-project/commit/19c6a7feca6e1558ef7cbe18efd2477c1126899d
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/test/CodeGen/aarch64-cpu-supports.c
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/Sema/aarch64-cpu-supports.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/attr-target-version.c
M clang/test/SemaCXX/attr-target-version.cpp
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[FMV] Remove useless features according the latest ACLE spec. (#88965)
As explained in https://github.com/ARM-software/acle/pull/315 we
are deprecating features which aren't adding any value. These are:
sha1, pmull, dit, dgh, ebf16, sve-bf16, sve-ebf16, sve-i8mm,
sve2-pmull128, memtag2, memtag3, ssbs2, bti, ls64_v, ls64_accdata
Commit: 06947b9f8d258fe66fc69f1e7c0197cb621da3a5
https://github.com/llvm/llvm-project/commit/06947b9f8d258fe66fc69f1e7c0197cb621da3a5
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/pthread_condattr_t.h
M libc/include/pthread.h.def
M libc/spec/posix.td
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_condattr_destroy.cpp
A libc/src/pthread/pthread_condattr_destroy.h
A libc/src/pthread/pthread_condattr_getclock.cpp
A libc/src/pthread/pthread_condattr_getclock.h
A libc/src/pthread/pthread_condattr_getpshared.cpp
A libc/src/pthread/pthread_condattr_getpshared.h
A libc/src/pthread/pthread_condattr_init.cpp
A libc/src/pthread/pthread_condattr_init.h
A libc/src/pthread/pthread_condattr_setclock.cpp
A libc/src/pthread/pthread_condattr_setclock.h
A libc/src/pthread/pthread_condattr_setpshared.cpp
A libc/src/pthread/pthread_condattr_setpshared.h
M libc/test/src/pthread/CMakeLists.txt
A libc/test/src/pthread/pthread_condattr_test.cpp
Log Message:
-----------
[libc][POSIX][pthreads] implement pthread_condattr_t functions (#88987)
Implement:
- pthread_condattr_destroy
- pthread_condattr_getclock
- pthread_condattr_getpshared
- pthread_condattr_init
- pthread_condattr_setclock
- pthread_condattr_setpshared
Fixes: #88581
Commit: 4edeaffbf255137861f5153eb1a6183d956efede
https://github.com/llvm/llvm-project/commit/4edeaffbf255137861f5153eb1a6183d956efede
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
Log Message:
-----------
[mlir][tosa] Fix tosa.Resize-to-linalg lowering (#88514)
Commit: 564f9abfcc3b99a01843f88b5a2c7309bfab5a33
https://github.com/llvm/llvm-project/commit/564f9abfcc3b99a01843f88b5a2c7309bfab5a33
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dep after 4f88c2311130791cf69da34b743b1b3ba7584a7b
Commit: e59632bdfd4c70caed437216af17d335858686fd
https://github.com/llvm/llvm-project/commit/e59632bdfd4c70caed437216af17d335858686fd
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Fix typo in RISCVScheduleV.td that was introduced in 60a1158
Commit: 676d3bafc09d0c331a04b813804407334de12917
https://github.com/llvm/llvm-project/commit/676d3bafc09d0c331a04b813804407334de12917
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing dep after b854a2323337be2633b1135f590678a17e9d1ade
Commit: 693a458287d019c5c6a66fe3019d099df2978cdb
https://github.com/llvm/llvm-project/commit/693a458287d019c5c6a66fe3019d099df2978cdb
Author: Abdul Raheem <55028856+abdulraheembeigh at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ViewLikeInterface.td
Log Message:
-----------
[MLIR] Update doc comment in ViewLikeInterface.td (NFC) (#89074)
Signed-off: Abdul Raheem Beigh <abdulraheembeigh at gmail.com>
Commit: 6f7160eedb2db02f37d4ffd52fff7b0cf88b3fdc
https://github.com/llvm/llvm-project/commit/6f7160eedb2db02f37d4ffd52fff7b0cf88b3fdc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
[SLP]Attempt to vectorize long stores, if short one failed.
We can try to vectorize long store sequences, if short ones were
unsuccessful because of the non-profitable vectorization. It should not
increase compile time significantly (stores are sorted already,
complexity is n x log n), but vectorize extra code.
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1088012.00 1088236.00 0.0%
test-suite :: SingleSource/UnitTests/matrix-types-spec.test 480396.00 480476.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2041105.00 2040961.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 836563.00 836387.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1035100.00 1032140.00 -0.3%
In all benchmarks extra code gets vectorized
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88563
Commit: eefee382186005d3662958e076c8e61e286ea1ab
https://github.com/llvm/llvm-project/commit/eefee382186005d3662958e076c8e61e286ea1ab
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/src/pthread/pthread_condattr_destroy.cpp
M libc/test/src/pthread/CMakeLists.txt
Log Message:
-----------
[libc] set cmake dependencies for condattr test (#89103)
The entrypoints are not yet exposed on non-x86. Express this dependency
to
unbreak post submit.
Fixes #88987
Commit: 825536039d667eeb933c590fe40c358fdea03a8d
https://github.com/llvm/llvm-project/commit/825536039d667eeb933c590fe40c358fdea03a8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/fshl-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshl-latency.ll
M llvm/test/Analysis/CostModel/X86/fshl-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshr-latency.ll
M llvm/test/Analysis/CostModel/X86/fshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-sizelatency.ll
Log Message:
-----------
[CostModel][X86] Add basic GFNI target test coverage for shift/rotate costs
Commit: da04e4afd3cae13581cac85688fbf10a5848655f
https://github.com/llvm/llvm-project/commit/da04e4afd3cae13581cac85688fbf10a5848655f
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Log Message:
-----------
[InstCombine] Use `auto *` instead of `auto` in `visitSIToFP`; NFC
Commit: d423d80e560d8bf7ca493596d9f34a9e1f0eede7
https://github.com/llvm/llvm-project/commit/d423d80e560d8bf7ca493596d9f34a9e1f0eede7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Apple.cmake
M libcxx/include/CMakeLists.txt
R libcxx/include/__algorithm/pstl_backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__config_site.in
M libcxx/include/__numeric/pstl_transform_reduce.h
A libcxx/include/__pstl/backends/libdispatch.h
A libcxx/include/__pstl/backends/serial.h
A libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/configuration.h
A libcxx/include/__pstl/configuration_fwd.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/src/CMakeLists.txt
M libcxx/src/pstl/libdispatch.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++][pstl] Promote CPU backends to top-level backends (#88968)
This patch removes the two-level backend dispatching mechanism we had in
the PSTL. Instead of selecting both a PSTL backend and a PSTL CPU
backend, we now only select a top-level PSTL backend. This greatly
simplifies the PSTL configuration layer.
While this patch technically removes some flexibility from the PSTL
configuration mechanism because CPU backends are not considered
separately, it opens the door to a much more powerful configuration
mechanism based on chained backends in a follow-up patch.
This is a step towards overhauling the PSTL dispatching mechanism.
Commit: 8d49ce176414cd4d0d5d276fd721d9226e17e810
https://github.com/llvm/llvm-project/commit/8d49ce176414cd4d0d5d276fd721d9226e17e810
Author: David Green <david.green at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-llrint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/llrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/llrint-conv.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter.td
Log Message:
-----------
[GlobalISel][AArch64] Add LLRINT support (#88702)
This hooks up G_INTRINSIC_LLRINT instructions, very similar to the lrint
nodes that already exist. On AArch64 they are treated the same as lrint
with the default return types.
Commit: 2c22a0c16d1cb844eac142156ba67098627a336c
https://github.com/llvm/llvm-project/commit/2c22a0c16d1cb844eac142156ba67098627a336c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/sub-xor.ll
Log Message:
-----------
[InstCombine] Add test case for turning sub into xor using dominating condition. NFC
I plan to disable using dominating conditions for turning sub into
xor, but first we need that demonstrates it currently happens.
Commit: 421a8c5892b7e59f27b2c21452f81fa789a758fd
https://github.com/llvm/llvm-project/commit/421a8c5892b7e59f27b2c21452f81fa789a758fd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
Log Message:
-----------
[InstCombine] Add phase ordering test for #88239. NFC
Commit: ed741ffe893698cd14c6785ac2ee7031d9d344a6
https://github.com/llvm/llvm-project/commit/ed741ffe893698cd14c6785ac2ee7031d9d344a6
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[github] Add ClangIR to new-prs-labeler.yml (#86088)
Commit: c02ed29ec151d1d555c3735efef2ab215126ddbf
https://github.com/llvm/llvm-project/commit/c02ed29ec151d1d555c3735efef2ab215126ddbf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/fshl-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshl-latency.ll
M llvm/test/Analysis/CostModel/X86/fshl-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshr-latency.ll
M llvm/test/Analysis/CostModel/X86/fshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl-rot.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr-rot.ll
Log Message:
-----------
[CostModel][X86] Recognise vector rotation by uniform constant patterns
Adds suitable costs for AVX512 targets (we still rely on default expansion for AVX2 and earlier)
Commit: 58a08e154c804051aaca9151a8053aea3ec15646
https://github.com/llvm/llvm-project/commit/58a08e154c804051aaca9151a8053aea3ec15646
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul by small negative immediates
Commit: cc82f1290a1e2157a6c0530d78d8cc84d2b8553d
https://github.com/llvm/llvm-project/commit/cc82f1290a1e2157a6c0530d78d8cc84d2b8553d
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext-scalable.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/concat_vector-truncate-combine.ll
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
M llvm/test/CodeGen/AArch64/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/AArch64/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fdiv-combine.ll
M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/AArch64/fp-veclib-expansion.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/funnel-shift-rot.ll
M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/insert-extend.ll
M llvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/ldexp.ll
M llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/logic-shift.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-extadd.ll
M llvm/test/CodeGen/AArch64/neon-shift-neg.ll
M llvm/test/CodeGen/AArch64/predicated-add-sub.ll
M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
M llvm/test/CodeGen/AArch64/rcpc3-sve.ll
M llvm/test/CodeGen/AArch64/reassocmls.ll
M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
M llvm/test/CodeGen/AArch64/sat-add.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/sink-addsub-of-const.ll
M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlall.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-rshl.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-sqdmulh.ll
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/srem-seteq-vec-splat.ll
M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/sve-abd.ll
M llvm/test/CodeGen/AArch64/sve-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-cmp-folds.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-expand-div.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-addressing-modes.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp128.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests-crash.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-mask-opt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
M llvm/test/CodeGen/AArch64/sve-fp-reciprocal.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll
M llvm/test/CodeGen/AArch64/sve-hadd.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-index.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-logical-imm.ll
M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
M llvm/test/CodeGen/AArch64/sve-ld1r.ll
M llvm/test/CodeGen/AArch64/sve-lsr-scaled-index-addressing-mode.ll
M llvm/test/CodeGen/AArch64/sve-masked-gather-legalize.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-sext.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-zext.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter-legalize.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-pr62151.ll
M llvm/test/CodeGen/AArch64/sve-pred-arith.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
M llvm/test/CodeGen/AArch64/sve-redundant-store.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-split-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-load.ll
M llvm/test/CodeGen/AArch64/sve-split-store.ll
M llvm/test/CodeGen/AArch64/sve-srem-combine-loop.ll
M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-stepvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll
M llvm/test/CodeGen/AArch64/sve-uunpklo-load-uzp1-store-combine.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-fold.ll
M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve2-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-combine-rshrnb.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve2-rsh.ll
M llvm/test/CodeGen/AArch64/sve2-xar.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx2.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx4.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-stores.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/urem-seteq-vec-nonzero.ll
M llvm/test/CodeGen/AArch64/vec_uaddo.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vector-fcopysign.ll
M llvm/test/CodeGen/AArch64/vector-gep.ll
M llvm/test/CodeGen/AArch64/vselect-constants.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-sve-instructions.s
Log Message:
-----------
[AArch64] Update latencies for Cortex-A510 scheduling model (#87293)
Updated according to the Software Optimization Guide for Arm®
Cortex®‑A510 Core Revision: r1p3 Issue 6.0.
Commit: 4572a2db2c2c48820e79fb65f3810348371db4f1
https://github.com/llvm/llvm-project/commit/4572a2db2c2c48820e79fb65f3810348371db4f1
Author: David Green <david.green at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
Log Message:
-----------
[AArch64] Add some test cases for LD2/LD3/LD4 shuffles. NFC
Commit: 5a0942cd7423069e78fdfb9743a13aedfa7bdee0
https://github.com/llvm/llvm-project/commit/5a0942cd7423069e78fdfb9743a13aedfa7bdee0
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
Log Message:
-----------
[llvm][NVPTX] Don't emit unused var 'temp_param_reg' (NFC) (#89004)
Don't emit unused variable 'temp_param_reg' which has been around since
ae556d3ef72dfe5f40a337b7071f42b7bf5b66a4 .
Commit: 800f1050e190430f217e1fd0db9414dacc835e11
https://github.com/llvm/llvm-project/commit/800f1050e190430f217e1fd0db9414dacc835e11
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[GitHub] Add a new mapping for `offload` subproject (#89118)
Fix #89071.
Commit: 6f7976c883da592f2cf6bfadef152e4203c00445
https://github.com/llvm/llvm-project/commit/6f7976c883da592f2cf6bfadef152e4203c00445
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/sys_info.h
M libcxx/include/chrono
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
A libcxx/test/std/time/time.syn/formatter.sys_info.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][TZDB] Adds sys_info formatter. (#85896)
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
- P1361 Integration of chrono with text formatting
Commit: b1dc62f139ef265a36a2a739ce9ba4e1e48a6dbe
https://github.com/llvm/llvm-project/commit/b1dc62f139ef265a36a2a739ce9ba4e1e48a6dbe
Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Parse/ParseExprCXX.cpp
M clang/test/Sema/static-assert.c
M clang/test/SemaCXX/builtins.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
Log Message:
-----------
[clang]Treat arguments to builtin type traits as template type arguments (#87132)
This change improves error messages for builtins in case of empty
parentheses.
Fixes llvm#86997
Commit: 6cea7c491f4c4c68aa0494a9b18f36ff40c22c81
https://github.com/llvm/llvm-project/commit/6cea7c491f4c4c68aa0494a9b18f36ff40c22c81
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/code-model-elf.ll
Log Message:
-----------
[X86] Always use 64-bit relocations in no-PIC large code model (#89101)
This matches other types of relocations, e.g. to constant pool. And
makes things more consistent with PIC large code model.
Some users of the large code model may not place small data in the lower
2GB of the address space (e.g.
https://github.com/ClangBuiltLinux/linux/issues/2016), so just
unconditionally use 64-bit relocations in the large code model.
So now functions in a section not marked large will use 64-bit
relocations to reference everything when using the large code model.
This also fixes some lldb tests broken by #88172
(https://lab.llvm.org/buildbot/#/builders/68/builds/72458).
Commit: 1460b4964c7ada2f7536006722c8585b5bd0a1b5
https://github.com/llvm/llvm-project/commit/1460b4964c7ada2f7536006722c8585b5bd0a1b5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Manually port d423d80e560d
Commit: db2f64ee1f743153f242ca92bf627458ba7f8000
https://github.com/llvm/llvm-project/commit/db2f64ee1f743153f242ca92bf627458ba7f8000
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
Log Message:
-----------
AMDGPU: Fix not handling atomicrmw fadd in exotic address spaces correctly
We try to interpret unknown address space numbers as aliases of global,
but this wasn't applied here. Also improve test coverage for the
buffer fat pointer address space.
Commit: 652bcf685c72447f3cc46d93d6c9c1948e8499f3
https://github.com/llvm/llvm-project/commit/652bcf685c72447f3cc46d93d6c9c1948e8499f3
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
A llvm/test/CodeGen/X86/codegen-prepare-addrmode-tls.ll
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-tls.ll
Log Message:
-----------
CodeGenPrepare: Add support for llvm.threadlocal.address address-mode sinking (#87844)
Depending on the TLSMode many thread-local accesses on x86 can be
expressed by adding a %fs: segment register to an addressing mode. Even
if there are mutliple users of a `llvm.threadlocal.address` intrinsic it
is generally not worth sharing the value in a register but instead fold
the %fs access into multiple addressing modes.
Hence this changes CodeGenPrepare to duplicate the
`llvm.threadlocal.address` intrinsic as necessary.
Introduces a new `TargetLowering::addressingModeSupportsTLS` callback
that allows targets to indicate whether TLS accesses can be part of an
addressing mode.
This is fixing a performance problem, as this folding of TLS-accesses
into multiple addressing modes happened naturally before the
introduction of the `llvm.threadlocal.address` intrinsic, but regressed
due to `SelectionDAG` keeping things in registers when accessed across
basic blocks, so CodeGenPrepare needs to duplicate to mitigate this. We
see a ~0.5% recovery in a codebase with heavy TLS usage (HHVM).
This fixes most of #87437
Commit: 2583b2eea4a509424e5e5f51dffedd9beede76a3
https://github.com/llvm/llvm-project/commit/2583b2eea4a509424e5e5f51dffedd9beede76a3
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/runtime/extensions.cpp
Log Message:
-----------
[flang][NFC] Add missing include for FreeBSD
Suggested by dankm here: https://github.com/llvm/llvm-project/pull/88517
Commit: d0c51f7d5496015ce410cc758a7caf976ffaaec7
https://github.com/llvm/llvm-project/commit/d0c51f7d5496015ce410cc758a7caf976ffaaec7
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/MachineBasicBlock.cpp
Log Message:
-----------
[LiveIns] Improve recomputeLiveIns() (#88951)
Some small changes to recomputeLiveIns() to improve performance:
- Instead of copying the list of old live-ins, and then clearing
them, a new method swaps the list for an empty one.
- getLiveIns() now returns a constant reference to the list
As result, the list-data is never copied. Depending on the
implementation
details of the vector container, it can also save calls to allocate
and deallocate memory.
I see a small improvement on CTMark with these changes.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 60b90b523323f8196a9e4a68b1f33358624c09eb
https://github.com/llvm/llvm-project/commit/60b90b523323f8196a9e4a68b1f33358624c09eb
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Log Message:
-----------
[lldb][DynamicLoader] Fix lldb unable to stop at _dl_debug_state if user set it before the process launched. (#88792)
If user sets a breakpoint at `_dl_debug_state` before the process
launched, the breakpoint is not resolved yet. When lldb loads dynamic
loader module, it's created with `Target::GetOrCreateModule` which
notifies any pending breakpoint to resolve. However, the module's
sections are not loaded at this time. They are loaded after returned
from
[Target::GetOrCreateModule](https://github.com/llvm/llvm-project/blob/0287a5cc4e2a5ded1ae2e4079f91052e6a6b8d9b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp#L574-L577).
This change fixes it by manually resolving breakpoints after creating
dynamic loader module.
Commit: e15f47f2675a5400464aec00219658882df5e3fa
https://github.com/llvm/llvm-project/commit/e15f47f2675a5400464aec00219658882df5e3fa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
Log Message:
-----------
[InstCombine] Don't use dominating conditions to transform sub into xor. (#88566)
Other passes are unable to reverse this transform if we use dominating
conditions.
Fixes #88239.
Commit: f309c882ea5ad411ac1011a4228c0e49b1025bb4
https://github.com/llvm/llvm-project/commit/f309c882ea5ad411ac1011a4228c0e49b1025bb4
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/runtime/extensions.cpp
Log Message:
-----------
Revert "[flang][NFC] Add missing include for FreeBSD"
This reverts commit 2583b2eea4a509424e5e5f51dffedd9beede76a3.
Commit: 0cee89431d77d0bb0809fd9b2c9d21da2a2783aa
https://github.com/llvm/llvm-project/commit/0cee89431d77d0bb0809fd9b2c9d21da2a2783aa
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/runtime/extensions.cpp
Log Message:
-----------
[flang][NFC] Add missing include for FreeBSD
Suggested by dankm here: https://github.com/llvm/llvm-project/pull/88517
Commit: 9435edf628cb2011652897e1f10f7c55313d50be
https://github.com/llvm/llvm-project/commit/9435edf628cb2011652897e1f10f7c55313d50be
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Lower DEALLOCATE for device variables (#89091)
Replace the runtime call to `AllocatableDeallocate` for CUDA device
variable to the newly added `fir.cuda_deallocate` operation.
This is similar with #88980
A third patch will handle the case of automatic dealloctaion of device
allocatable variables
Commit: 1b87418b9960983f54aa67f87018466ae12d0ec6
https://github.com/llvm/llvm-project/commit/1b87418b9960983f54aa67f87018466ae12d0ec6
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Improve liblldb building (#89095)
On Linux using --version-script doesn't force loading of the underlying
archives that contain the symbols. By setting alwayslink=True on the API
cc_library we virtually get this behavior. This also allows downstream
users to use the exports files used by cmake. We could build more
configurability into this but there are also a lot of possible
variations users might want.
Commit: 0ab3f160c4bff1c7d57c046b95ab8c5035ae986f
https://github.com/llvm/llvm-project/commit/0ab3f160c4bff1c7d57c046b95ab8c5035ae986f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage of add (mul X, C), Y oppurtunity using shNadd
Commit: 678f19f08296fec299438130cf5943714c590b7e
https://github.com/llvm/llvm-project/commit/678f19f08296fec299438130cf5943714c590b7e
Author: azhan92 <alisonxzhang at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
M llvm/test/tools/llvm-symbolizer/input-file-err.test
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[Support] Report EISDIR when opening a directory (#79880)
The test `llvm/unittests/Support/CommandLineTest.cpp` that handles
errors in expansion of response files was previously disabled for AIX.
Originally the code was dependent on `read` returning `EISDIR` which
occurs on platforms such as Linux. However, other platforms such as AIX
allow use of `read` on file descriptors for directories. This change
updates `readNativeFile` to produce `EISDIR` on AIX and z/OS when used
on a directory (instead of relying on the call to `read` to do so).
---------
Co-authored-by: Alison Zhang <alisonzhang at ibm.com>
Co-authored-by: James Henderson <46713263+jh7370 at users.noreply.github.com>
Commit: 26101e8c50e07ea53869b0c7f343d76bfed61b02
https://github.com/llvm/llvm-project/commit/26101e8c50e07ea53869b0c7f343d76bfed61b02
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf11.cuf
Log Message:
-----------
[flang][cuda] Avoid crash by exiting the check if assignment is not usable (#89149)
In the presence of other semantic error, `GetAssignment` would return a
nullptr and therefore would make the rest of the check crash when trying
to collect symbols.
Exiting early when we have a nullptr so the compiler doesn't crash and
user can get the meaningful semantic error.
Commit: 823eb1a3252dd773f9c4d92093591f1b39ac27d4
https://github.com/llvm/llvm-project/commit/823eb1a3252dd773f9c4d92093591f1b39ac27d4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Add some validation of (S/U)(ADD/SUB)O_CARRY nodes. (#89133)
Commit: 156ab4d4fb06be93b0cfce675e4cf86d330d879c
https://github.com/llvm/llvm-project/commit/156ab4d4fb06be93b0cfce675e4cf86d330d879c
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Scope.h
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/PR75221.cpp
Log Message:
-----------
[Clang][Sema] set declaration invalid earlier to prevent crash in calculating record layout (#87173)
Try to fix https://github.com/llvm/llvm-project/issues/75221
This crash caused by calculating record layout which contains a field
declaration with dependent type. Make it invalid before it is a complete
definition to prevent this crash. Define a new scope type to record this
type alias and set the record declaration invalid when it is defined in
a type alias template.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 888836930b1ed30b2095d45fcffc482560cb0e39
https://github.com/llvm/llvm-project/commit/888836930b1ed30b2095d45fcffc482560cb0e39
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
Revert "[SLP]Attempt to vectorize long stores, if short one failed."
This reverts commit 6f7160eedb2db02f37d4ffd52fff7b0cf88b3fdc.
This still causes large compile-time regressions in some cases.
Commit: 748ef7eccc8b997ee5553cc5aadf04d7c7d0556f
https://github.com/llvm/llvm-project/commit/748ef7eccc8b997ee5553cc5aadf04d7c7d0556f
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/CodeGenCUDA/record-layout.cu
Log Message:
-----------
[CUDA][HIP] Fix record layout on Windows (#87651)
On windows, record layout should be consistent with host side, otherwise
host code is not able to access fields of the record correctly.
Fixes: https://github.com/llvm/llvm-project/issues/51031
Fixes: SWDEV-446010
Commit: 097b68ff067565af744b5b0327732d7c199710ab
https://github.com/llvm/llvm-project/commit/097b68ff067565af744b5b0327732d7c199710ab
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
Log Message:
-----------
[RISCV][TTI] Refine the cost of FCmp (#88833)
This patch introduces following changes
- Support all fp predicates
- Use the Val type to estimate the latency/throughput cost
- Assign a cost of 1 for mask operations as LMULCost for mask types
cannot be correctly estimated.
Commit: 525d00e5edc4b83105c6ad518926b174f76c3a1c
https://github.com/llvm/llvm-project/commit/525d00e5edc4b83105c6ad518926b174f76c3a1c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/integer-round-up-pow2-alignment.ll
Log Message:
-----------
[InstCombine] Fix poison propagation in round up alignment fold
We can't directly use the high bits value if it is more poisonous
due to poison elements in the masks.
This fixes the issue reported in
https://github.com/llvm/llvm-project/pull/88217#issuecomment-2061034941.
Commit: 0ee260ec37a039ffc276f2f827c842f71513a3e9
https://github.com/llvm/llvm-project/commit/0ee260ec37a039ffc276f2f827c842f71513a3e9
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
Log Message:
-----------
[PowerPC] `ANDI_rec_1_*` should define CR0 (#89034)
These pseudo instructions finally copy the result to CR0 so they should
define `CR0` in their definitions.
Commit: 29ecd6d50f1400e3101f27567b535eb8af905f58
https://github.com/llvm/llvm-project/commit/29ecd6d50f1400e3101f27567b535eb8af905f58
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M polly/lib/Analysis/DependenceInfo.cpp
M polly/lib/Analysis/ScopBuilder.cpp
Log Message:
-----------
[clang-format] Revert breaking stream operators to previous default (#89016)
Reverts commit d68826dfbd98, which changes the previous default behavior
of always breaking before a stream insertion operator `<<` if both
operands are string literals.
Also reverts the related commits 27f547968cce and bf05be5b87fc.
See the discussion in #88483.
Commit: b6cc667190e3bee7485a225d3dadd8a57c0a22b6
https://github.com/llvm/llvm-project/commit/b6cc667190e3bee7485a225d3dadd8a57c0a22b6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Annotate ampamp after new/delete as BinaryOperator (#89033)
Fixes #78789.
Commit: f2695a1c2f561da42b973187a254b6eeb7da76a9
https://github.com/llvm/llvm-project/commit/f2695a1c2f561da42b973187a254b6eeb7da76a9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/reduced-bmi-empty-module-purview.cppm
Log Message:
-----------
[C++20] [Modules] Avoid writing untouched DeclUpdates from GMF in
Reduced BMI
Mitigate https://github.com/llvm/llvm-project/issues/61447
The root cause of the above problem is that when we write a declaration,
we need to lookup all the redeclarations in the imported modules. Then
it will be pretty slow if there are too many redeclarations in different
modules. This patch doesn't solve the porblem.
What the patchs mitigated is, when we writing a named module, we shouldn't
write the declarations from GMF if it is unreferenced **in current
module unit**. The difference here is that, if the declaration is used
in the imported modules, we used to emit it as an update. But we
definitely want to avoid that after this patch.
For that reproducer in
https://github.com/llvm/llvm-project/issues/61447, it used to take 2.5s
to compile and now it only takes 0.49s to compile, which is a big win.
Commit: 3fbb815c8c82c87f9a6e59e053ab60bad08589f6
https://github.com/llvm/llvm-project/commit/3fbb815c8c82c87f9a6e59e053ab60bad08589f6
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Check that VLMAX is the same when demanding exact VL (#89080)
Commit: 3e2aad412ada8f1db88c9e0f984a302deed74f4b
https://github.com/llvm/llvm-project/commit/3e2aad412ada8f1db88c9e0f984a302deed74f4b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Speed up RISCVRegisterInfo::needsFrameBaseReg when frame pointer isn't used. NFC (#89163)
The callee saved size is only used if there is a frame pointer. Sink the
code onto the frame pointer only path.
Commit: 8b37ec1f7bda40c240f7bfda6737df5043860103
https://github.com/llvm/llvm-project/commit/8b37ec1f7bda40c240f7bfda6737df5043860103
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/test/std/ranges/range.adaptors/range.take/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/types.h
Log Message:
-----------
[libc++][NFC] Add additional tests for begin/end of std::ranges::take_view (#79085)
Add additional tests for `begin`/`end` of `std::ranges::take_view`.
In partial fulfillment of #72406.
Commit: 808d794a45e169601ff16f72beae2f7bd79342a2
https://github.com/llvm/llvm-project/commit/808d794a45e169601ff16f72beae2f7bd79342a2
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/support/test_range.h
Log Message:
-----------
[libc++][NFC] Centralize test for support of == and != in ranges (#78481)
Previously, tests for whether comparison using == was supported by
iterators derived from ranges adaptors was spread throughout the testing
codebase. This PR centralizes the implementation of those tests.
Commit: 0afc884e874043bf5207d561ab82b107e8860d41
https://github.com/llvm/llvm-project/commit/0afc884e874043bf5207d561ab82b107e8860d41
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
A llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
R llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip.ll
Log Message:
-----------
[RISCV] Use vnclip for scalable vector saturating truncation. (#88648)
Similar to #75145, but for scalable vectors.
Specifically, this patch works for the below optimization case:
## Source Code
```
define void @trunc_sat_i8i16_maxmin(ptr %x, ptr %y) {
%1 = load <vscale x 4 x i16>, ptr %x, align 16
%2 = tail call <vscale x 4 x i16> @llvm.smax.v4i16(<vscale x 4 x i16> %1, <vscale x 4 x i16> splat (i16 -128))
%3 = tail call <vscale x 4 x i16> @llvm.smin.v4i16(<vscale x 4 x i16> %2, <vscale x 4 x i16> splat (i16 127))
%4 = trunc <vscale x 4 x i16> %3 to <vscale x 4 x i8>
store <vscale x 4 x i8> %4, ptr %y, align 8
ret void
}
```
## Before this patch
[Compiler Explorer](https://godbolt.org/z/EKc9eGvo8)
```
trunc_sat_i8i16_maxmin:
vl1re16.v v8, (a0)
li a0, -128
vsetvli a2, zero, e16, m1, ta, ma
vmax.vx v8, v8, a0
li a0, 127
vmin.vx v8, v8, a0
vsetvli zero, zero, e8, mf2, ta, ma
vnsrl.wi v8, v8, 0
vse8.v v8, (a1)
ret
```
## After this patch
```
trunc_sat_i8i16_maxmin:
vsetivli zero, 4, e8, mf4, ta, ma
vle16.v v8, (a0)
vnclip.wi v8, v8, 0
vse8.v v8, (a1)
ret
```
Commit: 3d72c44fedc13ef51d2584b4fe930edb8d2e87ae
https://github.com/llvm/llvm-project/commit/3d72c44fedc13ef51d2584b4fe930edb8d2e87ae
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
Log Message:
-----------
[mlir][gpu] Improve `gpu.shuffle` documentation. NFC. (#89168)
* Make the wording around lanes / threads / work items more consistent.
* Add examples for all shufle modes.
* Also clean up `gpu.subgroup_reduce`.
Commit: 472b612ccbeda470fa15005e11882349b0b384be
https://github.com/llvm/llvm-project/commit/472b612ccbeda470fa15005e11882349b0b384be
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libcxx/include/__format/format_arg.h
M libcxx/include/__type_traits/remove_cv.h
Log Message:
-----------
[libc++][NFC] Remove unused includes from <__type_traits/remove_cv.h> (#88752)
Commit: fbca90b609f6c42ce7e4c9bb3ee8bd2c230a670c
https://github.com/llvm/llvm-project/commit/fbca90b609f6c42ce7e4c9bb3ee8bd2c230a670c
Author: Brad Smith <brad at comstyle.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/unittests/Support/MemoryTest.cpp
Log Message:
-----------
[unittest] Skip W+X MappedMemoryTests on OpenBSD (#89102)
OpenBSD uses W^X so the tests will not work.
Commit: 3d56ea05b6c746a7144f643bef2ebd599f605b8b
https://github.com/llvm/llvm-project/commit/3d56ea05b6c746a7144f643bef2ebd599f605b8b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang/include/clang/AST/Decl.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
Log Message:
-----------
[clang][NFC] Fix FieldDecl::isUnnamedBitfield() capitalization (#89048)
We always capitalize bitfield as "BitField".
Commit: dbece2bb06e7329d1390b59b3bd2e1558627c2f7
https://github.com/llvm/llvm-project/commit/dbece2bb06e7329d1390b59b3bd2e1558627c2f7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/docs/index.rst
Log Message:
-----------
[Docs] Fix FAQ and Lexicon links under design overview (#89027)
This patch updates the FAQ and lexicon links under design overview to
actually work instead of being incomplete and thus completely missing
from the output.
Commit: 06f54e7c2b4f26fbcad906a6b4aa2e46bf60b8af
https://github.com/llvm/llvm-project/commit/06f54e7c2b4f26fbcad906a6b4aa2e46bf60b8af
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Convert llvm-spirv to imported executable
This tool now behaves like the others, for consistency.
Commit: 93d51194b1df8229268953ec94063fc4194a320b
https://github.com/llvm/llvm-project/commit/93d51194b1df8229268953ec94063fc4194a320b
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Clarify option help message
This should make it more obvious it applies only to libclc.
Commit: 0aeeff3059e79b86f55ed92a4488bdee8fa66e12
https://github.com/llvm/llvm-project/commit/0aeeff3059e79b86f55ed92a4488bdee8fa66e12
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Allow building with pre-built tools
Building the libclc project in-tree with debug tools can be very slow.
This commit adds an option for a user to specify a dierctory from which
to import (e.g., release-built) tools. All tools required by the project
must be imported from the same location, for simplicity.
Original patch downstream authored by @jchlanda.
Commit: dc74c69f016fa65949bf0cf691061e12bef93d29
https://github.com/llvm/llvm-project/commit/dc74c69f016fa65949bf0cf691061e12bef93d29
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Provide a more helpful error when tools are missing
Commit: d0af554464774342752548c976e1ce71a2bf856d
https://github.com/llvm/llvm-project/commit/d0af554464774342752548c976e1ce71a2bf856d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[CI] Fix libclc dependencies
We need clang and llvm to build in-tree.
Commit: a5d2ed240d788a5f0caf090669eee27e51a28a89
https://github.com/llvm/llvm-project/commit/a5d2ed240d788a5f0caf090669eee27e51a28a89
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Fix typo in test (NFC)
The llvm.smix should be llvm.smin.
Commit: 5ff44dbaea27d442c89278871dc2f75942d54716
https://github.com/llvm/llvm-project/commit/5ff44dbaea27d442c89278871dc2f75942d54716
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/reduction-of-truncations.ll
Log Message:
-----------
[VectorCombine] Fix incorrect intrinsic signature (NFC)
Commit: 9099f6f8dcffffd7cf7d5cbe9ca4b7582851fde1
https://github.com/llvm/llvm-project/commit/9099f6f8dcffffd7cf7d5cbe9ca4b7582851fde1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Skip unnamed bit fields in initializers
Fixes the Codegen/CSKY/csky-hard-abi.c test
Commit: 43eb5e2d4054104dcdd9fadeea8da8bacab6d338
https://github.com/llvm/llvm-project/commit/43eb5e2d4054104dcdd9fadeea8da8bacab6d338
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove unused Predicates for I and E extensions. NFC
Commit: ff3523f67b858b87ed4f72d143a1ab3634ae1db7
https://github.com/llvm/llvm-project/commit/ff3523f67b858b87ed4f72d143a1ab3634ae1db7
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Operator.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/BDCE.cpp
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/InstCombine/freeze.ll
Log Message:
-----------
[IR] Drop poison-generating return attributes when necessary (#89138)
Rename has/dropPoisonGeneratingFlagsOrMetadata to
has/dropPoisonGeneratingAnnotations and make it also handle
nonnull, align and range return attributes on calls, similar
to the existing handling for !nonnull, !align and !range metadata.
Commit: 562f061e7e710543578875d33d64837abecc23d2
https://github.com/llvm/llvm-project/commit/562f061e7e710543578875d33d64837abecc23d2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Load result of pre-inc/dec operation if necessary
This can happen in C.
Commit: 71c0784dc4a2ef40039a97af122ba78549193120
https://github.com/llvm/llvm-project/commit/71c0784dc4a2ef40039a97af122ba78549193120
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/AST/DeclPrinter.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Fix the double space and double attribute printing of the final keyword. (#88600)
Fixes #56517.
Commit: b5aff11aa118dabf134a1377dfd94b34e4dedbf7
https://github.com/llvm/llvm-project/commit/b5aff11aa118dabf134a1377dfd94b34e4dedbf7
Author: Dmitrii Agibov <dmitrii.agibov at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Add folding for TOSA ArgMax operator (#88871)
Commit: 83cc60565a8a78ce00ee0c29f167400902e60737
https://github.com/llvm/llvm-project/commit/83cc60565a8a78ce00ee0c29f167400902e60737
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [Serialization] Extract logics to write special decls from
ASTWriter::WriteASTCore
ASTWriter::WriteASTCore is a big function and slightly hard to read.
This patch extracts the logics to force emitting special declarations
and writing special records for these declarations into member
functions.
This is helpful to improve the readability and also helpful for the
following patch to write special declarations lazily.
Commit: 7ec342ba16ca97206aa2ddd5b7ec0da063042e03
https://github.com/llvm/llvm-project/commit/7ec342ba16ca97206aa2ddd5b7ec0da063042e03
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/reduced-bmi-empty-module-purview-std.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Write Special Decl Lazily
ASTWrite would write some special records for the consumer of the AST
can get the information easily. This is fine. But currently all the
special records are written eagerly, which is conflicting with reduced
BMI.
In reduced BMI, we hope to write things as less as possible. It is not a
goal for reduced BMI to retain all the informations. So in this patch we
won't record the special declarations eagerly before we starting write.
But only writing the sepcial records after we writes decls and types,
then only the reached declarations will be collected.
Commit: 1baa3850656382d1d549a13f8a716ef5dc886eb8
https://github.com/llvm/llvm-project/commit/1baa3850656382d1d549a13f8a716ef5dc886eb8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Constant.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/test/Transforms/InstCombine/and-or-icmp-const-icmp.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/bswap-fold.ll
M llvm/test/Transforms/InstCombine/bswap.ll
M llvm/test/Transforms/InstCombine/compare-signs.ll
M llvm/test/Transforms/InstCombine/fcmp-range-check-idiom.ll
M llvm/test/Transforms/InstCombine/icmp-fsh.ll
M llvm/test/Transforms/InstCombine/icmp-power2-and-icmp-shifted-mask.ll
M llvm/test/Transforms/InstCombine/icmp-vec-inseltpoison.ll
M llvm/test/Transforms/InstCombine/icmp-vec.ll
M llvm/test/Transforms/InstCombine/low-bit-splat.ll
M llvm/test/Transforms/InstCombine/lshr-trunc-sext-to-ashr-sext.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/signed-truncation-check.ll
M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
M llvm/test/Transforms/InstCombine/xor-ashr.ll
M llvm/test/Transforms/InstSimplify/cast-unsigned-icmp-cmp-0.ll
M llvm/test/Transforms/InstSimplify/icmp-constant.ll
M llvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR][PatternMatch] Only accept poison in getSplatValue() (#89159)
In #88217 a large set of matchers was changed to only accept poison
values in splats, but not undef values. This is because we now use
poison for non-demanded vector elements, and allowing undef can cause
correctness issues.
This patch covers the remaining matchers by changing the AllowUndef
parameter of getSplatValue() to AllowPoison instead. We also carry out
corresponding renames in matchers.
As a followup, we may want to change the default for things like m_APInt
to m_APIntAllowPoison (as this is much less risky when only allowing
poison), but this change doesn't do that.
There is one caveat here: We have a single place
(X86FixupVectorConstants) which does require handling of vector splats
with undefs. This is because this works on backend constant pool
entries, which currently still use undef instead of poison for
non-demanded elements (because SDAG as a whole does not have an explicit
poison representation). As it's just the single use, I've open-coded a
getSplatValueAllowUndef() helper there, to discourage use in any other
places.
Commit: 85215508966abbedaf80a7a0a2ae4687a46447fe
https://github.com/llvm/llvm-project/commit/85215508966abbedaf80a7a0a2ae4687a46447fe
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[X86] Use m_APIntAllowPoison instead of m_APIntAllowUndef
Fix build after 1baa3850656382d1d549a13f8a716ef5dc886eb8.
Commit: 9760b6b1ecff3d3c43d182ea488fa34a82472a3e
https://github.com/llvm/llvm-project/commit/9760b6b1ecff3d3c43d182ea488fa34a82472a3e
Author: Mike Weller <mike at mikeweller.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
Log Message:
-----------
[clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (#88138)
Fix `bugprone-forwarding-reference-overload` so it doesn't report a
constructor that is deleted.
Commit: da579ad807bd55c686e1c1c52e0a4bcc259347b4
https://github.com/llvm/llvm-project/commit/da579ad807bd55c686e1c1c52e0a4bcc259347b4
Author: martinboehme <mboehme at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][dataflow] Refactor `PropagateResultObject()` with a switch statement. (#88865)
See also discussion in #88726.
Commit: fcdb2203e05002f0488221f6a0cab42e1a34f8fc
https://github.com/llvm/llvm-project/commit/fcdb2203e05002f0488221f6a0cab42e1a34f8fc
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/atomic_optimization_split_dt_update.ll
Log Message:
-----------
[AMDGPU][AtomicOptimizer] Fix DT update for divergent values with Iterative strategy (#87605)
We take the terminator from EntryBB and put it in ComputeEnd. Make sure
we also move the DT edges, we previously only did it assuming a
non-conditional branch.
Fixes SWDEV-453943
Commit: b5f2cecf833f8d08197cda80ac684c250b8fa0f9
https://github.com/llvm/llvm-project/commit/b5f2cecf833f8d08197cda80ac684c250b8fa0f9
Author: martinboehme <mboehme at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
Revert "[clang][dataflow] Refactor `PropagateResultObject()` with a switch statement." (#89176)
Reverts llvm/llvm-project#88865
There were failing tests in the CI that I didn't notice. Sorry.
Commit: 42348b6918e9bbf2dd0260d8ffab4b80b8ff08f8
https://github.com/llvm/llvm-project/commit/42348b6918e9bbf2dd0260d8ffab4b80b8ff08f8
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] Add myself as default code reviewer (#89099)
Commit: 3c721b90d363bf73b78467f6e86c879235bac1b2
https://github.com/llvm/llvm-project/commit/3c721b90d363bf73b78467f6e86c879235bac1b2
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
Log Message:
-----------
Revert "[lldb] Fix evaluation of expressions with static initializers (#89063)"
It breaks expression evaluation on arm, and the x86 breakage has been
fixed in 6cea7c491f4c4c68aa0494a9b18f36ff40c22c81.
This reverts commit 915c84b1480bb3c6d2e44ca83822d2c2304b763a.
Commit: 135472b553ccc18e4337b23f8d5616c8dda5e2a6
https://github.com/llvm/llvm-project/commit/135472b553ccc18e4337b23f8d5616c8dda5e2a6
Author: Isha Agarwal <isha.agarwal at intel.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/CodeGen/X86/x86-cf-protection.c
Log Message:
-----------
[X86][test] Added extra cet tests, NFC (#88736)
Updated cet test to:
-Check different modules based on different cet options
-Added negative tests also
---------
Signed-off-by: Isha Agarwal <isha.agarwal at intel.com>
Commit: 5d4e072a253afac018e312d75290314bd2d03b30
https://github.com/llvm/llvm-project/commit/5d4e072a253afac018e312d75290314bd2d03b30
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/unreached-static-entities.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Don't eagerly write static entities in
module purview
For,
```
export module A;
static int impl() { ... }
export int func() { return impl(); }
```
Previously, even with reduced BMI, the function `impl` will be emitted
into the BMI. After the patch, the static entities in module purview
won't get emitted eagerly. Now the static entities may only be emitted
if required.
Note that, this restriction is actually more relaxed than the language
standard required. The language spec said, the program is ill-formed if
any TU-local entities get exposed. However, we can't do this since there
are many static entities in the headers of existing libraries.
Forbidding that will cause many existing program fail immediately.
Another note here is, we can't do this for non-static non-exported
entities, they can be used for other module units within the same
module.
Commit: 6e30d97e89f1c49e8bf2073746a5e08f5e75948f
https://github.com/llvm/llvm-project/commit/6e30d97e89f1c49e8bf2073746a5e08f5e75948f
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[MLIR][NVVM] [NFC] Update Docs for shfl.sync Op (#89044)
The first argument to the nvvm_shfl_sync_* family
of intrinsics is the thread_mask (aka member_mask).
This patch renames the corresponding operand in the Op
to reflect the same i.e. `dst` -> `thread_mask`.
While we are there, add summary and description
for this Op.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 609ee9fe6a96113c893e8344f0dfaef5eba73e3d
https://github.com/llvm/llvm-project/commit/609ee9fe6a96113c893e8344f0dfaef5eba73e3d
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Remove unused lambda capture (NFC)
llvm-project/clang/lib/Serialization/ASTWriter.cpp:5077:59:
error: lambda capture 'SemaRef' is not used [-Werror,-Wunused-lambda-capture]
auto AddEmittedDeclRefOrZero = [this, &SemaDeclRefs, &SemaRef](Decl *D) {
~~~^~~~~~~
1 error generated.
Commit: c82f45f9deb98aa383b0be37f8edc32f9e48c4ec
https://github.com/llvm/llvm-project/commit/c82f45f9deb98aa383b0be37f8edc32f9e48c4ec
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/sm90/python/tools/matmulBuilder.py
Log Message:
-----------
[mlir][nvgpu] Simplify TMA IR generation (#87153)
This PR add `TmaDescriptorBuilder`
- class simplifies TMA generation.
- Makes the code ready to support various Tma configurations
- removes strings and use the enums from `mlir.nvgpu.ENUMs`.
- Example "swizzle = swizzle_128b, l2promo=none, oob=zero,
interleave=none" to enums in `mlir.nvgpu` dialects.
- Enums have string equivalent that are used during the IR writing and
generation (see `TmaDescriptorBuilder::tensormap_descriptor_ty`).
- Improves readability and abstracts out TMA descriptor builders in
reusable component.
---------
Co-authored-by: Manish Gupta <manigupta at google.com>
Commit: 03e841c870e7beccf1368e566045e233b3bd8db5
https://github.com/llvm/llvm-project/commit/03e841c870e7beccf1368e566045e233b3bd8db5
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/docs/resources/test.rst
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
[lldb] Correct documentation of LLDB_TEST_USER_ARGS (#89042)
https://discourse.llvm.org/t/running-lldb-in-a-container/76801/4 found
that the obvious way to use this variable doesn't work, despite what our
docs and examples say.
Perhaps in the past it did but now you need to use ";" as a separator to
make sure the final command line works properly.
For example "-A foo" becomes "-A foo" when python goes to run the runner
script. The script sees this as one command line element, not two. What
you actually want is "-A;foo" which we convert to "-A" "foo" which the
script sees as one option and one value for that option.
The "Script:" printout from dotest is misleading here because it does `"
".join(cmd)` so it looks like it's ok but in fact it's not.
I'm not changing that format though because printing the command as a
Python list is not useful outside of this specific situation.
Commit: e7a8dd9b0d419403fe1d8adeb177a4ec78e036cc
https://github.com/llvm/llvm-project/commit/e7a8dd9b0d419403fe1d8adeb177a4ec78e036cc
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] [C++20] [Modules] Mentioning Module Initializer
Although we want to treat the module initializer as a transparent
concept to users, but it shows that people need to understand
the concept to understand how to understand and distribute modules.
So it is better to mention this too.
Commit: c674dbc2a89298f1ff06686ae953cef9a1b19961
https://github.com/llvm/llvm-project/commit/c674dbc2a89298f1ff06686ae953cef9a1b19961
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/CodeGen/aarch64-cpu-supports.c
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/Sema/aarch64-cpu-supports.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/attr-target-version.c
M clang/test/SemaCXX/attr-target-version.cpp
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
Revert "[FMV] Remove useless features according the latest ACLE spec." (#89184)
Reverts llvm/llvm-project#88965
This caused a test suite failure:
https://lab.llvm.org/buildbot/#/builders/185/builds/6583
NOEXE: test-suite::aarch64-acle-fmv-features.test
```
/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/test-suite/SingleSource/UnitTests/AArch64/acle-fmv-features.c:98:1: error: redefinition of 'check_sha1'
98 | CHECK(sha1, {
| ^
/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/test-suite/SingleSource/UnitTests/AArch64/acle-fmv-features.c:36:17: note: expanded from macro 'CHECK'
36 | static void check_##X(void) { \
| ^
<scratch space>:150:1: note: expanded from here
150 | check_sha1
| ^
```
I presume that the useless features need to be removed from the fmv test
as well.
Commit: fd98f80f602e11d523d252feef301634c2c689a7
https://github.com/llvm/llvm-project/commit/fd98f80f602e11d523d252feef301634c2c689a7
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Finish initializing structs from CompoundLiteralExprs
Commit: 61f400165c64894374d23ffbcbebc8650d974961
https://github.com/llvm/llvm-project/commit/61f400165c64894374d23ffbcbebc8650d974961
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
Log Message:
-----------
[llvm-exegesis] Define SYS_gettid if not available
This patch defines SYS_gettid as __NR_gettid if SYS_gettid is not
available to avoid compile time errors due to SYS_gettid not being
defined. This happens with certain libcs (like bionic) that do not
define SYS_gettid.
Commit: 63d8058ef50a3186b6b6a5db254f44673fea3d19
https://github.com/llvm/llvm-project/commit/63d8058ef50a3186b6b6a5db254f44673fea3d19
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
Log Message:
-----------
LoopVectorize: guard appending InstsToScalarize; fix bug (#88720)
In the process of collecting instructions to scalarize, LoopVectorize
uses faulty reasoning whereby it also adds instructions that will be
scalar after vectorization. If an instruction satisfies
isScalarAfterVectorization() for the given VF, it should not be appended
to InstsToScalarize. Add this extra guard, fixing a crash.
Fixes #55096.
Commit: e90bc9cfd4d22c89dd993f62ede700ae25df49c5
https://github.com/llvm/llvm-project/commit/e90bc9cfd4d22c89dd993f62ede700ae25df49c5
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Config/llvm-config.h.cmake
A llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CMakeLists.txt
A llvm/test/Transforms/InstSimplify/ConstProp/logf128.ll
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Constant Fold Logf128 calls (#84501)
This patch enables constant folding for 128 bit floating-point logf
calls. This is achieved by querying if the host system has the logf128()
symbol available with a CMake test. If so, replace the runtime call with
the compile time value returned from logf128.
Commit: 3e64f8a4e74cdcaf5920879c86e7e0a827f6ec13
https://github.com/llvm/llvm-project/commit/3e64f8a4e74cdcaf5920879c86e7e0a827f6ec13
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/mops-register-alias.ll
A llvm/test/MC/AArch64/armv9.3a-mops-register-aliasing.s
Log Message:
-----------
[AArch64][CodeGen] Fix illegal register aliasing bug for mops instrs (#88869)
A bug was found where mops instructions were being generated that
aliased the source and size registers. This is unpredictable behaviour.
This patch uses the earlyclobber constraint on the input source
register so that it doesn't alias with the size register. Also a test is
introduced which checks affected instructions can't violate this
constraint.
Commit: 750de326ef0408df4a5f91773c355ded1a1b1b77
https://github.com/llvm/llvm-project/commit/750de326ef0408df4a5f91773c355ded1a1b1b77
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/COFFModuleDefinition.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
Log Message:
-----------
[COFF] Rename the COFFShortExport::AliasTarget field. NFC. (#89039)
It turns out that the previous name is vaguely misleading.
When operating on a def file like "symbolname == dllname", that is
supposed to make an import library entry, that when the symbol
"symbolname" links against this, it imports the DLL symbol "dllname"
from the referenced DLL. This doesn't need to involve any alias, and it
doesn't need to imply that "dllname" is available on its own as a
separate symbol in the import library at all.
GNU dlltool implements import libraries in the form of "long import
library", where each member is a regular object file with section chunks
that compose the relevant .idata section pieces. There, this kind of
import renaming does not involve any form of aliases, but the right
.idata section just gets a different string than the symbol name.
Commit: d17db6066d2524856fab493dd894f8396e896bc7
https://github.com/llvm/llvm-project/commit/d17db6066d2524856fab493dd894f8396e896bc7
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/autoimport-debug.s
Log Message:
-----------
[LLD] [COFF] Don't create pseudo relocations for discardable sections (#89043)
This extends on the case from 9c970d5ecd6a85188cd2b0a941fcd4d60063ef81;
if a section is marked discardable, it won't be mapped into memory at
runtime, so there's no point in creating runtime pseudo relocations for
such sections.
Commit: 3da065896b1b59fd8291958e8d13f4a942d51214
https://github.com/llvm/llvm-project/commit/3da065896b1b59fd8291958e8d13f4a942d51214
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
Revert "CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#88835)"
This reverts commit 16f188761da1df6ba5e6627b8742aacfec8e9ec5.
This broke Libcxx Picolib testing at the install step, and builds
for Windows builtins. Revert while we figure out the cause.
Commit: 8d6a9c05f6d676c93c84ebf06cf6263657e74c00
https://github.com/llvm/llvm-project/commit/8d6a9c05f6d676c93c84ebf06cf6263657e74c00
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/test/DebugInfo/X86/template-alias.ll
M llvm/test/tools/llvm-symbolizer/frame-types.s
Log Message:
-----------
[DWARF] Add support for DW_TAG_template_alias for template aliases (#88943)
Part 1 of fix for issue
https://github.com/llvm/llvm-project/issues/54624
Split from PR #87623. Clang front end changes to follow.
Use DICompositeType to represent the template alias, using its extraData
field as a tuple of DITemplateParameter to describe the template
parameters.
Added template-alias.ll - Check DWARF emission.
Modified frame-types.s - Check llvm-symbolizer understands the DIE.
Commit: ac39fa740b067f6197dca1caecc97c0da91ebf3d
https://github.com/llvm/llvm-project/commit/ac39fa740b067f6197dca1caecc97c0da91ebf3d
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
Log Message:
-----------
[MLIR][Mem2Reg][LLVM] Enhance partial load support (#89094)
This commit improves LLVM dialect's Mem2Reg interfaces to support
promotions of partial loads from larger memory slots. To support this,
the Mem2Reg interface methods are extended with additional data layout
parameters. The data layout is required to determine type sizes to
produce correct conversion sequences.
Note: There will be additional followups that introduce a similar
functionality for stores, and there are plans to support accesses into
the middle of memory slots.
Commit: c26e9bf8fafea656b64d811c01fc3a5f970829ef
https://github.com/llvm/llvm-project/commit/c26e9bf8fafea656b64d811c01fc3a5f970829ef
Author: Matt Devereau <matthew.devereau at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Config/llvm-config.h.cmake
R llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CMakeLists.txt
R llvm/test/Transforms/InstSimplify/ConstProp/logf128.ll
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Revert "Constant Fold Logf128 calls (#84501)"
This reverts commit e90bc9cfd4d22c89dd993f62ede700ae25df49c5.
Commit: 9462abdff1687c1e35574cdef8de6c549addc42a
https://github.com/llvm/llvm-project/commit/9462abdff1687c1e35574cdef8de6c549addc42a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/insertelement-across-zero.ll
Log Message:
-----------
[SLP]Fix PR89187: fixx assertion check.
Need to use proper index variable to fix a crash.
Commit: 2a4e61b342e7a19bcb229ef16dee083c58224a3f
https://github.com/llvm/llvm-project/commit/2a4e61b342e7a19bcb229ef16dee083c58224a3f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/docs/BufferDeallocationInternals.md
M mlir/docs/Bufferization.md
A mlir/docs/OwnershipBasedBufferDeallocation.md
A mlir/docs/includes/img/bufferization_dealloc_op.svg
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td
Log Message:
-----------
[mlir][NFC] Move and improve ownership-based buffer dellocation docs (#89196)
Move the documentation of the ownership-based buffer deallocation pass
to a separate file. Also improve the documentation a bit and insert a
figure that explains the `bufferization.dealloc` op (copied from the
tutorial at the LLVM Dev Summit 2023).
Commit: 652ae4ecadaa972d70ef5cea3b68f2ff103c4af2
https://github.com/llvm/llvm-project/commit/652ae4ecadaa972d70ef5cea3b68f2ff103c4af2
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/SemaCXX/attr-exclude_from_explicit_instantiation.local-class.cpp
Log Message:
-----------
[Clang][Sema] Warn when 'exclude_from_explicit_instantiation' attribute is used on local classes and members thereof (#88777)
A local class and its members declared in a function template are
instantiated alongside the definition of that template. It therefore
does not make sense to apply the `exclude_from_explicit_instantiation`
attribute to such declarations, and this patch adds a warning to
diagnose these cases (in addition to ignoring the attribute).
(The motivation for this patch is to fix a failing test in libc++ for
#84050. In particular, line 199 in `include/__memory/uses_allocator_construction.h`
in libc++ contains the expression `this->__value_` (reduced to
https://godbolt.org/z/KqEerKWPd) which will be looked up prior
to instantiation once #84050 lands (the lookup context is the
current instantiation). `_LIBCPP_HIDE_FROM_ABI` includes
`__attribute__((exclude_from_explicit_instantiation))`, which in the
reduced example results in `Local` being instantiated with
`Local::operator A` as its `DeclContext`)
Commit: 3f0d52b2dbdb096212e8ffa6ad86aacd0d256957
https://github.com/llvm/llvm-project/commit/3f0d52b2dbdb096212e8ffa6ad86aacd0d256957
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
Log Message:
-----------
[mlir][llvm] Clean out f8 types from compatible types list
These were added in faf697e49bad099b36770c7738f36917e3d90d2d so things
can flow through non-opaque LLVM ptrs. Those ptrs are gone so there is
no reason for this to be around anymore. LLVM doesn't support f8 types,
they get converted to i8 when lowering to LLVM dialect.
Removing the f8 types makes LLVM::isCompatibleType and
LLVM::isCompatibleFloatingPointType consistent again.
Commit: 0e08bce142c90fcdc36365433e02d75acadbaa3c
https://github.com/llvm/llvm-project/commit/0e08bce142c90fcdc36365433e02d75acadbaa3c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/serial.h
M libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/cpu_algos/any_of.h
A libcxx/include/__pstl/cpu_algos/fill.h
A libcxx/include/__pstl/cpu_algos/find_if.h
A libcxx/include/__pstl/cpu_algos/for_each.h
A libcxx/include/__pstl/cpu_algos/merge.h
A libcxx/include/__pstl/cpu_algos/stable_sort.h
A libcxx/include/__pstl/cpu_algos/transform.h
A libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++][pstl] Move the CPU algorithm implementations to __pstl (#89109)
This colocates the CPU algorithms closer to the rest of the PSTL
implementation details.
Commit: af7a82fdc717c9cbd1b77ff4168292098a1f6e8a
https://github.com/llvm/llvm-project/commit/af7a82fdc717c9cbd1b77ff4168292098a1f6e8a
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[NFC] Format code of parseArch() (#89152)
In preparation for a cleaner addition in a following PR.
Commit: 97c60d61d043e21da454226619a98bfb2f2194ee
https://github.com/llvm/llvm-project/commit/97c60d61d043e21da454226619a98bfb2f2194ee
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR][OpenMP] Check that omp.loop_nest represents at least one loop (#89082)
Commit: a66c09a96dec633c1172a02818859f71fbff4f45
https://github.com/llvm/llvm-project/commit/a66c09a96dec633c1172a02818859f71fbff4f45
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 0e08bce142c9
Commit: 73b255c9f824157064212d341a255a962e746fd4
https://github.com/llvm/llvm-project/commit/73b255c9f824157064212d341a255a962e746fd4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
Log Message:
-----------
[DAG] Ensure extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) is working on fixed vector types
#87925 failed to ensure we weren't removing the extracted subvector from a scalable vector type
Thanks to @antmox for the headsup.
Commit: e06fb82b40a42eaa6ed6c21b7dbe0fa4bd2443dc
https://github.com/llvm/llvm-project/commit/e06fb82b40a42eaa6ed6c21b7dbe0fa4bd2443dc
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] notify me about mlir python changes
Commit: 6d9ee88599f551be91938ed77fe66d2d6b01b550
https://github.com/llvm/llvm-project/commit/6d9ee88599f551be91938ed77fe66d2d6b01b550
Author: abidh <haqadeer at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
Log Message:
-----------
[flang] Rename AddDebugFoundation to AddDebugInfo (NFC) (#89191)
These changes were missed in PR #88526.
Commit: 743d090b96e09fe7c2cea60a8962f579684c37ce
https://github.com/llvm/llvm-project/commit/743d090b96e09fe7c2cea60a8962f579684c37ce
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/add_new_check.py
Log Message:
-----------
[clang-tidy] fix add_new_check.py regex (#89189)
Commit: e6ee191f968c1dc39410bcb0db3ee62f51c7d158
https://github.com/llvm/llvm-project/commit/e6ee191f968c1dc39410bcb0db3ee62f51c7d158
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
Log Message:
-----------
[RISCV] Add test case for CASE_VFMA_CHANGE_OPCODE_VV to handle MF4 pseudos (#88947)
The fix was committed in
https://github.com/llvm/llvm-project/commit/8cee94e989b5bf6fb6455087d48eb6c6e0e23c54.
This adds a test.
Commit: 16fed31f440ff7b194cb0f843e46339e28aa7982
https://github.com/llvm/llvm-project/commit/16fed31f440ff7b194cb0f843e46339e28aa7982
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/release-vgprs-dbg-loc.mir
Log Message:
-----------
[AMDGPU] Fix debug line table for MSG_DEALLOC_VGPRS optimization (#88924)
Deallocating VGPRs interferes with doing a context save, which is needed for GDB
to report a breakpoint. So, in this sequence:
s_sendmsg MSG_DEALLOC_VGPRS
s_endpgm
We now use the debug location of the s_endpgm for the s_sendmsg, so a breakpoint
set in the debugger at the end of a shader will be hit before deallocating VGPRs.
Commit: 73e7f2ff70e64defcc59f707a8d2463dd4c79be0
https://github.com/llvm/llvm-project/commit/73e7f2ff70e64defcc59f707a8d2463dd4c79be0
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
Log Message:
-----------
LoopVectorize: guard marking iv as scalar; fix bug (#88730)
When collecting loop scalars, LoopVectorize over-eagerly marks the
induction variable and its update as scalars after vectorization, even
if the induction variable update is a first-order recurrence. Guard the
process with this check, fixing a crash.
Fixes #72969.
Commit: 4c3514fa53cc39db5de4dbbca9a54977159f24e8
https://github.com/llvm/llvm-project/commit/4c3514fa53cc39db5de4dbbca9a54977159f24e8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] Fix a "!CodeSynthesisContexts.empty()" assertion failure when constructing aggregate deduction guides. (#89227)
We were missing to push an record to the instantiation stack in
`DeclareAggregateDeductionGuideForTypeAlias`. This patch fixes that.
Commit: c515c780244e3ecbb1fcfd06b3ad588d8d22c28e
https://github.com/llvm/llvm-project/commit/c515c780244e3ecbb1fcfd06b3ad588d8d22c28e
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-out-params.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
Log Message:
-----------
[mlir][Bufferization] castOrReallocMemRefValue: Use BufferizationOptions (#89175)
This allows to configure both the op used for allocation and copy of
memrefs.
It also changes the default behavior because the default allocation in
`BufferizationOptions` creates `memref.alloc` with `alignment = 64`
where we used to create `memref.alloca` without any alignment before.
Fixes
```
// TODO: Use alloc/memcpy callback from BufferizationOptions if called via
// BufferizableOpInterface impl of ToMemrefOp.
```
Commit: 8f07a67f9731dfcd490f8aaefac34d95f207b39c
https://github.com/llvm/llvm-project/commit/8f07a67f9731dfcd490f8aaefac34d95f207b39c
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/test/Driver/aix-toolchain-include.cpp
Log Message:
-----------
[clang][AIX] set OpenMP include path (#88545)
Add include directory for omp.h at `/opt/IBM/openxlCSDK/include/openmp`.
Commit: bc5536469d7854a043dbfe4c018e5b5dfc069d4f
https://github.com/llvm/llvm-project/commit/bc5536469d7854a043dbfe4c018e5b5dfc069d4f
Author: tomnatan30 <130450079+tomnatan30 at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/test/python/ir/operation.py
Log Message:
-----------
[mlir][python] Fix PyOperationBase::walk not catching exception in python callback (#89225)
If the python callback throws an error, the c++ code will throw a
py::error_already_set that needs to be caught and handled in the c++
code .
This change is inspired by the similar solution in
PySymbolTable::walkSymbolTables.
Commit: f981d860029411febac9200762dca47c1ef1af22
https://github.com/llvm/llvm-project/commit/f981d860029411febac9200762dca47c1ef1af22
Author: azhan92 <alisonxzhang at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/Driver/compress.c
Log Message:
-----------
XFAIL clang/Driver/test/compress.c on AIX (#87269)
This PR XFAIL's `clang/Driver/compress.c` on AIX since it requires the
LLVM integrated assembler / assembly parser support, which is not
available on AIX.
```
/home/jenkinsWorker/jenkins/workspace/LLVM-Release/release-testing-prototype/llvm/clang18.1.2-final/final/llvm-project/clang/test/Driver/compress.c:19:18: error: CHECK-OPT_GZ: expected string not found in input
// CHECK-OPT_GZ: "--compress-debug-sections=zlib"
```
Commit: 9c51f9b7362d25b8c49258fa636fb95aaa07463a
https://github.com/llvm/llvm-project/commit/9c51f9b7362d25b8c49258fa636fb95aaa07463a
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/Driver/response-file-errs.c
Log Message:
-----------
[AIX][NFC] Enable response-file-errs.c
The test was fixed by commit 678f19f08296fec299438130cf5943714c590b7e.
Commit: 7257c37357ee4540d6a63e5d2854b97f43ae2c49
https://github.com/llvm/llvm-project/commit/7257c37357ee4540d6a63e5d2854b97f43ae2c49
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaObjCXX/Inputs/nullability-consistency-smart.h
Log Message:
-----------
[clang] fix -Wnullability-completeness false-positive in dependent code (#88727)
The intent was that smart-pointers do not participate in completeness
checks, but we failed to capture dependent `unique_ptr<T>`, which is not
a RecordType but a TemplateSpecializationType.
Commit: 353322f61db41392c56dd9204e912199b5250e78
https://github.com/llvm/llvm-project/commit/353322f61db41392c56dd9204e912199b5250e78
Author: bcahoon <59846893+bcahoon at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
A llvm/test/CodeGen/AMDGPU/sgpr-spills-empty-prolog-block.mir
Log Message:
-----------
[AMDGPU] Fix end() iterator dereference in SILowerSGPRSpills (#88828)
Commit: 4c18681a2d5a5738233fce9d7746b968d4b4ab76
https://github.com/llvm/llvm-project/commit/4c18681a2d5a5738233fce9d7746b968d4b4ab76
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/DylibVerifier.cpp
A clang/test/InstallAPI/alias_list.test
M clang/test/InstallAPI/mismatching-objc-class-symbols.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[InstallAPI] Add support for aliased exports (#88750)
Apple's ld supports alias_lists, described as
```
-alias_list filename
The specified filename contains a list of aliases. The symbol name and its alias are on one
line, separated by whitespace. Lines starting with # are ignored.
```
To handle this for installapi-produced TBD files, pass along the same
input and account for it in verification.
Commit: a1e7c83af11ee111994ec19029494e6e9ea97dbd
https://github.com/llvm/llvm-project/commit/a1e7c83af11ee111994ec19029494e6e9ea97dbd
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Log Message:
-----------
[lldb] Disable break at _dl_debug_state test on arm
Commit: 44c876f9e0a0dd6c3a5eb65bb49c2e2661ab02e0
https://github.com/llvm/llvm-project/commit/44c876f9e0a0dd6c3a5eb65bb49c2e2661ab02e0
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Add EmitC lowering for arith.cmpi (#88700)
Commit: 2cdbc9cff3b7ef262c45e749f0a942343a19808a
https://github.com/llvm/llvm-project/commit/2cdbc9cff3b7ef262c45e749f0a942343a19808a
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
Log Message:
-----------
[clangd] Use TargetOpts from preamble when building ASTs (#88381)
Building ASTs with compile flags that are incompatible to the ones used
for the Preamble are not really supported by clang and can trigger
crashes.
In an ideal world, we should be re-using not only TargetOpts, but the
full ParseInputs from the Preamble to prevent such failures.
Unfortunately current contracts of ThreadSafeFS makes this a non-safe
change for certain implementations. As there are no guarantees that the
same ThreadSafeFS is going to be valid in the Context::current() we're
building the AST in.
Commit: cd0c94bb8558b6e26313694da18006a840521903
https://github.com/llvm/llvm-project/commit/cd0c94bb8558b6e26313694da18006a840521903
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
A llvm/test/MC/RISCV/rv64e-zcmp-valid.s
Log Message:
-----------
[RISCV] Remove IsEABI from RISCVZC::getStackAdjBase. (#89177)
The usage of IsEABI was only valid for RV32E. For RV64E, the stack
adjust
base needs to be 32 when ra,s0-s1 are being saved. Since it takes more
than 16 bytes to save 3 64-bit registers.
The spec lists the rv32e behavior explicitly, but not rv64e. My
assumption is that the only thing that changes with rv64e is which
registers can be used in the register list, but not how the register
list affects the stack_adj_base.
Commit: acd736e3e1e7b8a20e28ed17fb59595ce1e670bb
https://github.com/llvm/llvm-project/commit/acd736e3e1e7b8a20e28ed17fb59595ce1e670bb
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
Log Message:
-----------
[clangd] Propagate context into stdlib indexing thread (#87611)
Some FS implementations rely on snapshots available in the context.
Commit: fdce6c80bc92c9668b3835264806fa85b8a93ab7
https://github.com/llvm/llvm-project/commit/fdce6c80bc92c9668b3835264806fa85b8a93ab7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/atomicrmw.ll
Log Message:
-----------
InstCombine: Fix typo in atomicrmw or test
This was copy-paste from the identical add test, and
didn't change to test the or from the name.
Commit: 9606716be3de067d4402957810fb05d5eee77349
https://github.com/llvm/llvm-project/commit/9606716be3de067d4402957810fb05d5eee77349
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
Log Message:
-----------
AMDGPU: Fix typo in test function names
Commit: d3993ac1890731d2b24543646961c95680788207
https://github.com/llvm/llvm-project/commit/d3993ac1890731d2b24543646961c95680788207
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Log Message:
-----------
[lldb][test] Correctly fix break at _dl_debug_state test on arm.
If lldb finds the dynamic linker in the search path or if the binary is linked staticlly, it will fail at `lldbutil.run_break_set_by_symbol` because the breakpoint is resolved. Otherwise, it's not resolved at this point. But we don't care if it's resolved or not. This test cares about if the breakpoint is hit or not after launching.
This changes the num_expected_locations to -2, which means don't assert on if this breakpoint resolved or not.
Commit: af0b69f27dd9aa9c4609b413d502114218a6990c
https://github.com/llvm/llvm-project/commit/af0b69f27dd9aa9c4609b413d502114218a6990c
Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
Log Message:
-----------
[AMDGPU] Support wide register or subregister access when emitting s_singleuse_vdst instructions. (#88520)
Both single use producer and consumer instructions using wide/sub
registers are now correctly tracked and eligible for being marked as
single use.
Commit: 8a21d59f29ef8d6011c6defa05ff7e8b7decc6d2
https://github.com/llvm/llvm-project/commit/8a21d59f29ef8d6011c6defa05ff7e8b7decc6d2
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/local_info.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/chrono
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/modules/std/chrono.inc
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
A libcxx/test/std/time/time.syn/formatter.local_info.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info,members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
Log Message:
-----------
[libc++][TZDB] Adds local_info formatter. (#86256)
This adds the local_info type and its formatting options.
The usage of the local_info object will be done in separate patches.
Implements parts of:
- P0355 Extending to Calendars and Time Zones
- P1361 Integration of chrono with text formatting
Commit: d8a26ca323977035969813b0e1e9fb54fd334620
https://github.com/llvm/llvm-project/commit/d8a26ca323977035969813b0e1e9fb54fd334620
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/KnownBits.h
M llvm/lib/Support/KnownBits.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Make abdu and abds optimal (#89081)
Fixes #84212
Commit: ba1158813d4656585c7e345747bc4db4e3f03b9d
https://github.com/llvm/llvm-project/commit/ba1158813d4656585c7e345747bc4db4e3f03b9d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/pr88966.ll
Log Message:
-----------
[DAGCombiner][AArch64] Make combineCarryDiamond avoid creating UADDO_CARRY with carry in larger than setcc result type. (#89121)
In the attach test case we were creating a UADDO_CARRY with i1 carry out
and i41 carry in. i41 exceeds is larger than the setcc result type for
AArch64 which is i32. i41 needs to be promoted to i64 since it is larger
than i32. The type legalizer tried to use promoteTargetBoolean, but that
can only promote from a type smaller than setcc result type.
The easiest fix here is to force the carryin type to match the carryout
type at the type of creation. This should ensure the node won't exceeed
setcc result type as long as the output type doesn't.
I think we should explore requiring the types to match for this node.
Fixes #88966
Commit: b41179d26568acbc7ba7456052029200c2146547
https://github.com/llvm/llvm-project/commit/b41179d26568acbc7ba7456052029200c2146547
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 8a21d59f29ef
Commit: 8fa1cbbbb94100ae356665062f88ab58f9f2738c
https://github.com/llvm/llvm-project/commit/8fa1cbbbb94100ae356665062f88ab58f9f2738c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/gfni-shifts.ll
Log Message:
-----------
[X86] gfni-shifts.ll - add vXi8 variable/splat/constant test coverage
Once #89115 has landed, we can handle per-element shifts as well using (V)GF2P8MULB
Commit: efbb846f067a60a5fdad1c4a008274c5cb089a3d
https://github.com/llvm/llvm-project/commit/efbb846f067a60a5fdad1c4a008274c5cb089a3d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/gfni-rotates.ll
Log Message:
-----------
[X86] gfni-rotates.ll - add vXi8 variable/splat/constant test coverage
Once #89115 has landed, we can handle per-element rotates as well using (V)GF2P8MULB
Commit: 254cdcddd65efe3c045d49853239932ab07121d5
https://github.com/llvm/llvm-project/commit/254cdcddd65efe3c045d49853239932ab07121d5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/combine-ptest.ll
M llvm/test/CodeGen/X86/combine-testpd.ll
M llvm/test/CodeGen/X86/combine-testps.ll
M llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
Log Message:
-----------
[X86] ptest is commutable as long as only the Z flag is used. (#88969)
Fixes #88958.
Commit: 215eee60497489ae0cc7cc78c0d8b8270e057a70
https://github.com/llvm/llvm-project/commit/215eee60497489ae0cc7cc78c0d8b8270e057a70
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
Revert "[flang][build] Fixed paths discrovery for the out-of-tree build. (#87822)"
This reverts commit 920298456037b9ed3ab14cb646ef6d3bf95d2c2b.
Commit: 6870ac201f9f50a13313213fea7a14b198d7280a
https://github.com/llvm/llvm-project/commit/6870ac201f9f50a13313213fea7a14b198d7280a
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
A lldb/test/API/tools/lldb-dap/save-core/Makefile
A lldb/test/API/tools/lldb-dap/save-core/TestDAP_save_core.py
A lldb/test/API/tools/lldb-dap/save-core/main.cpp
Log Message:
-----------
Fix saving minidump from lldb-dap (#89113)
There are users reporting saving minidump from lldb-dap does not work.
Turns out our stack trace request always evaluate a function call which
caused JIT object file like "__lldb_caller_function" to be created which
can fail minidump builder to get its module size.
This patch fixes "getModuleFileSize" for ObjectFileJIT so that module
list can be saved. I decided to create a lldb-dap test so that this
end-to-end functionality can be validated from our tests (instead of
only command line lldb).
The patch also improves several other small things in the workflow:
1. It logs any minidump stream failure so that it is easier to find out
what stream saving fails. In future, we should show process and error to
end users.
2. It handles error from "getModuleFileSize" llvm::Expected<T> otherwise
it will complain the error is not handled.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 24da7fa029f999c0faf5c90de351237a273f385f
https://github.com/llvm/llvm-project/commit/24da7fa029f999c0faf5c90de351237a273f385f
Author: Bharathi Ramana Joshi <joshibharathiramana at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
M mlir/include/mlir/Dialect/Affine/Analysis/AffineStructures.h
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/lib/Analysis/Presburger/PresburgerSpace.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
M mlir/unittests/Analysis/Presburger/PresburgerSpaceTest.cpp
Log Message:
-----------
[MLIR][Presburger] Use Identifiers outside Presburger library (#77316)
The pull request includes the following changes.
1. Refactors the interface to `PresburgerSpace::identifiers` to `setId` and a
const `getId`, instead of previous `getId` which returned a mutable
reference. `resetIds` does not need to be called to use identifiers, `setId`
calls `resetIds` if identifiers are not enabled.
2. Deprecates `FlatAffineRelation` by refactoring all usages of
`FlatAffineRelation` to `IntegerRelation`. To achieve this,
`FlatAffineRelation::compose` is refactored into
`IntegerRelation::mergeAndCompose`.
3. Deletes unneeded overrides of virtual functions `hasConsistentState`,
`clearAndCopyFrom` and `fourierMotzkinEliminate` from
`FlatLinearValueConstraints` as these were only used through
`FlatAffineRelation` and we now use `IntegerRelation`'s member functions
instead.
4. Fixes an existing bug in FlatLinearValueConstraints' constructor
which caused
identifiers set by superclass FlatLinearConstraints' constructor to be
erased.
5. Fixes `IntegerRelation::convertVarKind` not preserving identifiers.
Commit: c37c472597d30a313c06bf55c72eaabdaf1ed65a
https://github.com/llvm/llvm-project/commit/c37c472597d30a313c06bf55c72eaabdaf1ed65a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AVR/AVRISelLowering.cpp
Log Message:
-----------
[AVR] Let ArrayRef infer the array size (NFC) (#88638)
Commit: 468107904098e0b5d32db710db80907befde614e
https://github.com/llvm/llvm-project/commit/468107904098e0b5d32db710db80907befde614e
Author: Fred Grim <fgrim at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/include/lldb/Utility/ProcessInfo.h
M lldb/source/Host/linux/Host.cpp
M lldb/unittests/Host/linux/HostTest.cpp
Log Message:
-----------
adds additional information to the ProcessInfo object for elf processes (#88995)
This adds some additional bits into a ProcessInfo structure that will be
of use in filling structs in an elf core file. This is a demand for
implementing process save-core
Commit: d556ed5b4a02bc61a595fbd903d8c9b4116dd926
https://github.com/llvm/llvm-project/commit/d556ed5b4a02bc61a595fbd903d8c9b4116dd926
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
Log Message:
-----------
[X86] Add GFNI test coverage without AVX512BW
512-bit GFNI doesn't require AVX512BW
Commit: ee0284ec1027b2917afac3da5322553d0f85a759
https://github.com/llvm/llvm-project/commit/ee0284ec1027b2917afac3da5322553d0f85a759
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[TOSA] FFT2D/RFFT2D accuracy increased (#88510)
This PR increases accurasy of FFT2D/RFFT2D calculation by removing
periodic part of sin/cos
Commit: df7eb202ce432ec5f683f673b04878d6e1314d24
https://github.com/llvm/llvm-project/commit/df7eb202ce432ec5f683f673b04878d6e1314d24
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect final analysis for unsigned nodes, being used in signed nodes.
Commit: 992413de99588a60920f934de07d703efb432ade
https://github.com/llvm/llvm-project/commit/992413de99588a60920f934de07d703efb432ade
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP] Move clause/object conversion to happen early, in genOMP (#87086)
This removes the last use of genOmpObjectList2, which has now been
removed.
---------
Co-authored-by: Sergio Afonso <safonsof at amd.com>
Commit: 33786b62bae4cec1c921f7c017aa6cdc644ced39
https://github.com/llvm/llvm-project/commit/33786b62bae4cec1c921f7c017aa6cdc644ced39
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/utils/update_any_test_checks.py
Log Message:
-----------
Make update_any_test_check.py script accepting @listfile CL argument. (#86800)
Usage: `update_any_test_check.py @my_list_of_tests`
where my_list_of_tests is a file containing list of tests to update.
Commit: 74e07ab523122d6a8347b25770062ab331b6bb84
https://github.com/llvm/llvm-project/commit/74e07ab523122d6a8347b25770062ab331b6bb84
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
Log Message:
-----------
[SLP]Fix final analysis for unsigned nodes.
Need to check that at least single bit is cleared for unsigned nodes
before reducing their size. Otherwise they might be treated as signed in
signed nodes.
Commit: 98427264cab558d285c7222f1f25b904124c6b93
https://github.com/llvm/llvm-project/commit/98427264cab558d285c7222f1f25b904124c6b93
Author: Fred Grim <fgrim at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/unittests/Host/linux/HostTest.cpp
Log Message:
-----------
this test is flakey on arm in linux because I got too clever (#89267)
the assembly jazz doesn't work on arm. oops
Commit: eb989f625ee0e47ffa4343abe11b6afa9f3b2e69
https://github.com/llvm/llvm-project/commit/eb989f625ee0e47ffa4343abe11b6afa9f3b2e69
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/image/sampler.ll
Log Message:
-----------
[SPIR-V] Fix return type when sampling an image with OpImageSampleExplicitLod (#89252)
This PR fixes parsing of builtins return types in general and fixes
return type when sampling an image with OpImageSampleExplicitLod in
particular.
Commit: e9654880df9b30af11816782a83ebf960536309c
https://github.com/llvm/llvm-project/commit/e9654880df9b30af11816782a83ebf960536309c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
R libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info,members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
Log Message:
-----------
[NFC][libc++][chrono] Renames a file.
This uses a period instead of a comma; the latter was a typo.
Commit: 68e814d9114b6c8910642298714dad6fa79ccad2
https://github.com/llvm/llvm-project/commit/68e814d9114b6c8910642298714dad6fa79ccad2
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/lib/MC/MCDisassembler/MCDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
A llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-errors.test
A llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-rsrc-errors.test
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[AMDGPU] Add disassembler diagnostics for invalid kernel descriptors (#87400)
These mostly are checking for various reserved bits being set. The diagnostics
for gpu-dependent reserved bits have a bit more context since they seem like the
most likely ones to be observed in practice.
This commit also improves the error handling mechanism for
MCDisassembler::onSymbolStart(). Previously it had a comment stream parameter
that was just being ignored by llvm-objdump, now it returns errors using
Expected<T>.
Commit: 44713f15f9116a83f168f420ebddc6ae061883c0
https://github.com/llvm/llvm-project/commit/44713f15f9116a83f168f420ebddc6ae061883c0
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
Log Message:
-----------
[AMDGPU][MC] Separate VOPC MnemonicAlias from Instruction (#89105)
Tablegen classes MnemonicAlias, Requires, and VOPC_Real, all define a
field 'Predicates'. The prior formulation resulted in the instantiated
record inheriting from all three to only have the Predicate set in
Requires, i.e. Gen.AssemblerPredicate. This breaks the design of
GCNPredicateControl (which is a parent class of VOPC_Real) that allows
multiple predicates such as SubtargetPredicate and OtherPredicates to be
set on an Instruction.
MnemonicAlias does not need to be defined in the same record as
VOPC_Real, so we can separate the definitions and remove Requires to
avoid the issue.
NFCI, but it enables future changes, such as setting multiple predicates
on a VOPC_Real.
Commit: c577f91d266b74d1b5df475fa2dce7c47fc6c57e
https://github.com/llvm/llvm-project/commit/c577f91d266b74d1b5df475fa2dce7c47fc6c57e
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Add support for linearizing Extract, ExtractStridedSlice, Shuffle VectorOps in VectorLinearize (#88204)
This PR adds support for converting `vector.extract_strided_slice` and
`vector.extract` operations to equivalent `vector.shuffle` operations
that operates on linearized (1-D) vectors. `vector.shuffle` operations
operating on n-D (n > 1) are also converted to equivalent shuffle
operations working on linearized vectors.
Commit: 0e5c28d1930e7210f0f293312382c54d298dda06
https://github.com/llvm/llvm-project/commit/0e5c28d1930e7210f0f293312382c54d298dda06
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/cmake/caches/Fuchsia.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/CMakeLists.txt
M lldb/use_lldb_suite_root.py
M lldb/utils/lldb-dotest/CMakeLists.txt
M lldb/utils/lldb-dotest/lldb-dotest.in
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[lldb][test] Remove LLDB_TEST_USE_VENDOR_PACKAGES (#89260)
The `LLDB_TEST_USE_VENDOR_PACKAGES` has defaulted to `Off` for a while.
Either installing `pexpect` or skipping those tests with
`-DLLDB_TEST_USER_ARGS=--skip-category=pexpect` seems to be enough that
we can fully remove this option.
This patch removes the `LLDB_TEST_USE_VENDOR_PACKAGES` cmake
configuration as well as the associated code to add
`third_party/Python/module` to the python path. I'll do the actual
deletion of `third_party/Python/module` in a followup PR in the
(unlikely, I hope) event this commit needs to be reverted.
Commit: 22ed10d11e3ed5179e21a59cfa78b8318d1e1665
https://github.com/llvm/llvm-project/commit/22ed10d11e3ed5179e21a59cfa78b8318d1e1665
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dep after ee0284ec1027
Commit: 947b656add053a8c9a36cab27b5c6e8eb9c426f7
https://github.com/llvm/llvm-project/commit/947b656add053a8c9a36cab27b5c6e8eb9c426f7
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
Log Message:
-----------
[PGO] Check that PGOOpt exists before using PGOOpt->ColdOptType (#89139)
This means that the pass is unusable without some sort of profile. We
can revisit this decision later if we want to support running this pass
without a profile.
Commit: b3383d77693b1ea0fc622112b2c4b2e6719b3811
https://github.com/llvm/llvm-project/commit/b3383d77693b1ea0fc622112b2c4b2e6719b3811
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[MLIR][NVVM] Fix a typo in barrier.arrive Op (#89273)
Commit: a71c1b34525c836ab8fbefe4cc3029699ac208a4
https://github.com/llvm/llvm-project/commit/a71c1b34525c836ab8fbefe4cc3029699ac208a4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove unused HasStdExtZama16b Predicate. NFC
Commit: 2a3a79ce4c2149d7787d56f9841b66cacc9061d0
https://github.com/llvm/llvm-project/commit/2a3a79ce4c2149d7787d56f9841b66cacc9061d0
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/MachO/ICF.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/MapFile.cpp
M lld/MachO/MarkLive.cpp
M lld/MachO/ObjC.cpp
M lld/MachO/Relocations.cpp
M lld/MachO/SectionPriorities.cpp
M lld/MachO/SymbolTable.cpp
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
M lld/MachO/Writer.cpp
Log Message:
-----------
[lld-macho][NFC] Preserve original symbol isec, unwindEntry and size (#88357)
Currently, when moving symbols from one `InputSection` to another (like
in ICF) we directly update the symbol's `isec`, `unwindEntry` and
`size`. By doing this we lose the original information. This information
will be needed in a future change. Since when moving symbols we always
set the symbol's `wasCoalesced` and `isec-> replacement`, we can just
use this info to conditionally get the information we need at access
time.
Commit: 515269b0ac0e061731eb5546c44083bf771db4d8
https://github.com/llvm/llvm-project/commit/515269b0ac0e061731eb5546c44083bf771db4d8
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/InstallAPI/binary-attributes.test
M clang/test/InstallAPI/rpath.test
Log Message:
-----------
[InstallAPI][Tests] Update tests to be resilient to reversion iteration config (#89270)
Commit: 22c26fa13d46e174e3d862e5f40cff06d804af0c
https://github.com/llvm/llvm-project/commit/22c26fa13d46e174e3d862e5f40cff06d804af0c
Author: Anthony Ha <anthonyha96 at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Target/Platform.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Log Message:
-----------
[lldb] Skip remote PutFile when MD5 hashes equal (#88812)
This PR adds a check within `PutFile` to exit early when both local and
destination files have matching MD5 hashes. If they differ, or there is
trouble getting the hashes, the regular code path to put the file is
run.
As I needed this to talk to an `lldb-server` which runs the gdb-remote
protocol, I enabled `CalculateMD5` within `Platform/gdb-server` and also
found and fixed a parsing bug within it as well. Before this PR, the
client is incorrectly parsing the response packet containing the
checksum; after this PR, hopefully this is fixed. There is a test for
the parsing behavior included in this PR.
---------
Co-authored-by: Anthony Ha <antha at microsoft.com>
Commit: 2a2e21cd2bc4db9ec579d1c53bd11fc4bb0e7714
https://github.com/llvm/llvm-project/commit/2a2e21cd2bc4db9ec579d1c53bd11fc4bb0e7714
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/docs/dev/config_options.rst
Log Message:
-----------
[libc][docs] adds highlighting languages to `docs/dev/config_options.rst` (#89136)
Fixes #89135.
Commit: bd0f818d6303b87314755f026742197fd3b2bae2
https://github.com/llvm/llvm-project/commit/bd0f818d6303b87314755f026742197fd3b2bae2
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/docs/index.rst
A libc/docs/threads.rst
A libc/utils/docgen/threads.json
Log Message:
-----------
[libc][docs] adds threads.h impl status docs (#89275)
Closes #88067.
Adding @nickdesaulniers for review.
Commit: 8ba0041e158f8678e829c10efa73397afdba6b4f
https://github.com/llvm/llvm-project/commit/8ba0041e158f8678e829c10efa73397afdba6b4f
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/explicit.cpp
Log Message:
-----------
Stop double-diagnosing explicit convert operator in switch condition (#89142)
Note this also likely fixes a bunch of other cases. We were
double-diagnosting in a template because we were generating the
expression anyway, so any attempts to instantiate the function would
instantiate the expression, thus re-diagnosing it.
This patch replaces it with a RecoveryExpr. Additionally,
VerifyIntegerConstantExpression couldn't handle the RecoveryExpr, as it
requires a non-dependent expression result (which a RecoveryExpr is
dependent). Additionally, callers of it use the return value to decide
that VerifyIntegerConstantExpression succeeded, so it fails if it sees a
RecoveryExpr.
Commit: 76600aee9d7c851d3e26eed7496cec880bd53861
https://github.com/llvm/llvm-project/commit/76600aee9d7c851d3e26eed7496cec880bd53861
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'num_workers' clause for compute constructs (#89151)
This clause just takes an 'int expr', which is not optional. This patch
implements the clause on compute constructs.
Commit: e772a268ef75332b72dd9b9ca0341a6af8b0db72
https://github.com/llvm/llvm-project/commit/e772a268ef75332b72dd9b9ca0341a6af8b0db72
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGenCXX/debug-info-alias.cpp
A clang/test/CodeGenCXX/defaulted-template-alias.cpp
A clang/test/CodeGenCXX/template-alias.cpp
A clang/test/CodeGenCXX/variadic-template-alias.cpp
M clang/test/Driver/debug-options.c
Log Message:
-----------
[Clang] Emit DW_TAG_template_alias for template aliases (#87623)
Fix issue https://github.com/llvm/llvm-project/issues/54624
Add front end flags -gtemplate-alias (also a cc1 flag) and -gno-template-alias
to enable/disable usage of the feature. It's enabled by default in the front
end for SCE debugger tuning only.
GCC emits DW_TAG_typedef for template aliases (as does Clang with this feature
disabled), and GDB and LLDB appear not to support DW_TAG_template_alias.
The -Xclang option -gsimple-template-names=mangled is treated the same as
=full, which is not a regression from current behaviour for template
aliases.
The current implementation omits defaulted arguments and as a consequence
also omits empty parameter packs that come after defaulted arguments. Again,
this isn't a regression as the DW_TAG_typedef name doesn't contain defaulted
arguments.
LLVM support added in https://github.com/llvm/llvm-project/pull/88943
Added template-alias.cpp - Check the metadata construction & interaction with
-gsimple-template-names.
Added variadic-template-alias.cpp - Check template parameter packs work.
Added defaulted-template-alias.cpp - Check defaulted args (don't) work.
Modified debug-options.c - Check Clang generates correct cc1 flags.
Commit: 67669eada3eac53bb88574988dc82f582c2dc9cc
https://github.com/llvm/llvm-project/commit/67669eada3eac53bb88574988dc82f582c2dc9cc
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/utils/docgen/fenv.json
M libc/utils/docgen/signal.json
M libc/utils/docgen/stdbit.json
Log Message:
-----------
[libc][docs] Updates implementation status for some preexisting docgen json files (#89281)
Moving towards displaying impl status of standard header macros. The macros
aren't handled by docgen yet, so I haven't included updated rst files.
Commit: b8adf169bb86f8226978e1262443e2ffd94298ce
https://github.com/llvm/llvm-project/commit/b8adf169bb86f8226978e1262443e2ffd94298ce
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'vector_length' clause On compute constructs
The 'vector_length' clause is semantically identical to the
'num_workers' clause, in that it takes a mandatory single int-expr. This
is implemented identically to it.
Commit: b8de7cf6588ebc95e33a0e4a5b4254a94df60e4e
https://github.com/llvm/llvm-project/commit/b8de7cf6588ebc95e33a0e4a5b4254a94df60e4e
Author: Michael Jones <michaelrj at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/src/unistd/linux/pipe.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] unpoison memory returned by pipe syscall (#88942)
The memory sanitizer doesn't recognize the results of the pipe syscall
as being initialized. This patch manually unpoisons that memory.
Commit: 7aad1ee70f2c6be603707ff52a13e0e22330e859
https://github.com/llvm/llvm-project/commit/7aad1ee70f2c6be603707ff52a13e0e22330e859
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/docs/contributing.rst
Log Message:
-----------
[libc][docs] link to good beginner bugs (#89297)
Tagging bugs as "good first issue" and taking the time to work with new
contributors pays dividends.
Commit: 172f6ddfa7662a36e3a41db6bb944f7d72fd0b00
https://github.com/llvm/llvm-project/commit/172f6ddfa7662a36e3a41db6bb944f7d72fd0b00
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/tools/llvm-profdata/memprof-merge-v0.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[memprof] Add Version2 of the indexed MemProf format (#89100)
This patch adds Version2 of the indexed MemProf format. The new
format comes with a hash table from CallStackId to actual call stacks
llvm::SmallVector<FrameId>. The rest of the format refers to call
stacks with CallStackId. This "values + references" model effectively
deduplicates call stacks. Without this patch, a large indexed memprof
file of mine shrinks from 4.4GB to 1.6GB, a 64% reduction.
This patch does not make Version2 generally available yet as I am
planning to make a few more changes to the format.
Commit: 6e6da74c8b936e457ca5e56a828823ae6a9f9066
https://github.com/llvm/llvm-project/commit/6e6da74c8b936e457ca5e56a828823ae6a9f9066
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/GPU.h
A mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/CAPI/Dialect/GPU.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/gpu/__init__.py
M mlir/test/python/dialects/gpu/dialect.py
M mlir/test/python/dialects/gpu/module-to-binary-nvvm.py
Log Message:
-----------
[mlir][python] add binding to `#gpu.object` (#88992)
Commit: 16711b431b843dd2143d38fdf6b0591dfb1783e0
https://github.com/llvm/llvm-project/commit/16711b431b843dd2143d38fdf6b0591dfb1783e0
Author: cmtice <cmtice at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/DWARF.cpp
M lld/ELF/DWARF.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/ELF/Inputs/debug-names-a.s
A lld/test/ELF/Inputs/debug-names-b.s
A lld/test/ELF/debug-names-bad.s
A lld/test/ELF/debug-names-die-offset-form-flag-present.s
A lld/test/ELF/debug-names-different-aug-string.s
A lld/test/ELF/debug-names-dwarf64.s
A lld/test/ELF/debug-names-missing-parent.s
A lld/test/ELF/debug-names-multi-cus.s
A lld/test/ELF/debug-names-nonames.s
A lld/test/ELF/debug-names-parent-idx.s
A lld/test/ELF/debug-names-type-units.s
A lld/test/ELF/debug-names.s
M lld/test/ELF/driver.test
A lld/test/ELF/ppc32-debug-names.s
Log Message:
-----------
[lld][ELF] Add --debug-names to create merged .debug_names. (#86508)
`clang -g -gpubnames` (with optional -gsplit-dwarf) creates the
`.debug_names` section ("per-CU" index). By default lld concatenates
input `.debug_names` sections into an output `.debug_names` section.
LLDB can consume the concatenated section but the lookup performance is
not good.
This patch adds --debug-names to create a per-module index by combining
the per-CU indexes into a single index that covers the entire load
module. The produced `.debug_names` is a replacement for `.gdb_index`.
Type units (-fdebug-types-section) are not handled yet.
Co-authored-by: Fangrui Song <i at maskray.me>
---------
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: 78eb2c2cba5ad0f9a36ec1959371527313a76bbe
https://github.com/llvm/llvm-project/commit/78eb2c2cba5ad0f9a36ec1959371527313a76bbe
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
Log Message:
-----------
[clang] Preserve argument type in round pointer to alignment
Commit: 8b24028a7e2130cb79d40da58c9738400b20465b
https://github.com/llvm/llvm-project/commit/8b24028a7e2130cb79d40da58c9738400b20465b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Use structured binding (NFC) (#89315)
Commit: 446371f5ccbd81aa7707b4f1a1baa0ea0955dc67
https://github.com/llvm/llvm-project/commit/446371f5ccbd81aa7707b4f1a1baa0ea0955dc67
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[memprof] Use std::optional (NFC) (#89317)
This is partly for readability and partly for consistency with other
id-to-frame callbacks.
Commit: 0dcabba9a7c5e1f72eca106ccb61a51b571ebb2a
https://github.com/llvm/llvm-project/commit/0dcabba9a7c5e1f72eca106ccb61a51b571ebb2a
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] fix llvm:support dependency error for CAPIGPU
Commit: a2face49ac7ba49736ca47f5e5dd7fa636b5defa
https://github.com/llvm/llvm-project/commit/a2face49ac7ba49736ca47f5e5dd7fa636b5defa
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DXIL] Add DXIL SubArch to correspond to version number (#89125)
This change is in line with similar notation in SPIRV.
Decoupling version numbering of DXIL and of Shader Model is intended to
enable accurate specification of DXIL features that can be targeted by
different Shader Model versions.
Commit: 39bfdb7f33f7f53ab662c5cea25129c45a9b4c11
https://github.com/llvm/llvm-project/commit/39bfdb7f33f7f53ab662c5cea25129c45a9b4c11
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
Log Message:
-----------
[GlobalOpt] Precommit tests for PR84694 (#87443)
PR link: https://github.com/llvm/llvm-project/pull/84694
Commit: 2132ebf0fe883a76ee29ad7c639e9f2a77704830
https://github.com/llvm/llvm-project/commit/2132ebf0fe883a76ee29ad7c639e9f2a77704830
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/Properties.td
Log Message:
-----------
[mlir] Add def to `Properties.td` to help with enum properties (#89311)
This is useful for defining operation properties that are enums.
Commit: 0c41eea4742a05e68a2612f00baf5aa53c4c0d94
https://github.com/llvm/llvm-project/commit/0c41eea4742a05e68a2612f00baf5aa53c4c0d94
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
[mlir][llvm] Port `overflowFlags` to a native operation property (#89312)
This PR changes the LLVM dialect's IntegerOverflowFlags to be stored on
operations as native properties.
Commit: 7154a3967eae3817b3bc33a1b55085b397d1bc24
https://github.com/llvm/llvm-project/commit/7154a3967eae3817b3bc33a1b55085b397d1bc24
Author: Alex Langford <alangford at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/include/lldb/Core/Disassembler.h
M lldb/source/Core/Disassembler.cpp
Log Message:
-----------
[lldb][nfc] Remove unused member Disassembler::m_base_addr (#89289)
This member variable is completely unused. I also don't think it makes a
ton of sense since (1) The "base address" can be obtained from the first
Instruction in its InstructionList, and (2) InstructionLists may not be
a series of contiguous instructions (even though they are most of the
time).
Commit: 8fb7ddf75fbfc62a91fa163ffb6333edcffab99a
https://github.com/llvm/llvm-project/commit/8fb7ddf75fbfc62a91fa163ffb6333edcffab99a
Author: Will Dietz <will.dietz at sifive.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/CMakeLists.txt
Log Message:
-----------
[Tosa] TosaToLinalg: link in Index dialect (#89318)
This is needed now that this depends on it:
ee0284ec1027b2917afac3da5322553d0f85a759
Co-authored-by: Will Dietz <w at wdtz.org>
Commit: 23d88a825bf46922333a78dc0ea431b9e54e48c2
https://github.com/llvm/llvm-project/commit/23d88a825bf46922333a78dc0ea431b9e54e48c2
Author: Fred Grim <fgrim at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/BinaryFormat/ELF.cpp
Log Message:
-----------
adds conversion functions for EI_OSABI in elf (#89280)
These are needed to populate elf headers in core files. This is part of
implementing process save-core in lldb
Commit: 8c212a3f41e2414cbdea274fd5fd4188893df72c
https://github.com/llvm/llvm-project/commit/8c212a3f41e2414cbdea274fd5fd4188893df72c
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir][python] allow passing in PYTHONPATH to lit tests (#89296)
Commit: ab0b865d31ed0f2c40bd148ad709850dc10728de
https://github.com/llvm/llvm-project/commit/ab0b865d31ed0f2c40bd148ad709850dc10728de
Author: Thurston Dang <thurston at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll
Log Message:
-----------
[hwasan] Add testcase for check-memaccess when using a fixed shadow (#89328)
The test case is based on hwasan-check-memaccess.ll (albeit updated
using update_llc_test_checks) with --hwasan-mapping-offset=...
--hwasan-mapping-offset=... actually doesn't affect the LLVM IR at the
moment; future work will introduce memaccess fixed shadow intrinsics.
(https://github.com/llvm/llvm-project/pull/89319)
Commit: 6b3893690b37d6e85cabfd144eca9a738e3baf9b
https://github.com/llvm/llvm-project/commit/6b3893690b37d6e85cabfd144eca9a738e3baf9b
Author: jimingham <jingham at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Log Message:
-----------
Check for null oso SymbolFile in SymbolFileDwarfDebugMap::ResolveSymbolContext (#89324)
The couple other places that use the oso module's SymbolFile, they check
that it's non-null, so this is just an oversight in
ResolveSymbolContext.
I didn't add a test for this (but did add a log message for the error
case) because I can't see how this would actually happen. The .o file
had to have valid enough DWARF that the linker's parser could handle it
or it would not be in the debug map. If you delete the .o file, we just
leave that entry out of the debug map. If you strip it or otherwise mess
with it, we'll notice the changed mod time and refuse to read it...
This was based on a report from the field, and we don't have access to
the project. But if the logging tells me how this happened I can come
back and add a test with that example.
Commit: 55d4a8929711c9fc68a460bafa3a63e4a90ac9c1
https://github.com/llvm/llvm-project/commit/55d4a8929711c9fc68a460bafa3a63e4a90ac9c1
Author: Michael Jones <michaelrj at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
Log Message:
-----------
[libc] fix FEnvImpl not using the proxy header (#89303)
In the recent fenv.h header cleanup, two FEnvImpl.h files were missed,
causing build issues. This patch fixes that.
Commit: 2b2c4a84651787faaa223b7c1b206e3a805bc10c
https://github.com/llvm/llvm-project/commit/2b2c4a84651787faaa223b7c1b206e3a805bc10c
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/test/ELF/debug-names-bad.s
Log Message:
-----------
[ELF,test] Make debug-names-bad.s Linux only because of GNU sed extension
Commit: 3f2371e1a0dacf78a53d5b57df3cc5f08cddf6a9
https://github.com/llvm/llvm-project/commit/3f2371e1a0dacf78a53d5b57df3cc5f08cddf6a9
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/cl-outputs.c
M clang/test/Driver/cl-pch.cpp
Log Message:
-----------
[clang-cl] [Driver] Fix clang-cl driver supported colon options (#88216)
Tested locally against msvc 1939.
MSVC supports the colon form of various options that take a path even
though that isn't documented for all options on MSDN.
I added the colon form for all supported msvc options that clang-cl does
not intentionally ignore due to being unsupported.
I also fixed the existing colon options by ensure we use
`JoinedOrSeparate`. `/F[x]` argument must used within the same command
line argument. However, `/F[x]:` arguments are allowed to span a command
line argument. The following is valid `/F[x]: path` which is 2 separate
command line arguments.
You can see this documented here,
https://learn.microsoft.com/en-us/cpp/build/reference/fo-object-file-name?view=msvc-170,
where it says `/Fo:[ ]"pathname"`.
This behaviour works for all colon options that take a path and I tested
it locally against msvc 1939 for all the option changes in this PR.
Commit: eb7ad8853cfe6ede2d592a417a1ec64636a61bb5
https://github.com/llvm/llvm-project/commit/eb7ad8853cfe6ede2d592a417a1ec64636a61bb5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/vector-xor.ll
Log Message:
-----------
[InstCombine] Remove some uses with replaceUndefsWith() (#89190)
Now that we don't accept undef splat in PatternMatch, we can remove some
uses of replaceUndefsWith(). I believe in all these cases only poison
splats are possible now, in which case no replacement is necessary.
Commit: 89f8ba2855789c6c8b445af0e1aa82d5f5cf940a
https://github.com/llvm/llvm-project/commit/89f8ba2855789c6c8b445af0e1aa82d5f5cf940a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/Function.cpp
M llvm/test/Assembler/implicit-intrinsic-declaration-invalid.ll
A llvm/test/Assembler/implicit-intrinsic-declaration-invalid2.ll
A llvm/test/Assembler/implicit-intrinsic-declaration-invalid3.ll
M llvm/test/Assembler/implicit-intrinsic-declaration.ll
Log Message:
-----------
[AsmParser] Support calling intrinsics without mangling suffix (#89172)
This adds proper support for calling intrinsics without mangling suffix
when parsing textual IR. This already worked (mostly by accident) when
only a single mangling suffix was in use.
This patch extends support to the case where the intrinsic is used with
multiple signatures, and as such multiple different intrinsic
declarations have to be inserted. The final IR will have intrinsics with
mangling suffix as usual.
Motivated by the discussion at:
https://discourse.llvm.org/t/recent-improvements-to-the-ir-parser/77366
Commit: 949e66baf1c5d97dc60a243d9b66df5216255343
https://github.com/llvm/llvm-project/commit/949e66baf1c5d97dc60a243d9b66df5216255343
Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
Log Message:
-----------
[Coverage][NFC] Avoid visiting non-unique `OpaqueValueExpr` (#88910)
Only unique `OpaqueValueExpr`s should be handled in the mapping builder,
as
[discussed](https://github.com/llvm/llvm-project/pull/85837#discussion_r1542056451)
in #85837. However, `getCond()` returns non-unique `OpaqueValueExpr` for
`BinaryConditionalOperator` (because it is also used as the "true"
branch expression). Use `getCommon()` instead so as to bypass the
`OpaqueValueExpr`.
Commit: 396cdabe47f3596464b289d0937c0066f50a0ac6
https://github.com/llvm/llvm-project/commit/396cdabe47f3596464b289d0937c0066f50a0ac6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
M llvm/test/Transforms/InstCombine/signed-truncation-check.ll
Log Message:
-----------
[PatternMatch] Allow poison in api_pred_ty matchers (#89188)
This allows vector splats containing poison for matchers using
api_pred_ty, making the behavior consistent with cst_pred_ty. In other
words, previously `m_NonNegative()` allowed splats with poison, while
`m_NonNegative(C)` did not. Now both allow them.
The affected matchers are m_MaxSignedValue, m_Negative, m_NonNegative,
m_StrictlyPositive, m_NonPositive, m_Power2, m_Power2OrZero,
m_NegatedPower2, m_NegatedPower2OrZero, m_LowBitMask and
m_LowBitMaskOrZero when passing in APInt.
I briefly went through the uses of these matchers and didn't spot any
places where allowing poison would be obviously wrong (I initially
thought foldSelectICmpAndBinOp is problematic, but because it does not
reuse the original constants, it's fine).
A problem here is that, despite these matchers appearing in a decent
number of places, we have very little pre-existing test coverage for
these folds with poison vectors, so we don't benefit from alive2
verification.
Commit: 3090efc6b65be0aa26b2ed0b734eef6efdd50322
https://github.com/llvm/llvm-project/commit/3090efc6b65be0aa26b2ed0b734eef6efdd50322
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf03.cuf
A flang/test/Semantics/cuf12.cuf
Log Message:
-----------
[flang][cuda] Relax semantic for device variable in block construct (#89330)
Commit: aac4d03423dd6b7bdef0f2eb03c570f3e2ca6630
https://github.com/llvm/llvm-project/commit/aac4d03423dd6b7bdef0f2eb03c570f3e2ca6630
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
A clang/test/Modules/pr85122.cppm
Log Message:
-----------
[C++20] [Modules] Mark exported all declarations as used
Close https://github.com/llvm/llvm-project/issues/85122
As the title suggested, it looks pretty sensible.
Commit: 08a787c91be51e6a561dc50ec34ce28abc04ac54
https://github.com/llvm/llvm-project/commit/08a787c91be51e6a561dc50ec34ce28abc04ac54
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/update-bpi.ll
Log Message:
-----------
[InstCombine] Add test to track BPI when condition was inverted (#86469)
InstCombine may invert branch condition and profile metadata. Branch
probability analysis should be updated in this case.
Commit: de3e4a9dfe89dfc0a4d6d5e0891c542f6c82ca57
https://github.com/llvm/llvm-project/commit/de3e4a9dfe89dfc0a4d6d5e0891c542f6c82ca57
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/lib/Target/X86/X86InstrKL.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/keylocker-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sha.ll
R llvm/test/MC/Disassembler/X86/apx/keylocker.txt
R llvm/test/MC/Disassembler/X86/apx/sha.txt
R llvm/test/MC/X86/apx/keylocker-att.s
R llvm/test/MC/X86/apx/keylocker-intel.s
R llvm/test/MC/X86/apx/sha-att.s
R llvm/test/MC/X86/apx/sha-intel.s
M llvm/test/MC/X86/x86_64-asm-match.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86][APX] Remove KEYLOCKER and SHA promotions from EVEX MAP4. (#89173)
APX spec: https://cdrdv2.intel.com/v1/dl/getContent/784266
Change happended in version 4.0.
Removed instructions' Opcodes:
AESDEC128KL
AESDEC256KL
AESDECWIDE128KL
AESDECWIDE256KL
AESENC128KL
AESENC256KL
AESENCWIDE128KL
AESENCWIDE256KL
ENCODEKEY128
ENCODEKEY256
SHA1MSG1
SHA1MSG2
SHA1NEXTE
SHA1RNDS4
SHA256MSG1
SHA256MSG2
SHA256RNDS2
Commit: d3925e65a7ab88eb0ba68d3ab79cd95db5629951
https://github.com/llvm/llvm-project/commit/d3925e65a7ab88eb0ba68d3ab79cd95db5629951
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#89234)
If LLVM is configured with -DLLVM_DEFAULT_TARGET_TRIPLE, or compiler_rt
is configured with -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE, while the
argument is not normalized, such as Debian-style vendor-less triple,
clang will try to find libclang_rt in lib/<normalized_triple>, while
libclang_rt is placed into lib/<triple_arg>.
Let's also place libclang_rt into lib/<normalized_triple>.
`libcxx/utils/ci/run-buildbot` is also updated to use
`armv7m-none-unknown-eabi` as normalized triple instead of
current `armv7m-none-eabi`.
ChangeLog of this PR:
This patch has been applied and revert twice:
1. The first try is https://github.com/llvm/llvm-project/pull/88407, and
then it is found that it causes some CI failures.
https://lab.llvm.org/buildbot/#/builders/98/builds/36366
It is then resolved by another commit:
https://github.com/llvm/llvm-project/commit/1693009679313282afbed38778dd3fad62641e1b
https://lab.llvm.org/buildbot/#/builders/77/builds/36372
It is caused that `COMPILER_RT_DEFAULT_TARGET_TRIPLE` is overwrite
without taking care about `CACHE`.
2. The second try https://github.com/llvm/llvm-project/pull/88835,
resolves https://lab.llvm.org/buildbot/#/builders/77/builds/36372
and in fact only one `execute_process` is needed.
Then we find some other CI failures.
https://github.com/mstorsjo/llvm-mingw/actions/runs/8730621159
https://buildkite.com/llvm-project/libcxx-ci/builds/34897#018eec06-612c-47f1-9931-d3bd88bf7ced
It is due to misunderstanding `-print-effective-triple`: which will
output `thumbv7-w64-windows-gnu` for `armv7-w64-windows-gnu` or some
other thumb-enabled arm triples.
In fact we should use `-print-target-triple`.
For armv7m-picolibc, `armv7m-none-eabi` is hardcoded in
libcxx/utils/ci/run-buildbot, while in fact `armv7m-none-unknown-eabi`
is the real normalized triple.
Commit: f4bbcac244eded55acf02cc9fd74eb3f0b075304
https://github.com/llvm/llvm-project/commit/f4bbcac244eded55acf02cc9fd74eb3f0b075304
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/Parser/pragma-unroll.cpp
Log Message:
-----------
[Clang] Allow the value of unroll count to be zero in `#pragma GCC unroll` and `#pragma unroll` (#88666)
Fixes https://github.com/llvm/llvm-project/issues/88624
GCC allows the value of loop unroll count to be zero, and the values of
0 and 1 block any unrolling of the loop. This PR aims to make clang
keeps the same behavior with GCC.
https://gcc.gnu.org/onlinedocs/gcc/Loop-Specific-Pragmas.html
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 176f7f2c7c1cbc98e10a1cd611d221f473db7a5e
https://github.com/llvm/llvm-project/commit/176f7f2c7c1cbc98e10a1cd611d221f473db7a5e
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
Log Message:
-----------
[clang][RISCV] Remove unneeded overloaded suffix for vcreate (#89241)
Since `vcreate` doesn't support overload, we can remove it.
Commit: bd676f00b80a064e1d377a758aec5b7ae6814e5f
https://github.com/llvm/llvm-project/commit/bd676f00b80a064e1d377a758aec5b7ae6814e5f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaStmtAttr.cpp
Log Message:
-----------
[Sema] Fix a warning
This patch fixes
clang/lib/Sema/SemaStmtAttr.cpp:114:18: error: unused variable 'R'
[-Werror,-Wunused-variable]
Commit: b64c69d5b1bfeaf675f25e7598b78e9f3543f241
https://github.com/llvm/llvm-project/commit/b64c69d5b1bfeaf675f25e7598b78e9f3543f241
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[memprof] Introduce IndexedMemProfReader (NFC) (#89331)
Without this patch, a lot of details about the deserilization of the
MemProf data are exposed in IndexedInstrProfReader -- four
MemProf-related variables in IndexedInstrProfReader plus 90+ lines of
deserilization code within IndexedInstrProfReader::readHeader.
This patch encapsulates them into a separate class, exposing only
three methods, namely the default constructor, deserialize, and
getMemProfRecord.
Commit: ab1d988e1483895a71dcd257bdcaf6fdb0a83d62
https://github.com/llvm/llvm-project/commit/ab1d988e1483895a71dcd257bdcaf6fdb0a83d62
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Add test for incorrect fshr transform (#89338)
Commit: 46957a138dea339799059ea5bf032e40042ff185
https://github.com/llvm/llvm-project/commit/46957a138dea339799059ea5bf032e40042ff185
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Fix incorrect fshr to fshl transform
This transform is only valid if the (modular) shift amount is not
zero.
Proof: https://alive2.llvm.org/ce/z/WBxn-x
Fixes https://github.com/llvm/llvm-project/issues/89338.
Commit: 13beabe5e9d790ed6c1db10fb4774fa1330fbb2a
https://github.com/llvm/llvm-project/commit/13beabe5e9d790ed6c1db10fb4774fa1330fbb2a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
Revert "[mlir][llvm] Port `overflowFlags` to a native operation property" (#89344)
Reverts llvm/llvm-project#89312 as it breaks all flang buildbots
Commit: bd898d5e111e33a7f614f6b6c34940d81be6682c
https://github.com/llvm/llvm-project/commit/bd898d5e111e33a7f614f6b6c34940d81be6682c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/noundef.ll
Log Message:
-----------
[FunctionAttrs] Add tests for incorrect noundef inference (#88026)
Commit: 20667dbec30354723d6467b833a081db998eb70a
https://github.com/llvm/llvm-project/commit/20667dbec30354723d6467b833a081db998eb70a
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/ubsan-shift-bitint.c
Log Message:
-----------
[clang][CodeGen] Fix shift-exponent ubsan check for signed _BitInt (#88004)
Commit 5f87957fefb21d454f2f (pull-requst #80515) corrected some codegen
problems related to _BitInt types being used as shift exponents. But it
did not fix it properly for the special case when the shift count
operand is a signed _BitInt.
The basic problem is the same as the one solved for unsigned _BitInt. As
we use an unsigned comparison to see if the shift exponent is
out-of-bounds, then we need to find an unsigned maximum allowed shift
amount to use in the check. Normally the shift amount is limited by
bitwidth of the LHS of the shift. However, when the RHS type is small in
relation to the LHS then we need to use a value that fits inside the
bitwidth of the RHS instead.
The earlier fix simply used the unsigned maximum when deterining the max
shift amount based on the RHS type. It did however not take into
consideration that the RHS type could have a signed representation. In
such situations we need to use the signed maximum instead. Otherwise we
do not recognize a negative shift exponent as UB.
Commit: 8363ff6a2e9d20258fb72e4db64ffb6e4167618f
https://github.com/llvm/llvm-project/commit/8363ff6a2e9d20258fb72e4db64ffb6e4167618f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/test/Driver/aix-toolchain-include.cpp
Log Message:
-----------
specify openmp lib in aix-toolchain-include.cpp test
when unset -fopenmp tries to find the library itself and in some
configurations this test fails
fix for #88545 8f07a67f9731dfcd490f8aaefac34d95f207b39c
Commit: affcaf622d8e900abab1d39d41d9f2d335f32614
https://github.com/llvm/llvm-project/commit/affcaf622d8e900abab1d39d41d9f2d335f32614
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/tiny-model-pic.ll
Log Message:
-----------
[test][AArch64][CodeGen] Delete redundant check lines in tiny-model-pic.ll (#89243)
Similarly to #87965, delete check lines which do not have corresponding
FileCheck run lines in tiny-model-pic.ll (while having them tested in
tiny-model-static.ll).
Commit: ca7d9442baf638f020c9594dc2af388d24c4a3e1
https://github.com/llvm/llvm-project/commit/ca7d9442baf638f020c9594dc2af388d24c4a3e1
Author: martinboehme <mboehme at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Support `CXXParenListInitExpr` in `PropagateResultObject()`. (#89235)
Commit: b2323f43e3cdb52b4e15a7d4f434cd5c64740dd4
https://github.com/llvm/llvm-project/commit/b2323f43e3cdb52b4e15a7d4f434cd5c64740dd4
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGen/dwarf-version.c
Log Message:
-----------
[AIX][Debug] generate an error instead of crash in backend for -gdwarf-5
Before this change -gdwarf-5 on AIX will cause backend crash, because
some DWARF5 sections are not defined in XCOFF.
Explicitly statement -gdwarf-5 as unsupported in frontend on AIX.
Commit: e8fce95887ecfd87a83db8dbb0cc55966b004d6f
https://github.com/llvm/llvm-project/commit/e8fce95887ecfd87a83db8dbb0cc55966b004d6f
Author: martinboehme <mboehme at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Value.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/DebugSupport.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][nullability] Remove `RecordValue`. (#89052)
This class no longer serves any purpose; see also the discussion here:
https://reviews.llvm.org/D155204#inline-1503204
A lot of existing tests in TransferTest.cpp check for the existence of
`RecordValue`s. Some of these checks are now simply redundant and have
been
removed. In other cases, tests were checking for the existence of a
`RecordValue` as a way of testing whether a record has been initialized.
I have
typically changed these test to instead check whether a field of the
record has
a value.
Commit: 14193f4320e26b75dc592abf952af1c63760665c
https://github.com/llvm/llvm-project/commit/14193f4320e26b75dc592abf952af1c63760665c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/empty-module.ll
Log Message:
-----------
[SPIR-V] SPIR-V Backend must generate a valid OCL version if working in OpenCL environment (#89199)
If there is no information about OpenCL version we are forced to
generate OpenCL 1.0 by default for the OpenCL environment to avoid
puzzling run-times with Unknown/0.0 version output. For a reference,
LLVM-SPIRV Translator avoids potential issues with run-times in a
similar manner.
Commit: 14122106320b88f114301bbf8694ceac9bb7a27a
https://github.com/llvm/llvm-project/commit/14122106320b88f114301bbf8694ceac9bb7a27a
Author: martinboehme <mboehme at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][dataflow][NFC] Fix code formatting in DataflowEnvironment.cpp (#89352)
For some reason, when I merged #89235, two lines were mis-formatted.
This patch corrects this; while I'm here, I'm also correcting other
existing formatting errors.
Commit: aac695da42cf48ccb29c2fe495ead564cc913471
https://github.com/llvm/llvm-project/commit/aac695da42cf48ccb29c2fe495ead564cc913471
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclTemplate.cpp
Log Message:
-----------
[NFC] [Serialization] Use semantical type 'DeclID' for 'CreateDeserialized'
Previously we use 'unsigned' as the type of ID in 'CreateDeserialized'.
And the type of `DeclID` in serialization is 'uint32_t', so there is
minor inconsistency.
Also more importantly, if we want to extend the type of DeclID from
uint32_t to uint64_t, we may be in trouble due to we forgot updating the
a lot of 'CreateDeserialized'.
So this patch tries to use semantical type 'DeclID' for
'*Decl::CreateDeserialized' to make sure it is tightly consistent.
Commit: 851462fcaa7f6e3301865de84f98be7e872e64b6
https://github.com/llvm/llvm-project/commit/851462fcaa7f6e3301865de84f98be7e872e64b6
Author: David Green <david.green at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
Log Message:
-----------
[AArch64] Remove invalid uabdl patterns. (#89272)
These were added in https://reviews.llvm.org/D14208, which look like
they attempt to detect abs from xor+add+ashr. They do not appear to be
detecting the correct value for the src input though, which I think is
intended to be the sub(zext, zext) part of the pattern. We have pattens
from abs now, so the old invalid patterns can be removed.
Fixes #88784
Commit: e2a72fa583d9ccec7e996e15ea86f0ceddbfe63c
https://github.com/llvm/llvm-project/commit/e2a72fa583d9ccec7e996e15ea86f0ceddbfe63c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[VPlan] Introduce recipes for VP loads and stores. (#87816)
Introduce new subclasses of VPWidenMemoryRecipe for VP
(vector-predicated) loads and stores to address multiple TODOs from
https://github.com/llvm/llvm-project/pull/76172
Note that the introduction of the new recipes also improves code-gen for
VP gather/scatters by removing the redundant header mask. With the new
approach, it is not sufficient to look at users of the widened canonical
IV to find all uses of the header mask.
In some cases, a widened IV is used instead of separately widening the
canonical IV. To handle that, first collect all VPValues representing header
masks (by looking at users of both the canonical IV and widened inductions
that are canonical) and then checking all users (recursively) of those header
masks.
Depends on https://github.com/llvm/llvm-project/pull/87411.
PR: https://github.com/llvm/llvm-project/pull/87816
Commit: 95ffa8a2ac1154d968c0af2d428ade541eddd828
https://github.com/llvm/llvm-project/commit/95ffa8a2ac1154d968c0af2d428ade541eddd828
Author: Tina Jung <tinamaria.jung at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_types.mlir
Log Message:
-----------
[mlir][emitc] Restrict types in EmitC (#88391)
Restrict the types which are valid for EmitC operations. Use what is
currently supported by the emitter as restriction. Define a utility
functions for valid types, such that they can be used to restrict the
operations in table gen as well as being available for reuse in dialect
conversions.
Commit: 7c7704c946ab6078c42b24a57eb537944861cba1
https://github.com/llvm/llvm-project/commit/7c7704c946ab6078c42b24a57eb537944861cba1
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
A llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll
Log Message:
-----------
[AMDGPU] Allow any linkage for dynlds (#84742)
Solves SWDEV-449592
Commit: 494c637816e4787752ae3bf29be618ffdc92f4cd
https://github.com/llvm/llvm-project/commit/494c637816e4787752ae3bf29be618ffdc92f4cd
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineInstrBundle.cpp
Log Message:
-----------
MachineInstrBundle: modernize a couple of loops (NFC) (#89229)
Commit: 2512ce3df51ef57d9e7134bc187c5cd41f2cd10c
https://github.com/llvm/llvm-project/commit/2512ce3df51ef57d9e7134bc187c5cd41f2cd10c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/IR/Instruction.cpp
M llvm/test/Transforms/Scalarizer/basic.ll
Log Message:
-----------
[IR] Add support for trunc's nuw/nsw flags in `copyIRFlags` (#89353)
This patch fixes
https://github.com/llvm/llvm-project/pull/85592#issuecomment-2065865020.
I found this while fixing flag propagation in my
["vectorizer"](https://github.com/dtcxzyw/llvm-codegen-benchmark/blob/main/vectorize.cpp).
Commit: 054b1b3b5ac67385220654df12732346b51c8a41
https://github.com/llvm/llvm-project/commit/054b1b3b5ac67385220654df12732346b51c8a41
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
Log Message:
-----------
Revert "[SLP]Fix final analysis for unsigned nodes."
This reverts commit 74e07ab523122d6a8347b25770062ab331b6bb84.
It might be that Mask.getBitWidth() == Mask.countl_zero() (32 in my
case) and zero bitwidth2 causes the crash.
Commit: 6f26867cfa4c1333e69a17f8a2fc8297a4ab6d45
https://github.com/llvm/llvm-project/commit/6f26867cfa4c1333e69a17f8a2fc8297a4ab6d45
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-bsl.ll
Log Message:
-----------
[AArch64][SVE2] Generate SVE2 BSL instruction in LLVM for add/sub. (#88413)
Allow to fold or/and-and to BSL instuction for scalable vectors.
Commit: 4d7f3d9e0fb8cf9a4db6aa73c4fcb21bae98ef3a
https://github.com/llvm/llvm-project/commit/4d7f3d9e0fb8cf9a4db6aa73c4fcb21bae98ef3a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
Log Message:
-----------
[SLP]Fix final analysis for unsigned nodes.
Need to check that at least single bit is cleared for unsigned nodes
before reducing their size. Otherwise they might be treated as signed in
signed nodes.
Commit: df411fbac60825d07090ce17391db7606d8400f1
https://github.com/llvm/llvm-project/commit/df411fbac60825d07090ce17391db7606d8400f1
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/test/Interfaces/DataLayoutInterfaces/query.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
Log Message:
-----------
[MLIR][DataLayout] Add support for scalable vectors (#89349)
This commit extends the data layout to support scalable vectors. For
scalable vectors, the `TypeSize`'s scalable field is set accordingly,
and the alignment information remains the same as for normal vectors.
This behavior is in sync with what LLVM's data layout queries are
producing.
Before this change, scalable vectors incorrectly returned the same size
as "normal" vectors.
Commit: b3c72bcbf2eb7963ef0ac3da519107aba151f77f
https://github.com/llvm/llvm-project/commit/b3c72bcbf2eb7963ef0ac3da519107aba151f77f
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/reduction12.f90
Log Message:
-----------
[Flang][OpenMP] Issue error if reduction clause has proc-pointer (#88999)
OpenMP 5.2: Section 5.5.5: A procedure pointer must not appear in a
reduction clause.
Fixes #87915
Commit: 090d03d1c7eef4f9790b9300f19176e8f49151dd
https://github.com/llvm/llvm-project/commit/090d03d1c7eef4f9790b9300f19176e8f49151dd
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/Import.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/ignore-composite-type-elements.ll
Log Message:
-----------
[MLIR][LLVM] Add flag to skip import of DICompositeType's elems (#89355)
This commit introduces a flag to allow skipping the potentially
recursive import of DICompositeType elements. This patch is essentially a
bandaid for the still broken recursive debug type import.
Some of our downstream inputs are produced by excessive usage of
template meta programming, and thus contain tens of thousands of types
that all participate in such recursions. Unfortunately, the series of
patches that introduces type support is not easily revertible due to
being around for a while now and Modular depending on it.
We can consider to revert this change once the type importer has show to
be very performant, but for now we are talking second vs hours to import
specific files.
Commit: 7e2c2981fbb9e609886cfbe6c95644ed58b03d08
https://github.com/llvm/llvm-project/commit/7e2c2981fbb9e609886cfbe6c95644ed58b03d08
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
Log Message:
-----------
[SystemZ][z/OS] Implement llvm.frameaddr for XPLINK (#89284)
The implementation follows the ELF implementation.
Commit: e7c042f12fd6f3bbbbe9aeb37854d499aada8457
https://github.com/llvm/llvm-project/commit/e7c042f12fd6f3bbbbe9aeb37854d499aada8457
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Type.cpp
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
[lldb] Make SBType::FindDirectNestedType work with expression ASTs (#89183)
The types we get out of expressions will not have an associated symbol
file, so the current method of looking up the type will fail. Instead, I
plumb the query through the TypeSystem class. This correctly finds the
type in both cases (importing it into the expression AST if needed). I
haven't measured, but it should also be more efficient than doing a type
lookup (at least, after the type has already been found once).
Commit: 5af9701985c6abba328dbedbd2d9c602dc46c4b0
https://github.com/llvm/llvm-project/commit/5af9701985c6abba328dbedbd2d9c602dc46c4b0
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
Log Message:
-----------
[SystemZ] Fix Operand Retrieval for Vector Reduction Intrinsic in `shouldExpandReduction` (#88874)
In the existing version, SystemZTTIImpl::shouldExpandReduction will
create a `cast` error when handling vector reduction intrinsics that
do not have the vector to reduce as their first operand, such as
`llvm.vector.reduce.fadd` and `llvm.vector.reduce.fmul`.
This commit fixes that problem by moving the cast into the case
statement that handles the specific intrinsic, where the vector
operand position is well-known.
Commit: e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa
https://github.com/llvm/llvm-project/commit/e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode (easy cases) (#88879)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in various checkers where this transition was easy and
straightforward.
This change won't cause major functional changes, but isn't NFC because
it ensures that e.g. call descriptions for a non-method function won't
accidentally match a method that has the same name.
Separate commits will perform (or have already performed) this change in
other checkers. My goal is to ensure that the call description mode is
always explicitly specified and eliminate (or strongly restrict) the
vague "may be either a method or a simple function" mode that's the
current default.
Commit: 0a5f50d50be429734074584702cd20cf54c27420
https://github.com/llvm/llvm-project/commit/0a5f50d50be429734074584702cd20cf54c27420
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Simplify optimality checking in unit tests. NFC. (#89368)
Use bool instead of function_ref.
Commit: ae9a5b07e0dca10cd44a11f11915be5eab002307
https://github.com/llvm/llvm-project/commit/ae9a5b07e0dca10cd44a11f11915be5eab002307
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFeatures.td
M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
M llvm/test/MC/Disassembler/SystemZ/insns-z14.txt
M llvm/test/MC/SystemZ/insn-bad-z13.s
M llvm/test/MC/SystemZ/insn-good-z14.s
Log Message:
-----------
[SystemZ] Add TPEI instruction and Associated Facility (#89372)
This PR adds the TPEI (Test Pending External Interruption) instruction,
along with the facility that contains it. This is a millicoded system
instruction that is not used for code generation, so it will be used
exclusively by the Assembler and Disassembler.
Accordingly, this commit also adds tests for both.
Commit: 7fbdadb68e259079d23165ecb94e2893a3823576
https://github.com/llvm/llvm-project/commit/7fbdadb68e259079d23165ecb94e2893a3823576
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/xor.ll
M llvm/test/CodeGen/X86/xor.ll
Log Message:
-----------
[AArch64][X86] xor.ll - fix vec_add_of_not_with_undef_decrement copy+pasta typo
This was copied from vec_add_of_not_with_undef instead of vec_add_of_not_decrement - replacing the second sub with an add
Commit: 2e68ba99def5b07f4c6c53627baf076c5c924979
https://github.com/llvm/llvm-project/commit/2e68ba99def5b07f4c6c53627baf076c5c924979
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/xor.ll
M llvm/test/CodeGen/X86/xor.ll
Log Message:
-----------
[DAG] visitADDLike - update "(x - y) + -1 -> add (xor y, -1), x" fold to accept UNDEF in a splat vector of -1
Make sure we use getNOT instead of reusing the allones (with undefs) vector
Commit: aa39b0b13e3b56ac072acff2660dbef9db45bca0
https://github.com/llvm/llvm-project/commit/aa39b0b13e3b56ac072acff2660dbef9db45bca0
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/test/CodeGen/debug-info-file-checksum.c
A clang/test/Driver/debug-options-embed-source.c
M clang/test/Driver/debug-options.c
Log Message:
-----------
[AIX][Debug]correct the cases on AIX bot, NFC
Related to commit b2323f43e3cdb52b4e15a7d4f434cd5c64740dd4
Commit: 0a8cd1ed1f4f35905df318015b0dbcb69d81d7c2
https://github.com/llvm/llvm-project/commit/0a8cd1ed1f4f35905df318015b0dbcb69d81d7c2
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M openmp/runtime/test/worksharing/for/collapse_test.inc
Log Message:
-----------
[OpenMP] Use half of available logical processors for collapse tests (#88319)
The new collapse test cases define `MAX_THREADS` to be 256 and use all
available threads/logical processors on the system. This triples the
testing time on an AIX machine that has 128 logical processors. This
patch changes to use half of available logical processors to avoid over
subscribing because there are other libomp tests running at the same
time, including 2 other such collapse tests.
Commit: 90dfabc9e12466ce306b3168f47621598bbf900b
https://github.com/llvm/llvm-project/commit/90dfabc9e12466ce306b3168f47621598bbf900b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Refactor unsafe atomicrmw remark emission (#89379)
Defers some of the setup work until the remark is actually emitted. Move
big lambda into a helper function, and only use value capture of a
pointer. Prepare to have different messages.
Commit: c8db069253a8783ebce0eb6c244551b0b42e997e
https://github.com/llvm/llvm-project/commit/c8db069253a8783ebce0eb6c244551b0b42e997e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
Log Message:
-----------
AMDGPU: Use common check prefix in atomic expand test
Commit: ce2f6423f0168e945b6f29aa40a3054c1abe22a9
https://github.com/llvm/llvm-project/commit/ce2f6423f0168e945b6f29aa40a3054c1abe22a9
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/CMakeLists.txt
Log Message:
-----------
[clangd] Fix shared-lib builds after 2cdbc9cff3b7ef262
Commit: a5757c5b65f1894de16f549212b1c37793312703
https://github.com/llvm/llvm-project/commit/a5757c5b65f1894de16f549212b1c37793312703
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/examples/transform/Ch4/lib/MyExtension.cpp
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/IR/Location.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
M mlir/lib/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/IRDL/IRDLLoading.cpp
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandRealloc.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
M mlir/lib/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/IR/Operation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
M mlir/test/lib/IR/TestAffineWalk.cpp
M mlir/test/lib/IR/TestBuiltinAttributeInterfaces.cpp
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
Log Message:
-----------
Switch member calls to `isa/dyn_cast/cast/...` to free function calls. (#89356)
This change cleans up call sites. Next step is to mark the member
functions deprecated.
See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.
Commit: 9a07d7ea9b37a5b537fc8099cc5744f44da29abc
https://github.com/llvm/llvm-project/commit/9a07d7ea9b37a5b537fc8099cc5744f44da29abc
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaCXX/aarch64-sve-resolve-type.cpp
Log Message:
-----------
[Sema] Check if types are resolved before querying function description.
Commit: 58764ddccda99039174ca572c6a94393c290f8ac
https://github.com/llvm/llvm-project/commit/58764ddccda99039174ca572c6a94393c290f8ac
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Function.cpp
Log Message:
-----------
Add IIT_V10 to support 10-element vectors in intrinsics (#89383)
Needed for a future patch.
Commit: 3f74b986c40468972e11abfb8b0a65234bf1ca6e
https://github.com/llvm/llvm-project/commit/3f74b986c40468972e11abfb8b0a65234bf1ca6e
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/email-check.yaml
A .github/workflows/issue-write.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/pr-code-format.yml
M .github/workflows/release-lit.yml
M .github/workflows/scorecard.yml
M bolt/docs/BAT.md
M bolt/include/bolt/Core/AddressMap.h
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryData.h
M bolt/include/bolt/Core/BinaryDomTree.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinaryLoop.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/FunctionLayout.h
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/include/bolt/Passes/CacheMetrics.h
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/include/bolt/Passes/ReachingDefOrUse.h
M bolt/include/bolt/Passes/ReachingInsns.h
M bolt/include/bolt/Passes/ReorderUtils.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/ProfileReaderBase.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/include/bolt/Rewrite/MetadataManager.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
M bolt/include/bolt/Utils/NameShortener.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/CMOVConversion.cpp
M bolt/lib/Passes/FixRISCVCallsPass.cpp
M bolt/lib/Passes/FixRelaxationPass.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Passes/ValidateInternalCalls.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/CMakeLists.txt
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/Heatmap.cpp
R bolt/lib/Profile/ProfileReaderBase.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
A bolt/test/X86/dwarf4-label-low-pc.s
A bolt/test/X86/dwarf5-debug-names-cross-cu.s
M bolt/test/X86/dwarf5-label-low-pc.s
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
M bolt/test/X86/patch-entries.test
A bolt/test/X86/yaml-secondary-entry-discriminator.s
A bolt/test/runtime/X86/jt-confusion.s
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/heatmap/heatmap.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/support/Trace.h
M clang-tools-extra/clangd/test/inlayHints.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/clangd/unittests/TestIndex.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-use-errs.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/ignored-remove-result.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang/CMakeLists.txt
M clang/cmake/caches/Apple-stage2.cmake
M clang/cmake/caches/CrossWinToARMLinux.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/HLSL.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/FunctionCalls.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/NestedNameSpecifier.h
A clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
R clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/DataflowLattice.h
M clang/include/clang/Analysis/FlowSensitive/Value.h
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Analysis/SelectorExtras.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/IdentifierTable.h
A clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/riscv_vector.td
A clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CMakeLists.txt
M clang/include/clang/CodeGen/CodeGenAction.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
A clang/include/clang/ExtractAPI/APIRecords.inc
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIActionBase.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/FrontendActions.h
A clang/include/clang/ExtractAPI/Serialization/APISetVisitor.h
R clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/InstallAPI/Context.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/ExternalPreprocessorSource.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
A clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaCUDA.h
A clang/include/clang/Sema/SemaHLSL.h
A clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaOpenMP.h
A clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/include/clang/Serialization/PCHContainerOperations.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/TransAPIUses.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.h
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/Interp/Record.h
M clang/lib/AST/Interp/State.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
A clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/SelectorLocationsKind.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/DebugSupport.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/lib/Analysis/ObjCNoReturn.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/M68k.h
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/VE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
A clang/lib/CIR/CMakeLists.txt
M clang/lib/CMakeLists.txt
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Clang.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__stddef_unreachable.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
A clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/Serialization/PCHContainerOperations.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
A clang/test/APINotes/Inputs/APINotes/SomeOtherKit.apinotes
A clang/test/APINotes/Inputs/BrokenHeaders/APINotes.apinotes
A clang/test/APINotes/Inputs/BrokenHeaders/SomeBrokenLib.h
A clang/test/APINotes/Inputs/BrokenHeaders2/APINotes.apinotes
A clang/test/APINotes/Inputs/BrokenHeaders2/SomeBrokenLib.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Headers/FrameworkWithActualPrivateModule.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.private.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Headers/FrameworkWithWrongCase.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/PrivateHeaders/FrameworkWithWrongCase_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Headers/FrameworkWithWrongCasePrivate.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.private.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/PrivateHeaders/FrameworkWithWrongCasePrivate_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Headers/LayeredKit.h
A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.apinotes
A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.h
A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/SimpleKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit_private.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKitForNullAnnotation.h
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.private.modulemap
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module_private.modulemap
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_Private.h
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_PrivateForNullAnnotation.h
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_private.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/APINotes/SomeOtherKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.h
A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit.h
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.private.modulemap
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.h
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private_private.apinotes
A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.h
A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Headers/APINotes.apinotes
A clang/test/APINotes/Inputs/Headers/BrokenTypes.apinotes
A clang/test/APINotes/Inputs/Headers/BrokenTypes.h
A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
A clang/test/APINotes/Inputs/Headers/ExportAs.h
A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
A clang/test/APINotes/Inputs/Headers/ExternCtx.apinotes
A clang/test/APINotes/Inputs/Headers/ExternCtx.h
A clang/test/APINotes/Inputs/Headers/HeaderLib.apinotes
A clang/test/APINotes/Inputs/Headers/HeaderLib.h
A clang/test/APINotes/Inputs/Headers/InstancetypeModule.apinotes
A clang/test/APINotes/Inputs/Headers/InstancetypeModule.h
A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase.h
A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate.h
A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate_Private.apinotes
A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase_Private.apinotes
A clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
A clang/test/APINotes/Inputs/Headers/Namespaces.h
A clang/test/APINotes/Inputs/Headers/PrivateLib.apinotes
A clang/test/APINotes/Inputs/Headers/PrivateLib.h
A clang/test/APINotes/Inputs/Headers/PrivateLib_private.apinotes
A clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
A clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
A clang/test/APINotes/Inputs/Headers/Templates.apinotes
A clang/test/APINotes/Inputs/Headers/Templates.h
A clang/test/APINotes/Inputs/Headers/module.modulemap
A clang/test/APINotes/Inputs/Headers/module.private.modulemap
A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.apinotes
A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.h
A clang/test/APINotes/Inputs/yaml-reader-errors/module.modulemap
A clang/test/APINotes/availability.m
A clang/test/APINotes/broken_types.m
A clang/test/APINotes/case-for-private-apinotes-file.c
A clang/test/APINotes/export-as.c
A clang/test/APINotes/extern-context.cpp
A clang/test/APINotes/instancetype.m
A clang/test/APINotes/module-cache.m
A clang/test/APINotes/namespaces.cpp
A clang/test/APINotes/nullability.c
A clang/test/APINotes/nullability.m
A clang/test/APINotes/objc-forward-declarations.m
A clang/test/APINotes/objc_designated_inits.m
A clang/test/APINotes/properties.m
A clang/test/APINotes/retain-count-convention.m
A clang/test/APINotes/search-order.m
A clang/test/APINotes/swift-import-as.cpp
A clang/test/APINotes/templates.cpp
A clang/test/APINotes/top-level-private-modules.c
A clang/test/APINotes/types.m
A clang/test/APINotes/versioned-multi.c
A clang/test/APINotes/versioned.m
A clang/test/APINotes/yaml-convert-diags.c
A clang/test/APINotes/yaml-parse-diags.c
A clang/test/APINotes/yaml-reader-errors.m
M clang/test/AST/Interp/arrays.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/const-eval.c
M clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/ms.cpp
M clang/test/AST/Interp/records.cpp
A clang/test/AST/Interp/vectors.cpp
A clang/test/AST/Interp/weak.cpp
M clang/test/AST/ast-dump-attr-json.cpp
A clang/test/AST/ast-dump-cxx2c-delete-with-message.cpp
A clang/test/AST/ast-dump-default-arg-json.cpp
A clang/test/AST/ast-dump-default-init-json.cpp
A clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/AST/ast-dump-invalid.cpp
A clang/test/AST/ast-print-cxx2c-delete-with-message.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/ArrayDelete.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-display-progress.cpp
M clang/test/Analysis/analyzer-display-progress.m
A clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/exercise-ps.c
M clang/test/Analysis/explain-svals.cpp
A clang/test/Analysis/getline-cpp.cpp
A clang/test/Analysis/invalid-ptr-checker.cpp
M clang/test/Analysis/invalidated-iterator.cpp
A clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stackaddrleak.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
A clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
A clang/test/C/C11/n1365.c
A clang/test/C/C11/n1482.c
A clang/test/C/C11/n1514.c
M clang/test/C/C2x/n2350.c
A clang/test/C/C99/Inputs/nested-include.h
A clang/test/C/C99/block-scopes.c
A clang/test/C/C99/digraphs.c
A clang/test/C/C99/float_h-characteristics.c
A clang/test/C/C99/n570.c
A clang/test/C/C99/n590.c
A clang/test/C/C99/n696.c
A clang/test/C/C99/n717.c
A clang/test/C/C99/n782.c
A clang/test/C/C99/n809.c
A clang/test/C/C99/n809_2.c
A clang/test/C/C99/n809_3.c
A clang/test/C/C99/n835.c
A clang/test/C/drs/dr290.c
M clang/test/C/drs/dr4xx.c
M clang/test/C/drs/dr5xx.c
M clang/test/CMakeLists.txt
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6-cxx23.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
A clang/test/CXX/drs/cwg118.cpp
A clang/test/CXX/drs/cwg124.cpp
A clang/test/CXX/drs/cwg158.cpp
A clang/test/CXX/drs/cwg1748.cpp
A clang/test/CXX/drs/cwg177x.cpp
A clang/test/CXX/drs/cwg1807.cpp
A clang/test/CXX/drs/cwg185.cpp
A clang/test/CXX/drs/cwg193.cpp
A clang/test/CXX/drs/cwg199.cpp
A clang/test/CXX/drs/cwg201.cpp
A clang/test/CXX/drs/cwg210.cpp
A clang/test/CXX/drs/cwg2335.cpp
A clang/test/CXX/drs/cwg2390.cpp
A clang/test/CXX/drs/cwg2504.cpp
A clang/test/CXX/drs/cwg292.cpp
A clang/test/CXX/drs/cwg392.cpp
A clang/test/CXX/drs/cwg412.cpp
A clang/test/CXX/drs/cwg438.cpp
A clang/test/CXX/drs/cwg439.cpp
A clang/test/CXX/drs/cwg441.cpp
A clang/test/CXX/drs/cwg462.cpp
A clang/test/CXX/drs/cwg492.cpp
A clang/test/CXX/drs/cwg519.cpp
A clang/test/CXX/drs/cwg571.cpp
A clang/test/CXX/drs/cwg605.cpp
A clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/drs/cwg653.cpp
A clang/test/CXX/drs/cwg658.cpp
A clang/test/CXX/drs/cwg661.cpp
A clang/test/CXX/drs/cwg672.cpp
A clang/test/CXX/drs/cwgr593.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr118.cpp
M clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr124.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr158.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr1748.cpp
R clang/test/CXX/drs/dr177x.cpp
M clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr1807.cpp
R clang/test/CXX/drs/dr185.cpp
M clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr193.cpp
R clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr19xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr201.cpp
M clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr210.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr2335.cpp
R clang/test/CXX/drs/dr2390.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr412.cpp
R clang/test/CXX/drs/dr438.cpp
R clang/test/CXX/drs/dr439.cpp
R clang/test/CXX/drs/dr441.cpp
R clang/test/CXX/drs/dr462.cpp
R clang/test/CXX/drs/dr492.cpp
M clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr519.cpp
R clang/test/CXX/drs/dr571.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CXX/drs/dr7xx.cpp
M clang/test/CXX/drs/dr8xx.cpp
M clang/test/CXX/drs/dr9xx.cpp
A clang/test/CXX/module/module.glob.frag/cxx20-10-4-ex2.cppm
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/ClangScanDeps/Inputs/removed-args/cdb.json.template
M clang/test/ClangScanDeps/error.cpp
M clang/test/ClangScanDeps/module-format.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/test/ClangScanDeps/removed-args.c
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/CSKY/csky-abi.c
M clang/test/CodeGen/LoongArch/abi-lp64d.c
A clang/test/CodeGen/M68k/inline-asm-gcc-regs.c
M clang/test/CodeGen/PowerPC/aix-altivec-vaargs.c
M clang/test/CodeGen/PowerPC/aix-vaargs.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
A clang/test/CodeGen/RISCV/riscv-vector-callingconv.c
A clang/test/CodeGen/RISCV/riscv-vector-callingconv.cpp
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbb-error.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbkb-error.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-error.c
M clang/test/CodeGen/WebAssembly/wasm-varargs.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/X86/va-arg-sse.c
M clang/test/CodeGen/X86/x86-cf-protection.c
M clang/test/CodeGen/X86/x86_64-arguments.c
A clang/test/CodeGen/X86/x86_64-vaarg.c
A clang/test/CodeGen/aapcs-bitfield-access-unit.c
M clang/test/CodeGen/aapcs-bitfield.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
A clang/test/CodeGen/aarch64-mixed-target-attributes.c
A clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/alias.cpp
A clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-bitfield-alignment.c
A clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-varargs.c
M clang/test/CodeGen/arm64-be-bitfield.c
M clang/test/CodeGen/atomic.c
A clang/test/CodeGen/attr-counted-by-debug-info.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/bitfield-2.c
A clang/test/CodeGen/bitfield-access-pad.c
A clang/test/CodeGen/bitfield-access-unit.c
A clang/test/CodeGen/builtin-allow-runtime-check.cpp
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
A clang/test/CodeGen/cfi-check-attrs.c
M clang/test/CodeGen/cfi-check-fail.c
M clang/test/CodeGen/clang-sections-attribute.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/debug-info-bitfield-0-struct.c
M clang/test/CodeGen/debug-info-cc.c
M clang/test/CodeGen/debug-info-file-checksum.c
M clang/test/CodeGen/dwarf-version.c
M clang/test/CodeGen/flexible-array-init.c
A clang/test/CodeGen/flexible-array-init.cpp
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGen/mips-varargs.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/no-bitfield-type-align.c
M clang/test/CodeGen/pr53127.cpp
M clang/test/CodeGen/pseudo-probe-emit.c
R clang/test/CodeGen/remote-traps.c
M clang/test/CodeGen/struct-x86-darwin.c
M clang/test/CodeGen/target-data.c
A clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/tbaa-struct.cpp
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
A clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGen/ubsan-shift-bitint.c
A clang/test/CodeGen/varargs-with-nonzero-default-address-space.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCUDA/record-layout.cu
A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
A clang/test/CodeGenCXX/bitfield-access-empty.cpp
A clang/test/CodeGenCXX/bitfield-access-tail.cpp
A clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/bitfield.cpp
M clang/test/CodeGenCXX/clang-sections.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/debug-info-alias.cpp
A clang/test/CodeGenCXX/defaulted-template-alias.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/ibm128-declarations.cpp
M clang/test/CodeGenCXX/mangle-ms-back-references.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
A clang/test/CodeGenCXX/template-alias.cpp
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
A clang/test/CodeGenCXX/variadic-template-alias.cpp
A clang/test/CodeGenCXX/x86_32-vaarg.cpp
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
A clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
A clang/test/CodeGenHLSL/convergent-functions.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
R clang/test/Driver/Inputs/in.so
R clang/test/Driver/Inputs/libomptarget/libomptarget-new-nvptx-sm_35.bc
R clang/test/Driver/Inputs/libomptarget/libomptarget-new-nvptx-test.bc
R clang/test/Driver/Inputs/openmp_static_device_link/empty.o
R clang/test/Driver/Inputs/openmp_static_device_link/lib.bc
R clang/test/Driver/Inputs/openmp_static_device_link/libFatArchive.a
M clang/test/Driver/aarch64-fixed-x-register.c
A clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/aarch64-sve.c
M clang/test/Driver/aix-toolchain-include.cpp
M clang/test/Driver/amdgpu-features.c
M clang/test/Driver/android-link.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/cl-outputs.c
M clang/test/Driver/cl-pch.cpp
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/compress.c
M clang/test/Driver/constructors.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/cuda-detect.cu
M clang/test/Driver/cuda-external-tools.cu
A clang/test/Driver/darwin-ld-reexports.c
A clang/test/Driver/debug-options-embed-source.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/dragonfly.c
M clang/test/Driver/env.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/haiku.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-link-shared-library.hip
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper-libs.c
M clang/test/Driver/linux-header-search.cpp
M clang/test/Driver/linux-ld.c
M clang/test/Driver/linux-musl-header-search.cpp
M clang/test/Driver/linux-per-target-runtime-dir.c
M clang/test/Driver/lld-repro.c
M clang/test/Driver/mcmodel.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/mips-reduced-toolchain.cpp
A clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/module-output.cppm
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/msvc-link.c
M clang/test/Driver/mtargetos-darwin.c
M clang/test/Driver/netbsd.cpp
M clang/test/Driver/ohos.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/pic.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/response-file-errs.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/solaris-ld-sanitizer.c
M clang/test/Driver/solaris-ld-values.c
M clang/test/Driver/solaris-ld-values.cpp
M clang/test/Driver/solaris-ld.c
M clang/test/Driver/toc-conf.c
A clang/test/Driver/version-build-config.test
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
A clang/test/Driver/windows-seh-async-verify.cpp
M clang/test/Driver/zos-ld.c
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/bool.c
M clang/test/ExtractAPI/bool.cpp
M clang/test/ExtractAPI/class.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/constructor_destructor.cpp
M clang/test/ExtractAPI/conversions.cpp
M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
M clang/test/ExtractAPI/enum.c
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/function_noexcepts.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_record.c
M clang/test/ExtractAPI/global_record_multifile.c
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/known_files_only.c
M clang/test/ExtractAPI/language.c
M clang/test/ExtractAPI/macro_undefined.c
M clang/test/ExtractAPI/macros.c
A clang/test/ExtractAPI/metadata_and_module.c
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/multiple_inheritance.cpp
M clang/test/ExtractAPI/namespace.cpp
M clang/test/ExtractAPI/nested_namespaces.cpp
M clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/objc_category.m
A clang/test/ExtractAPI/objc_external_category.m
M clang/test/ExtractAPI/objc_id_protocol.m
M clang/test/ExtractAPI/objc_instancetype.m
M clang/test/ExtractAPI/objc_interface.m
R clang/test/ExtractAPI/objc_module_category.m
M clang/test/ExtractAPI/objc_property.m
M clang/test/ExtractAPI/objc_protocol.m
R clang/test/ExtractAPI/objc_various_categories.m
M clang/test/ExtractAPI/operator_overload.cpp
M clang/test/ExtractAPI/relative_include.m
M clang/test/ExtractAPI/simple_inheritance.cpp
M clang/test/ExtractAPI/struct.c
M clang/test/ExtractAPI/typedef.c
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/ExtractAPI/typedef_chain.c
M clang/test/ExtractAPI/typedef_struct_enum.c
M clang/test/ExtractAPI/underscored.c
M clang/test/ExtractAPI/union.c
M clang/test/ExtractAPI/vfs_redirected_include.m
M clang/test/Format/lit.local.cfg
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/ms-intrin.cpp
M clang/test/Index/USR/func-type.cpp
M clang/test/Index/extract-api-cursor.m
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h
A clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/AAA.h
A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/SpecialUmbrella.h
A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/AAA_Private.h
A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h
A clang/test/InstallAPI/alias_list.test
A clang/test/InstallAPI/binary-attributes.test
A clang/test/InstallAPI/diagnostics-dsym.test
A clang/test/InstallAPI/diagnostics-zippered.test
M clang/test/InstallAPI/driver-invalid-options.test
A clang/test/InstallAPI/extra-exclude-headers.test
A clang/test/InstallAPI/forwarded-search-paths.test
M clang/test/InstallAPI/mismatching-objc-class-symbols.test
A clang/test/InstallAPI/reexported-frameworks.test
A clang/test/InstallAPI/rpath.test
A clang/test/InstallAPI/umbrella-headers-unix.test
A clang/test/InstallAPI/umbrella-headers.test
A clang/test/Interpreter/inline-asm.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/warning-flags.c
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/module.modulemap
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/ptrauth.h
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/stddef.h
M clang/test/Modules/builtin-import.mm
M clang/test/Modules/codegen.test
A clang/test/Modules/hashing-decls-in-exprs-from-gmf-2.cppm
A clang/test/Modules/home-is-cwd-search-paths.c
M clang/test/Modules/import-textual-noguard.mm
M clang/test/Modules/import-textual.mm
M clang/test/Modules/inconsistent-deduction-guide-linkage.cppm
M clang/test/Modules/language-linkage.cppm
A clang/test/Modules/modules-reduced-bmi.cppm
A clang/test/Modules/multiple-import.m
M clang/test/Modules/named-modules-adl-2.cppm
M clang/test/Modules/named-modules-adl.cppm
A clang/test/Modules/no-local-decl-in-reduced-bmi.cppm
M clang/test/Modules/placement-new-reachable.cpp
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr62589.cppm
A clang/test/Modules/pr85122.cppm
M clang/test/Modules/preferred_name.cppm
A clang/test/Modules/ptrauth-include-from-darwin.m
A clang/test/Modules/reduced-bmi-empty-module-purview-std.cppm
A clang/test/Modules/reduced-bmi-empty-module-purview.cppm
A clang/test/Modules/reduced-bmi-size.cppm
M clang/test/Modules/redundant-template-default-arg3.cpp
M clang/test/Modules/template-function-specialization.cpp
A clang/test/Modules/unreached-static-entities.cppm
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/atomic_capture_codegen.cpp
M clang/test/OpenMP/atomic_read_codegen.c
M clang/test/OpenMP/atomic_update_codegen.cpp
M clang/test/OpenMP/atomic_write_codegen.c
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
A clang/test/OpenMP/thread_limit_amdgpu.c
A clang/test/Options/enable_16bit_types_validation.hlsl
A clang/test/Options/enable_16bit_types_validation_spirv.hlsl
A clang/test/PCH/cxx23-deducing-this-lambda.cpp
M clang/test/PCH/cxx2a-defaulted-comparison.cpp
M clang/test/Parser/c2x-typeof-ext-warns.c
M clang/test/Parser/cxx-class.cpp
A clang/test/Parser/cxx2c-delete-with-message.cpp
M clang/test/Parser/pragma-unroll.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/x86_target_features.c
A clang/test/Sema/GH70594.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
A clang/test/Sema/alias-unused-win.cpp
R clang/test/Sema/alias-unused.c
A clang/test/Sema/alias-unused.cpp
M clang/test/Sema/attr-target-clones-aarch64.c
A clang/test/Sema/attr-target-riscv.c
M clang/test/Sema/attr-target-version.c
A clang/test/Sema/builtin-allow-runtime-check.c
M clang/test/Sema/code_align.c
A clang/test/Sema/complex-inc-dec.c
M clang/test/Sema/constant-builtins-2.c
A clang/test/Sema/constant-builtins-all-args-evaluated.cpp
M clang/test/Sema/flexible-array-in-union.c
A clang/test/Sema/format-strings-signedness-fixit.c
A clang/test/Sema/format-strings-signedness.c
M clang/test/Sema/nullability.c
A clang/test/Sema/recover-expr-gh88008-nocrash.c
M clang/test/Sema/static-assert.c
A clang/test/Sema/tentative-array-decl.c
M clang/test/Sema/transparent-union.c
A clang/test/SemaCXX/PR75221.cpp
A clang/test/SemaCXX/PR84020.cpp
A clang/test/SemaCXX/PR86790.cpp
A clang/test/SemaCXX/aarch64-sve-resolve-type.cpp
A clang/test/SemaCXX/attr-exclude_from_explicit_instantiation.local-class.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/builtins.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-delete-with-message.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
M clang/test/SemaCXX/explicit.cpp
A clang/test/SemaCXX/gh84473.cpp
M clang/test/SemaCXX/namespace-alias.cpp
M clang/test/SemaCXX/nullability.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
M clang/test/SemaCXX/type-traits.cpp
A clang/test/SemaCXX/typeof_unqual.cpp
M clang/test/SemaCXX/warn-exit-time-destructors.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-suggestions-crashes.cpp
M clang/test/SemaCXX/warn-unused-but-set-variables-cpp.cpp
A clang/test/SemaHLSL/ArrayParams.hlsl
A clang/test/SemaHLSL/ArrayTemporary.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
A clang/test/SemaHLSL/literal_suffixes.hlsl
A clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
A clang/test/SemaObjCXX/Inputs/nullability-consistency-smart.h
M clang/test/SemaObjCXX/nullability-consistency.mm
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-default-clause.c
A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
A clang/test/SemaOpenACC/compute-construct-if-clause.c
A clang/test/SemaOpenACC/compute-construct-if-clause.cpp
A clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
A clang/test/SemaTemplate/alias-template-with-lambdas.cpp
M clang/test/SemaTemplate/alias-templates.cpp
A clang/test/SemaTemplate/concepts-GH86757.cpp
M clang/test/SemaTemplate/concepts-friends.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
A clang/test/SemaTemplate/instantiate-pure-virtual-function.cpp
M clang/test/SemaTemplate/instantiation-depth-default.cpp
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-installapi/CMakeLists.txt
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXExtractAPI.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/scan-build/libexec/ccc-analyzer
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ASTTraverserTest.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/DeclTest.cpp
M clang/unittests/AST/Interp/CMakeLists.txt
A clang/unittests/AST/Interp/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Format/BracesRemoverTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
M clang/unittests/Tooling/CMakeLists.txt
R clang/unittests/Tooling/DependencyScannerTest.cpp
A clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
A clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/utils/analyzer/exploded-graph-rewriter.py
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/available_checks.html
M clang/www/c_dr_status.html
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/make_cxx_dr_status
A cmake/Modules/GetDarwinLinkerVersion.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/sanitizer/linux_syscall_hooks.h
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/lib/hwasan/hwasan_thread_list.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/msan/msan_linux.cpp
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_mips.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_msvc.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
M compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/scudo/standalone/string_utils.cpp
M compiler-rt/lib/scudo/standalone/string_utils.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/tsd.h
M compiler-rt/lib/scudo/standalone/vector.h
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/scudo/standalone/wrappers_c_checks.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/xray/xray_trampoline_AArch64.S
M compiler-rt/lib/xray/xray_trampoline_x86_64.S
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/dfsan/mmap_at_init.c
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
A compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
M compiler-rt/test/safestack/lit.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
A compiler-rt/test/tsan/Linux/signal_in_futex_wait.cpp
M compiler-rt/test/tsan/signal_errno.cpp
A compiler-rt/test/tsan/signal_in_mutex_lock.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_sync.cpp
M compiler-rt/test/tsan/signal_thread.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
M flang/.gitignore
A flang/cmake/modules/AddFlangOffloadRuntime.cmake
A flang/docs/DebugGeneration.md
M flang/docs/Extensions.md
M flang/docs/GettingStarted.md
M flang/docs/Intrinsics.md
M flang/docs/ModFiles.md
A flang/docs/Real16MathSupport.md
M flang/docs/index.md
M flang/include/flang/Common/Fortran.h
A flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/idioms.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Common/real.h
M flang/include/flang/Common/reference-wrapper.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/unwrap.h
A flang/include/flang/Common/variant.h
M flang/include/flang/Common/visit.h
A flang/include/flang/Common/windows-include.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Decimal/decimal.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/PreprocessorOptions.h
M flang/include/flang/ISO_Fortran_binding_wrapper.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/OpenMP.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
A flang/include/flang/Parser/preprocessor.h
A flang/include/flang/Parser/token-sequence.h
M flang/include/flang/Parser/tools.h
R flang/include/flang/Runtime/api-attrs.h
M flang/include/flang/Runtime/entry-names.h
M flang/include/flang/Runtime/extensions.h
A flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/iostat.h
M flang/include/flang/Runtime/memory.h
A flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Decimal/big-radix-floating-point.h
M flang/lib/Decimal/binary-to-decimal.cpp
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/constant.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
R flang/lib/Lower/OpenMP/ClauseT.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Runtime.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
R flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
A flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
R flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/token-sequence.cpp
R flang/lib/Parser/token-sequence.h
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-cuda.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.cpp
M flang/runtime/buffer.h
M flang/runtime/command.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/connection.cpp
M flang/runtime/connection.h
M flang/runtime/derived.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/emit-encoded.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/execute.cpp
M flang/runtime/extensions.cpp
M flang/runtime/external-unit.cpp
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
R flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/iostat.cpp
M flang/runtime/lock.h
M flang/runtime/memory.cpp
M flang/runtime/namelist.cpp
M flang/runtime/namelist.h
M flang/runtime/non-tbp-dio.h
M flang/runtime/numeric-templates.h
M flang/runtime/pointer.cpp
M flang/runtime/pseudo-unit.cpp
A flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/stat.h
M flang/runtime/terminator.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/runtime/utf.cpp
M flang/runtime/utf.h
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/lib/.keep
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/i386-unknown-linux-gnu/10.2.0/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtbeginT.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtfastmath.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtbeginT.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtfastmath.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.lld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/lib/.keep
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/asanrtl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/hip.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ockl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1010.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1011.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1012.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_803.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_900.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_908.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ocml.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/opencl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/asanrtl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/hip.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ockl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_400.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_500.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1010.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1011.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1012.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_803.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_900.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_908.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ocml.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/opencl.bc
A flang/test/Driver/Inputs/rocm/bin/.hipVersion
A flang/test/Driver/Inputs/rocm/include/hip/hip_runtime.h
A flang/test/Driver/Inputs/rocm/share/hip/hipVersion
A flang/test/Driver/arch-specific-libdir-rpath.f95
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/fopenmp.f90
A flang/test/Driver/gcc-toolchain-install-dir.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Driver/predefined-macros-powerpc2.f90
A flang/test/Evaluate/folding32.f90
M flang/test/Fir/boxproc-2.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
M flang/test/Lower/AMD/code-object-version.f90
A flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
A flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
A flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
A flang/test/Lower/HLFIR/procedure-pointer-component-default-init.f90
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/Intrinsics/maskl.f90
M flang/test/Lower/Intrinsics/maskr.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/simd.f90
M flang/test/Lower/OpenMP/FIR/target.f90
A flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-combined.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex.f90
A flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
A flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/call-by-value.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/stop-statement.f90
A flang/test/Parser/OpenMP/reduction-modifier.f90
M flang/test/Parser/compiler-directives.f90
A flang/test/Parser/unrecognized-dir.f90
A flang/test/Preprocessing/show-macros1.F90
A flang/test/Preprocessing/show-macros2.F90
A flang/test/Preprocessing/show-macros3.F90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/do20.f90
A flang/test/Semantics/OpenMP/reduction12.f90
A flang/test/Semantics/OpenMP/threadprivate07.f90
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf09.cuf
A flang/test/Semantics/cuf11.cuf
A flang/test/Semantics/cuf12.cuf
A flang/test/Semantics/deferred01.f90
M flang/test/Semantics/init01.f90
A flang/test/Semantics/intrinsics04.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/test/Semantics/resolve21.f90
M flang/test/Semantics/resolve29.f90
M flang/test/Semantics/resolve61.f90
M flang/test/Semantics/resolve81.f90
A flang/test/Semantics/structconst09.f90
M flang/test/Transforms/debug-line-table-existing.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table-inc-same-file.fir
M flang/test/Transforms/debug-line-table.fir
M flang/test/Transforms/stack-arrays.fir
M flang/tools/f18/CMakeLists.txt
A flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Reduction.cpp
M flang/unittests/Runtime/Time.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/api.td
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/c23.rst
M libc/docs/configure.rst
M libc/docs/contributing.rst
A libc/docs/ctype.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/config_options.rst
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
A libc/docs/fenv.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/rpc.rst
M libc/docs/index.rst
M libc/docs/math/index.rst
A libc/docs/signal.rst
M libc/docs/stdbit.rst
A libc/docs/threads.rst
M libc/docs/usage_modes.rst
M libc/examples/README.md
M libc/examples/examples.cmake
M libc/fuzzing/CMakeLists.txt
A libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/uint_fuzz.cpp
M libc/fuzzing/math/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
M libc/fuzzing/stdlib/CMakeLists.txt
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
A libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.h
A libc/hdr/math_macros.h
A libc/hdr/signal_macros.h
A libc/hdr/sys_epoll_macros.h
A libc/hdr/types/CMakeLists.txt
A libc/hdr/types/fenv_t.h
A libc/hdr/types/fexcept_t.h
A libc/hdr/types/sigset_t.h
A libc/hdr/types/struct_epoll_event.h
A libc/hdr/types/struct_timespec.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-epoll-macros.h
M libc/include/llvm-libc-macros/math-macros.h
A libc/include/llvm-libc-macros/sys-epoll-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/fsblkcnt_t.h
A libc/include/llvm-libc-types/fsfilcnt_t.h
A libc/include/llvm-libc-types/pthread_condattr_t.h
M libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/struct_epoll_event.h
A libc/include/llvm-libc-types/struct_statvfs.h
M libc/include/pthread.h.def
M libc/include/sys/epoll.h.def
A libc/include/sys/statvfs.h.def
M libc/spec/gpu_ext.td
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/type_traits/add_pointer.h
M libc/src/__support/CPP/type_traits/decay.h
M libc/src/__support/CPP/type_traits/is_destructible.h
M libc/src/__support/CPP/type_traits/is_function.h
M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
M libc/src/__support/CPP/type_traits/is_reference.h
M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
M libc/src/__support/CPP/type_traits/remove_all_extents.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/gpu/FMA.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/File/file.h
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
A libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/__support/OSUtil/baremetal/io.h
A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
R libc/src/__support/OSUtil/baremetal/quick_exit.h
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/quick_exit.h
M libc/src/__support/OSUtil/gpu/CMakeLists.txt
M libc/src/__support/OSUtil/gpu/quick_exit.cpp
R libc/src/__support/OSUtil/gpu/quick_exit.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/quick_exit.cpp
R libc/src/__support/OSUtil/linux/quick_exit.h
M libc/src/__support/OSUtil/quick_exit.h
M libc/src/__support/RPC/rpc.h
R libc/src/__support/UInt.h
R libc/src/__support/UInt128.h
M libc/src/__support/arg_list.h
A libc/src/__support/big_int.h
M libc/src/__support/char_vector.h
M libc/src/__support/fixedvector.h
M libc/src/__support/float_to_string.h
M libc/src/__support/hash.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/macros/config.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/macros/sanitizer.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
M libc/src/__support/number_pair.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
A libc/src/__support/uint128.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/fesetenv.h
A libc/src/fenv/fesetexcept.cpp
A libc/src/fenv/fesetexcept.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/fesetexceptflag.h
A libc/src/fenv/fetestexceptflag.cpp
A libc/src/fenv/fetestexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libc/src/fenv/feupdateenv.h
M libc/src/gpu/CMakeLists.txt
A libc/src/gpu/rpc_fprintf.cpp
A libc/src/gpu/rpc_fprintf.h
M libc/src/math/CMakeLists.txt
A libc/src/math/canonicalize.h
A libc/src/math/canonicalizef.h
A libc/src/math/canonicalizef128.h
A libc/src/math/canonicalizel.h
M libc/src/math/docs/add_math_function.md
A libc/src/math/exp2m1f.h
A libc/src/math/fmaximum.h
A libc/src/math/fmaximum_mag.h
A libc/src/math/fmaximum_mag_num.h
A libc/src/math/fmaximum_mag_numf.h
A libc/src/math/fmaximum_mag_numf128.h
A libc/src/math/fmaximum_mag_numl.h
A libc/src/math/fmaximum_magf.h
A libc/src/math/fmaximum_magf128.h
A libc/src/math/fmaximum_magl.h
A libc/src/math/fmaximum_num.h
A libc/src/math/fmaximum_numf.h
A libc/src/math/fmaximum_numf128.h
A libc/src/math/fmaximum_numl.h
A libc/src/math/fmaximumf.h
A libc/src/math/fmaximumf128.h
A libc/src/math/fmaximuml.h
A libc/src/math/fminimum.h
A libc/src/math/fminimum_mag.h
A libc/src/math/fminimum_mag_num.h
A libc/src/math/fminimum_mag_numf.h
A libc/src/math/fminimum_mag_numf128.h
A libc/src/math/fminimum_mag_numl.h
A libc/src/math/fminimum_magf.h
A libc/src/math/fminimum_magf128.h
A libc/src/math/fminimum_magl.h
A libc/src/math/fminimum_num.h
A libc/src/math/fminimum_numf.h
A libc/src/math/fminimum_numf128.h
A libc/src/math/fminimum_numl.h
A libc/src/math/fminimumf.h
A libc/src/math/fminimumf128.h
A libc/src/math/fminimuml.h
A libc/src/math/fromfp.h
A libc/src/math/fromfpf.h
A libc/src/math/fromfpf128.h
A libc/src/math/fromfpl.h
A libc/src/math/fromfpx.h
A libc/src/math/fromfpxf.h
A libc/src/math/fromfpxf128.h
A libc/src/math/fromfpxl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
A libc/src/math/generic/canonicalize.cpp
A libc/src/math/generic/canonicalizef.cpp
A libc/src/math/generic/canonicalizef128.cpp
A libc/src/math/generic/canonicalizel.cpp
A libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
A libc/src/math/generic/fmaximum.cpp
A libc/src/math/generic/fmaximum_mag.cpp
A libc/src/math/generic/fmaximum_mag_num.cpp
A libc/src/math/generic/fmaximum_mag_numf.cpp
A libc/src/math/generic/fmaximum_mag_numf128.cpp
A libc/src/math/generic/fmaximum_mag_numl.cpp
A libc/src/math/generic/fmaximum_magf.cpp
A libc/src/math/generic/fmaximum_magf128.cpp
A libc/src/math/generic/fmaximum_magl.cpp
A libc/src/math/generic/fmaximum_num.cpp
A libc/src/math/generic/fmaximum_numf.cpp
A libc/src/math/generic/fmaximum_numf128.cpp
A libc/src/math/generic/fmaximum_numl.cpp
A libc/src/math/generic/fmaximumf.cpp
A libc/src/math/generic/fmaximumf128.cpp
A libc/src/math/generic/fmaximuml.cpp
A libc/src/math/generic/fminimum.cpp
A libc/src/math/generic/fminimum_mag.cpp
A libc/src/math/generic/fminimum_mag_num.cpp
A libc/src/math/generic/fminimum_mag_numf.cpp
A libc/src/math/generic/fminimum_mag_numf128.cpp
A libc/src/math/generic/fminimum_mag_numl.cpp
A libc/src/math/generic/fminimum_magf.cpp
A libc/src/math/generic/fminimum_magf128.cpp
A libc/src/math/generic/fminimum_magl.cpp
A libc/src/math/generic/fminimum_num.cpp
A libc/src/math/generic/fminimum_numf.cpp
A libc/src/math/generic/fminimum_numf128.cpp
A libc/src/math/generic/fminimum_numl.cpp
A libc/src/math/generic/fminimumf.cpp
A libc/src/math/generic/fminimumf128.cpp
A libc/src/math/generic/fminimuml.cpp
A libc/src/math/generic/fromfp.cpp
A libc/src/math/generic/fromfpf.cpp
A libc/src/math/generic/fromfpf128.cpp
A libc/src/math/generic/fromfpl.cpp
A libc/src/math/generic/fromfpx.cpp
A libc/src/math/generic/fromfpxf.cpp
A libc/src/math/generic/fromfpxf128.cpp
A libc/src/math/generic/fromfpxl.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log_range_reduction.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
A libc/src/math/generic/roundeven.cpp
A libc/src/math/generic/roundevenf.cpp
A libc/src/math/generic/roundevenf128.cpp
A libc/src/math/generic/roundevenl.cpp
A libc/src/math/generic/ufromfp.cpp
A libc/src/math/generic/ufromfpf.cpp
A libc/src/math/generic/ufromfpf128.cpp
A libc/src/math/generic/ufromfpl.cpp
A libc/src/math/generic/ufromfpx.cpp
A libc/src/math/generic/ufromfpxf.cpp
A libc/src/math/generic/ufromfpxf128.cpp
A libc/src/math/generic/ufromfpxl.cpp
A libc/src/math/roundeven.h
A libc/src/math/roundevenf.h
A libc/src/math/roundevenf128.h
A libc/src/math/roundevenl.h
A libc/src/math/ufromfp.h
A libc/src/math/ufromfpf.h
A libc/src/math/ufromfpf128.h
A libc/src/math/ufromfpl.h
A libc/src/math/ufromfpx.h
A libc/src/math/ufromfpxf.h
A libc/src/math/ufromfpxf128.h
A libc/src/math/ufromfpxl.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_condattr_destroy.cpp
A libc/src/pthread/pthread_condattr_destroy.h
A libc/src/pthread/pthread_condattr_getclock.cpp
A libc/src/pthread/pthread_condattr_getclock.h
A libc/src/pthread/pthread_condattr_getpshared.cpp
A libc/src/pthread/pthread_condattr_getpshared.h
A libc/src/pthread/pthread_condattr_init.cpp
A libc/src/pthread/pthread_condattr_init.h
A libc/src/pthread/pthread_condattr_setclock.cpp
A libc/src/pthread/pthread_condattr_setclock.h
A libc/src/pthread/pthread_condattr_setpshared.cpp
A libc/src/pthread/pthread_condattr_setpshared.h
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/raise.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/signal/sigaddset.h
M libc/src/signal/sigdelset.h
M libc/src/signal/sigemptyset.h
M libc/src/signal/sigfillset.h
M libc/src/signal/sigprocmask.h
M libc/src/stdio/CMakeLists.txt
A libc/src/stdio/fseeko.h
A libc/src/stdio/ftello.h
M libc/src/stdio/generic/CMakeLists.txt
M libc/src/stdio/generic/fseek.cpp
A libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
A libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/exit.cpp
M libc/src/stdlib/str_from_util.h
A libc/src/stdlib/strfromd.cpp
A libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfromf.h
A libc/src/stdlib/strfroml.cpp
A libc/src/stdlib/strfroml.h
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtold.cpp
M libc/src/string/memory_utils/generic/builtin.h
M libc/src/string/memory_utils/utils.h
M libc/src/sys/CMakeLists.txt
M libc/src/sys/epoll/CMakeLists.txt
A libc/src/sys/epoll/epoll_create.h
A libc/src/sys/epoll/epoll_create1.h
A libc/src/sys/epoll/epoll_ctl.h
M libc/src/sys/epoll/epoll_pwait.h
M libc/src/sys/epoll/epoll_pwait2.h
M libc/src/sys/epoll/epoll_wait.h
M libc/src/sys/epoll/linux/CMakeLists.txt
A libc/src/sys/epoll/linux/epoll_create.cpp
A libc/src/sys/epoll/linux/epoll_create1.cpp
A libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/src/sys/select/linux/select.cpp
A libc/src/sys/statvfs/CMakeLists.txt
A libc/src/sys/statvfs/fstatvfs.h
A libc/src/sys/statvfs/linux/CMakeLists.txt
A libc/src/sys/statvfs/linux/fstatvfs.cpp
A libc/src/sys/statvfs/linux/statfs_utils.h
A libc/src/sys/statvfs/linux/statvfs.cpp
A libc/src/sys/statvfs/statvfs.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/_exit.cpp
A libc/src/unistd/_exit.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/pipe.cpp
A libc/src/unistd/pipe.h
M libc/test/CMakeLists.txt
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/PrintfMatcher.cpp
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/integration/src/stdio/CMakeLists.txt
A libc/test/integration/src/stdio/gpu/CMakeLists.txt
A libc/test/integration/src/stdio/gpu/printf.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
M libc/test/src/__support/arg_list_test.cpp
A libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/fixedvector_test.cpp
M libc/test/src/__support/high_precision_decimal_test.cpp
M libc/test/src/__support/integer_literals_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_fp_test.h
R libc/test/src/__support/uint_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
M libc/test/src/math/RemQuoTest.h
A libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
A libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/exp2m1f_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
A libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/explogxf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/ilogb_test.cpp
M libc/test/src/math/ilogbf_test.cpp
M libc/test/src/math/ilogbl_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
A libc/test/src/math/roundeven_test.cpp
A libc/test/src/math/roundevenf_test.cpp
A libc/test/src/math/roundevenl_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
A libc/test/src/math/smoke/FMaximumMagNumTest.h
A libc/test/src/math/smoke/FMaximumMagTest.h
A libc/test/src/math/smoke/FMaximumNumTest.h
A libc/test/src/math/smoke/FMaximumTest.h
A libc/test/src/math/smoke/FMinimumMagNumTest.h
A libc/test/src/math/smoke/FMinimumMagTest.h
A libc/test/src/math/smoke/FMinimumNumTest.h
A libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
A libc/test/src/math/smoke/FromfpTest.h
A libc/test/src/math/smoke/FromfpxTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
A libc/test/src/math/smoke/RoundEvenTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.h
A libc/test/src/math/smoke/UfromfpTest.h
A libc/test/src/math/smoke/UfromfpxTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
A libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
A libc/test/src/math/smoke/canonicalize_test.cpp
A libc/test/src/math/smoke/canonicalizef128_test.cpp
A libc/test/src/math/smoke/canonicalizef_test.cpp
A libc/test/src/math/smoke/canonicalizel_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
A libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_test.cpp
A libc/test/src/math/smoke/fmaximum_magf128_test.cpp
A libc/test/src/math/smoke/fmaximum_magf_test.cpp
A libc/test/src/math/smoke/fmaximum_magl_test.cpp
A libc/test/src/math/smoke/fmaximum_num_test.cpp
A libc/test/src/math/smoke/fmaximum_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_test.cpp
A libc/test/src/math/smoke/fmaximumf128_test.cpp
A libc/test/src/math/smoke/fmaximumf_test.cpp
A libc/test/src/math/smoke/fmaximuml_test.cpp
A libc/test/src/math/smoke/fminimum_mag_num_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
A libc/test/src/math/smoke/fminimum_mag_test.cpp
A libc/test/src/math/smoke/fminimum_magf128_test.cpp
A libc/test/src/math/smoke/fminimum_magf_test.cpp
A libc/test/src/math/smoke/fminimum_magl_test.cpp
A libc/test/src/math/smoke/fminimum_num_test.cpp
A libc/test/src/math/smoke/fminimum_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_numf_test.cpp
A libc/test/src/math/smoke/fminimum_numl_test.cpp
A libc/test/src/math/smoke/fminimum_test.cpp
A libc/test/src/math/smoke/fminimumf128_test.cpp
A libc/test/src/math/smoke/fminimumf_test.cpp
A libc/test/src/math/smoke/fminimuml_test.cpp
A libc/test/src/math/smoke/fromfp_test.cpp
A libc/test/src/math/smoke/fromfpf128_test.cpp
A libc/test/src/math/smoke/fromfpf_test.cpp
A libc/test/src/math/smoke/fromfpl_test.cpp
A libc/test/src/math/smoke/fromfpx_test.cpp
A libc/test/src/math/smoke/fromfpxf128_test.cpp
A libc/test/src/math/smoke/fromfpxf_test.cpp
A libc/test/src/math/smoke/fromfpxl_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
A libc/test/src/math/smoke/roundeven_test.cpp
A libc/test/src/math/smoke/roundevenf128_test.cpp
A libc/test/src/math/smoke/roundevenf_test.cpp
A libc/test/src/math/smoke/roundevenl_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
A libc/test/src/math/smoke/ufromfp_test.cpp
A libc/test/src/math/smoke/ufromfpf128_test.cpp
A libc/test/src/math/smoke/ufromfpf_test.cpp
A libc/test/src/math/smoke/ufromfpl_test.cpp
A libc/test/src/math/smoke/ufromfpx_test.cpp
A libc/test/src/math/smoke/ufromfpxf128_test.cpp
A libc/test/src/math/smoke/ufromfpxf_test.cpp
A libc/test/src/math/smoke/ufromfpxl_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/pthread/CMakeLists.txt
A libc/test/src/pthread/pthread_condattr_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/ftell_test.cpp
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/StrfromTest.h
A libc/test/src/stdlib/strfromd_test.cpp
M libc/test/src/stdlib/strfromf_test.cpp
A libc/test/src/stdlib/strfroml_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/sys/CMakeLists.txt
M libc/test/src/sys/epoll/linux/CMakeLists.txt
A libc/test/src/sys/epoll/linux/epoll_create1_test.cpp
A libc/test/src/sys/epoll/linux/epoll_create_test.cpp
A libc/test/src/sys/epoll/linux/epoll_ctl_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
M libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M libc/test/src/sys/random/linux/CMakeLists.txt
A libc/test/src/sys/statvfs/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
A libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/_exit_test.cpp
A libc/test/src/unistd/pipe_test.cpp
M libc/test/utils/FPUtil/CMakeLists.txt
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/HdrGen/Generator.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
A libc/utils/docgen/ctype.json
A libc/utils/docgen/docgen.py
A libc/utils/docgen/fenv.json
A libc/utils/docgen/signal.json
A libc/utils/docgen/stdbit.json
A libc/utils/docgen/threads.json
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M libc/utils/gpu/loader/nvptx/Loader.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/llvmlibc_rpc_server.h
M libc/utils/gpu/server/rpc_server.cpp
M libclc/CMakeLists.txt
R libclc/cmake/CMakeCLCCompiler.cmake.in
R libclc/cmake/CMakeCLCInformation.cmake
R libclc/cmake/CMakeDetermineCLCCompiler.cmake
R libclc/cmake/CMakeDetermineLLAsmCompiler.cmake
R libclc/cmake/CMakeLLAsmCompiler.cmake.in
R libclc/cmake/CMakeLLAsmInformation.cmake
R libclc/cmake/CMakeTestCLCCompiler.cmake
R libclc/cmake/CMakeTestLLAsmCompiler.cmake
A libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/lib/SOURCES
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/minmax.bench.cpp
A libcxx/benchmarks/algorithms/mismatch.bench.cpp
A libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
M libcxx/cmake/caches/Apple.cmake
M libcxx/docs/BuildingLibcxx.rst
A libcxx/docs/DesignDocs/NodiscardPolicy.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/docs/Status/SpaceshipPapers.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/pstl_any_all_none_of.h
R libcxx/include/__algorithm/pstl_backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__algorithm/ranges_contains_subrange.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_starts_with.h
A libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__availability
M libcxx/include/__bit/bit_cast.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/leap_second.h
A libcxx/include/__chrono/local_info.h
M libcxx/include/__chrono/ostream.h
A libcxx/include/__chrono/sys_info.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__config
M libcxx/include/__config_site.in
A libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__exception/operations.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__filesystem/copy_options.h
M libcxx/include/__filesystem/directory_options.h
M libcxx/include/__filesystem/file_status.h
M libcxx/include/__filesystem/file_time_type.h
M libcxx/include/__filesystem/file_type.h
M libcxx/include/__filesystem/perm_options.h
M libcxx/include/__filesystem/perms.h
M libcxx/include/__filesystem/space_info.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/formatter.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/bind_back.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
A libcxx/include/__fwd/deque.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/ios.h
A libcxx/include/__fwd/memory.h
A libcxx/include/__fwd/queue.h
M libcxx/include/__fwd/sstream.h
A libcxx/include/__fwd/stack.h
M libcxx/include/__fwd/string.h
A libcxx/include/__fwd/vector.h
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__locale
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/construct_at.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
A libcxx/include/__pstl/backends/libdispatch.h
A libcxx/include/__pstl/backends/serial.h
A libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/configuration.h
A libcxx/include/__pstl/configuration_fwd.h
A libcxx/include/__pstl/cpu_algos/any_of.h
A libcxx/include/__pstl/cpu_algos/cpu_traits.h
A libcxx/include/__pstl/cpu_algos/fill.h
A libcxx/include/__pstl/cpu_algos/find_if.h
A libcxx/include/__pstl/cpu_algos/for_each.h
A libcxx/include/__pstl/cpu_algos/merge.h
A libcxx/include/__pstl/cpu_algos/stable_sort.h
A libcxx/include/__pstl/cpu_algos/transform.h
A libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__ranges/as_rvalue_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__ranges/to.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__stop_token/stop_callback.h
M libcxx/include/__system_error/errc.h
M libcxx/include/__thread/support/pthread.h
R libcxx/include/__tuple/pair_like.h
M libcxx/include/__tuple/tuple_like.h
A libcxx/include/__tuple/tuple_like_no_subrange.h
M libcxx/include/__type_traits/apply_cv.h
M libcxx/include/__type_traits/copy_cv.h
A libcxx/include/__type_traits/desugars_to.h
R libcxx/include/__type_traits/operation_traits.h
M libcxx/include/__type_traits/remove_cv.h
M libcxx/include/__utility/is_pointer_in_range.h
A libcxx/include/__utility/is_valid_range.h
M libcxx/include/__utility/pair.h
A libcxx/include/__utility/private_constructor_tag.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/cerrno
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/deque
M libcxx/include/format
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/iosfwd
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/libcxx.imp
M libcxx/include/locale
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/new
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/semaphore
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/stack
M libcxx/include/stddef.h
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/strstream
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/typeinfo
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/functional.inc
M libcxx/modules/std/locale.inc
M libcxx/modules/std/memory.inc
M libcxx/modules/std/strstream.inc
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
M libcxx/src/include/overridable_function.h
R libcxx/src/include/tzdb/time_zone_link_private.h
M libcxx/src/include/tzdb/time_zone_private.h
M libcxx/src/include/tzdb/types_private.h
M libcxx/src/include/tzdb/tzdb_list_private.h
M libcxx/src/locale.cpp
M libcxx/src/pstl/libdispatch.cpp
M libcxx/src/random.cpp
M libcxx/src/time_zone.cpp
M libcxx/src/tzdb.cpp
M libcxx/src/tzdb_list.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
A libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.deprecated.verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp20_features.deprecated.verify.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/leap_seconds.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
A libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
A libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains_subrange.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_found_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_fun_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_value_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/min_max_result.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/deduct.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/deduct.pass.cpp
R libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.dest/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cp_size_cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cscp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cucp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/custom_alloc.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/scp_size_scp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ucp_size_ucp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/pbackfail.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekoff.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekpos.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/underflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/types.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
A libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
A libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/seekoff.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
A libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.mandates.verify.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Commit: 60320451165598c2ef11b7bc62e874e425ddaf03
https://github.com/llvm/llvm-project/commit/60320451165598c2ef11b7bc62e874e425ddaf03
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/email-check.yaml
A .github/workflows/issue-write.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/pr-code-format.yml
M .github/workflows/release-lit.yml
M .github/workflows/scorecard.yml
M bolt/docs/BAT.md
M bolt/include/bolt/Core/AddressMap.h
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryData.h
M bolt/include/bolt/Core/BinaryDomTree.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinaryLoop.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/FunctionLayout.h
M bolt/include/bolt/Core/MCPlus.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/include/bolt/Passes/CacheMetrics.h
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/include/bolt/Passes/ReachingDefOrUse.h
M bolt/include/bolt/Passes/ReachingInsns.h
M bolt/include/bolt/Passes/ReorderUtils.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/ProfileReaderBase.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/include/bolt/Rewrite/MetadataManager.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
M bolt/include/bolt/Utils/NameShortener.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/CMOVConversion.cpp
M bolt/lib/Passes/FixRISCVCallsPass.cpp
M bolt/lib/Passes/FixRelaxationPass.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Passes/ValidateInternalCalls.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/CMakeLists.txt
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/Heatmap.cpp
R bolt/lib/Profile/ProfileReaderBase.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
A bolt/test/X86/dwarf4-label-low-pc.s
A bolt/test/X86/dwarf5-debug-names-cross-cu.s
M bolt/test/X86/dwarf5-label-low-pc.s
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
M bolt/test/X86/patch-entries.test
A bolt/test/X86/yaml-secondary-entry-discriminator.s
A bolt/test/runtime/X86/jt-confusion.s
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/heatmap/heatmap.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
A clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/support/Trace.h
M clang-tools-extra/clangd/test/inlayHints.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/clangd/unittests/TestIndex.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-use-errs.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/ignored-remove-result.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang/CMakeLists.txt
M clang/cmake/caches/Apple-stage2.cmake
M clang/cmake/caches/CrossWinToARMLinux.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/HLSL.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/FunctionCalls.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/NestedNameSpecifier.h
A clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
R clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/DataflowLattice.h
M clang/include/clang/Analysis/FlowSensitive/Value.h
M clang/include/clang/Analysis/PathDiagnostic.h
M clang/include/clang/Analysis/SelectorExtras.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/IdentifierTable.h
A clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/riscv_vector.td
A clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CMakeLists.txt
M clang/include/clang/CodeGen/CodeGenAction.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
A clang/include/clang/ExtractAPI/APIRecords.inc
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIActionBase.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/FrontendActions.h
A clang/include/clang/ExtractAPI/Serialization/APISetVisitor.h
R clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/InstallAPI/Context.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/ExternalPreprocessorSource.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
A clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaCUDA.h
A clang/include/clang/Sema/SemaHLSL.h
A clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaOpenMP.h
A clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/include/clang/Serialization/PCHContainerOperations.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/TransAPIUses.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.h
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/Interp/Record.h
M clang/lib/AST/Interp/State.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
A clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/SelectorLocationsKind.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/DebugSupport.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/lib/Analysis/ObjCNoReturn.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/M68k.h
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/VE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
A clang/lib/CIR/CMakeLists.txt
M clang/lib/CMakeLists.txt
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBlocks.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Clang.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__stddef_unreachable.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
A clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/Serialization/PCHContainerOperations.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
A clang/test/APINotes/Inputs/APINotes/SomeOtherKit.apinotes
A clang/test/APINotes/Inputs/BrokenHeaders/APINotes.apinotes
A clang/test/APINotes/Inputs/BrokenHeaders/SomeBrokenLib.h
A clang/test/APINotes/Inputs/BrokenHeaders2/APINotes.apinotes
A clang/test/APINotes/Inputs/BrokenHeaders2/SomeBrokenLib.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Headers/FrameworkWithActualPrivateModule.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/Modules/module.private.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithActualPrivateModule.framework/PrivateHeaders/FrameworkWithActualPrivateModule_Private.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Headers/FrameworkWithWrongCase.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCase.framework/PrivateHeaders/FrameworkWithWrongCase_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Headers/FrameworkWithWrongCasePrivate.h
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/Modules/module.private.modulemap
A clang/test/APINotes/Inputs/Frameworks/FrameworkWithWrongCasePrivate.framework/PrivateHeaders/FrameworkWithWrongCasePrivate_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Headers/LayeredKit.h
A clang/test/APINotes/Inputs/Frameworks/LayeredKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.apinotes
A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Headers/LayeredKitImpl.h
A clang/test/APINotes/Inputs/Frameworks/LayeredKitImpl.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/SimpleKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit_private.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKitForNullAnnotation.h
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module.private.modulemap
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Modules/module_private.modulemap
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_Private.h
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_PrivateForNullAnnotation.h
A clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/PrivateHeaders/SomeKit_private.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/APINotes/SomeOtherKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Headers/SomeOtherKit.h
A clang/test/APINotes/Inputs/Frameworks/SomeOtherKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit.h
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Headers/TopLevelPrivateKit_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/Modules/module.private.modulemap
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.apinotes
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private.h
A clang/test/APINotes/Inputs/Frameworks/TopLevelPrivateKit.framework/PrivateHeaders/TopLevelPrivateKit_Private_private.apinotes
A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.apinotes
A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Headers/VersionedKit.h
A clang/test/APINotes/Inputs/Frameworks/VersionedKit.framework/Modules/module.modulemap
A clang/test/APINotes/Inputs/Headers/APINotes.apinotes
A clang/test/APINotes/Inputs/Headers/BrokenTypes.apinotes
A clang/test/APINotes/Inputs/Headers/BrokenTypes.h
A clang/test/APINotes/Inputs/Headers/ExportAs.apinotes
A clang/test/APINotes/Inputs/Headers/ExportAs.h
A clang/test/APINotes/Inputs/Headers/ExportAsCore.h
A clang/test/APINotes/Inputs/Headers/ExternCtx.apinotes
A clang/test/APINotes/Inputs/Headers/ExternCtx.h
A clang/test/APINotes/Inputs/Headers/HeaderLib.apinotes
A clang/test/APINotes/Inputs/Headers/HeaderLib.h
A clang/test/APINotes/Inputs/Headers/InstancetypeModule.apinotes
A clang/test/APINotes/Inputs/Headers/InstancetypeModule.h
A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase.h
A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate.h
A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCasePrivate_Private.apinotes
A clang/test/APINotes/Inputs/Headers/ModuleWithWrongCase_Private.apinotes
A clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
A clang/test/APINotes/Inputs/Headers/Namespaces.h
A clang/test/APINotes/Inputs/Headers/PrivateLib.apinotes
A clang/test/APINotes/Inputs/Headers/PrivateLib.h
A clang/test/APINotes/Inputs/Headers/PrivateLib_private.apinotes
A clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
A clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
A clang/test/APINotes/Inputs/Headers/Templates.apinotes
A clang/test/APINotes/Inputs/Headers/Templates.h
A clang/test/APINotes/Inputs/Headers/module.modulemap
A clang/test/APINotes/Inputs/Headers/module.private.modulemap
A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.apinotes
A clang/test/APINotes/Inputs/yaml-reader-errors/UIKit.h
A clang/test/APINotes/Inputs/yaml-reader-errors/module.modulemap
A clang/test/APINotes/availability.m
A clang/test/APINotes/broken_types.m
A clang/test/APINotes/case-for-private-apinotes-file.c
A clang/test/APINotes/export-as.c
A clang/test/APINotes/extern-context.cpp
A clang/test/APINotes/instancetype.m
A clang/test/APINotes/module-cache.m
A clang/test/APINotes/namespaces.cpp
A clang/test/APINotes/nullability.c
A clang/test/APINotes/nullability.m
A clang/test/APINotes/objc-forward-declarations.m
A clang/test/APINotes/objc_designated_inits.m
A clang/test/APINotes/properties.m
A clang/test/APINotes/retain-count-convention.m
A clang/test/APINotes/search-order.m
A clang/test/APINotes/swift-import-as.cpp
A clang/test/APINotes/templates.cpp
A clang/test/APINotes/top-level-private-modules.c
A clang/test/APINotes/types.m
A clang/test/APINotes/versioned-multi.c
A clang/test/APINotes/versioned.m
A clang/test/APINotes/yaml-convert-diags.c
A clang/test/APINotes/yaml-parse-diags.c
A clang/test/APINotes/yaml-reader-errors.m
M clang/test/AST/Interp/arrays.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/const-eval.c
M clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/ms.cpp
M clang/test/AST/Interp/records.cpp
A clang/test/AST/Interp/vectors.cpp
A clang/test/AST/Interp/weak.cpp
M clang/test/AST/ast-dump-attr-json.cpp
A clang/test/AST/ast-dump-cxx2c-delete-with-message.cpp
A clang/test/AST/ast-dump-default-arg-json.cpp
A clang/test/AST/ast-dump-default-init-json.cpp
A clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/AST/ast-dump-invalid.cpp
A clang/test/AST/ast-print-cxx2c-delete-with-message.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/ArrayDelete.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-display-progress.cpp
M clang/test/Analysis/analyzer-display-progress.m
A clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/exercise-ps.c
M clang/test/Analysis/explain-svals.cpp
A clang/test/Analysis/getline-cpp.cpp
A clang/test/Analysis/invalid-ptr-checker.cpp
M clang/test/Analysis/invalidated-iterator.cpp
A clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stackaddrleak.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
A clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
A clang/test/C/C11/n1365.c
A clang/test/C/C11/n1482.c
A clang/test/C/C11/n1514.c
M clang/test/C/C2x/n2350.c
A clang/test/C/C99/Inputs/nested-include.h
A clang/test/C/C99/block-scopes.c
A clang/test/C/C99/digraphs.c
A clang/test/C/C99/float_h-characteristics.c
A clang/test/C/C99/n570.c
A clang/test/C/C99/n590.c
A clang/test/C/C99/n696.c
A clang/test/C/C99/n717.c
A clang/test/C/C99/n782.c
A clang/test/C/C99/n809.c
A clang/test/C/C99/n809_2.c
A clang/test/C/C99/n809_3.c
A clang/test/C/C99/n835.c
A clang/test/C/drs/dr290.c
M clang/test/C/drs/dr4xx.c
M clang/test/C/drs/dr5xx.c
M clang/test/CMakeLists.txt
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6-cxx23.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
A clang/test/CXX/drs/cwg118.cpp
A clang/test/CXX/drs/cwg124.cpp
A clang/test/CXX/drs/cwg158.cpp
A clang/test/CXX/drs/cwg1748.cpp
A clang/test/CXX/drs/cwg177x.cpp
A clang/test/CXX/drs/cwg1807.cpp
A clang/test/CXX/drs/cwg185.cpp
A clang/test/CXX/drs/cwg193.cpp
A clang/test/CXX/drs/cwg199.cpp
A clang/test/CXX/drs/cwg201.cpp
A clang/test/CXX/drs/cwg210.cpp
A clang/test/CXX/drs/cwg2335.cpp
A clang/test/CXX/drs/cwg2390.cpp
A clang/test/CXX/drs/cwg2504.cpp
A clang/test/CXX/drs/cwg292.cpp
A clang/test/CXX/drs/cwg392.cpp
A clang/test/CXX/drs/cwg412.cpp
A clang/test/CXX/drs/cwg438.cpp
A clang/test/CXX/drs/cwg439.cpp
A clang/test/CXX/drs/cwg441.cpp
A clang/test/CXX/drs/cwg462.cpp
A clang/test/CXX/drs/cwg492.cpp
A clang/test/CXX/drs/cwg519.cpp
A clang/test/CXX/drs/cwg571.cpp
A clang/test/CXX/drs/cwg605.cpp
A clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/drs/cwg653.cpp
A clang/test/CXX/drs/cwg658.cpp
A clang/test/CXX/drs/cwg661.cpp
A clang/test/CXX/drs/cwg672.cpp
A clang/test/CXX/drs/cwgr593.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr118.cpp
M clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr124.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr158.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr1748.cpp
R clang/test/CXX/drs/dr177x.cpp
M clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr1807.cpp
R clang/test/CXX/drs/dr185.cpp
M clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr193.cpp
R clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr19xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr201.cpp
M clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr210.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr2335.cpp
R clang/test/CXX/drs/dr2390.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr412.cpp
R clang/test/CXX/drs/dr438.cpp
R clang/test/CXX/drs/dr439.cpp
R clang/test/CXX/drs/dr441.cpp
R clang/test/CXX/drs/dr462.cpp
R clang/test/CXX/drs/dr492.cpp
M clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr519.cpp
R clang/test/CXX/drs/dr571.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CXX/drs/dr7xx.cpp
M clang/test/CXX/drs/dr8xx.cpp
M clang/test/CXX/drs/dr9xx.cpp
A clang/test/CXX/module/module.glob.frag/cxx20-10-4-ex2.cppm
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/ClangScanDeps/Inputs/removed-args/cdb.json.template
M clang/test/ClangScanDeps/error.cpp
M clang/test/ClangScanDeps/module-format.c
M clang/test/ClangScanDeps/modules-extern-unrelated.m
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/test/ClangScanDeps/removed-args.c
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/CSKY/csky-abi.c
M clang/test/CodeGen/LoongArch/abi-lp64d.c
A clang/test/CodeGen/M68k/inline-asm-gcc-regs.c
M clang/test/CodeGen/PowerPC/aix-altivec-vaargs.c
M clang/test/CodeGen/PowerPC/aix-vaargs.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
A clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
A clang/test/CodeGen/RISCV/riscv-vector-callingconv.c
A clang/test/CodeGen/RISCV/riscv-vector-callingconv.cpp
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbb-error.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbkb-error.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-error.c
M clang/test/CodeGen/WebAssembly/wasm-varargs.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/X86/va-arg-sse.c
M clang/test/CodeGen/X86/x86-cf-protection.c
M clang/test/CodeGen/X86/x86_64-arguments.c
A clang/test/CodeGen/X86/x86_64-vaarg.c
A clang/test/CodeGen/aapcs-bitfield-access-unit.c
M clang/test/CodeGen/aapcs-bitfield.c
M clang/test/CodeGen/aarch64-ABI-align-packed.c
A clang/test/CodeGen/aarch64-mixed-target-attributes.c
A clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/alias.cpp
A clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-bitfield-alignment.c
A clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-varargs.c
M clang/test/CodeGen/arm64-be-bitfield.c
M clang/test/CodeGen/atomic.c
A clang/test/CodeGen/attr-counted-by-debug-info.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/bitfield-2.c
A clang/test/CodeGen/bitfield-access-pad.c
A clang/test/CodeGen/bitfield-access-unit.c
A clang/test/CodeGen/builtin-allow-runtime-check.cpp
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
A clang/test/CodeGen/cfi-check-attrs.c
M clang/test/CodeGen/cfi-check-fail.c
M clang/test/CodeGen/clang-sections-attribute.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/debug-info-bitfield-0-struct.c
M clang/test/CodeGen/debug-info-cc.c
M clang/test/CodeGen/debug-info-file-checksum.c
M clang/test/CodeGen/dwarf-version.c
M clang/test/CodeGen/flexible-array-init.c
A clang/test/CodeGen/flexible-array-init.cpp
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGen/mips-varargs.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/no-bitfield-type-align.c
M clang/test/CodeGen/pr53127.cpp
M clang/test/CodeGen/pseudo-probe-emit.c
R clang/test/CodeGen/remote-traps.c
M clang/test/CodeGen/struct-x86-darwin.c
M clang/test/CodeGen/target-data.c
A clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/tbaa-struct.cpp
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
A clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGen/ubsan-shift-bitint.c
A clang/test/CodeGen/varargs-with-nonzero-default-address-space.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCUDA/record-layout.cu
A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
A clang/test/CodeGenCXX/bitfield-access-empty.cpp
A clang/test/CodeGenCXX/bitfield-access-tail.cpp
A clang/test/CodeGenCXX/bitfield-ir.cpp
M clang/test/CodeGenCXX/bitfield.cpp
M clang/test/CodeGenCXX/clang-sections.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/debug-info-alias.cpp
A clang/test/CodeGenCXX/defaulted-template-alias.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/ibm128-declarations.cpp
M clang/test/CodeGenCXX/mangle-ms-back-references.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
A clang/test/CodeGenCXX/template-alias.cpp
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
A clang/test/CodeGenCXX/variadic-template-alias.cpp
A clang/test/CodeGenCXX/x86_32-vaarg.cpp
M clang/test/CodeGenCXX/x86_64-vaarg.cpp
A clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
R clang/test/CodeGenHLSL/builtins/bitreverse.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
A clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
A clang/test/CodeGenHLSL/convergent-functions.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
R clang/test/Driver/Inputs/in.so
R clang/test/Driver/Inputs/libomptarget/libomptarget-new-nvptx-sm_35.bc
R clang/test/Driver/Inputs/libomptarget/libomptarget-new-nvptx-test.bc
R clang/test/Driver/Inputs/openmp_static_device_link/empty.o
R clang/test/Driver/Inputs/openmp_static_device_link/lib.bc
R clang/test/Driver/Inputs/openmp_static_device_link/libFatArchive.a
M clang/test/Driver/aarch64-fixed-x-register.c
A clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/aarch64-sve.c
M clang/test/Driver/aix-toolchain-include.cpp
M clang/test/Driver/amdgpu-features.c
M clang/test/Driver/android-link.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/cl-outputs.c
M clang/test/Driver/cl-pch.cpp
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/compress.c
M clang/test/Driver/constructors.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/cuda-detect.cu
M clang/test/Driver/cuda-external-tools.cu
A clang/test/Driver/darwin-ld-reexports.c
A clang/test/Driver/debug-options-embed-source.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/dragonfly.c
M clang/test/Driver/env.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/haiku.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-link-shared-library.hip
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper-libs.c
M clang/test/Driver/linux-header-search.cpp
M clang/test/Driver/linux-ld.c
M clang/test/Driver/linux-musl-header-search.cpp
M clang/test/Driver/linux-per-target-runtime-dir.c
M clang/test/Driver/lld-repro.c
M clang/test/Driver/mcmodel.c
M clang/test/Driver/mingw-sanitizers.c
M clang/test/Driver/mips-reduced-toolchain.cpp
A clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/module-output.cppm
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/msvc-link.c
M clang/test/Driver/mtargetos-darwin.c
M clang/test/Driver/netbsd.cpp
M clang/test/Driver/ohos.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/pic.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/response-file-errs.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/solaris-ld-sanitizer.c
M clang/test/Driver/solaris-ld-values.c
M clang/test/Driver/solaris-ld-values.cpp
M clang/test/Driver/solaris-ld.c
M clang/test/Driver/toc-conf.c
A clang/test/Driver/version-build-config.test
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
A clang/test/Driver/windows-seh-async-verify.cpp
M clang/test/Driver/zos-ld.c
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/bool.c
M clang/test/ExtractAPI/bool.cpp
M clang/test/ExtractAPI/class.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/constructor_destructor.cpp
M clang/test/ExtractAPI/conversions.cpp
M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
M clang/test/ExtractAPI/enum.c
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/function_noexcepts.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_record.c
M clang/test/ExtractAPI/global_record_multifile.c
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/known_files_only.c
M clang/test/ExtractAPI/language.c
M clang/test/ExtractAPI/macro_undefined.c
M clang/test/ExtractAPI/macros.c
A clang/test/ExtractAPI/metadata_and_module.c
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/multiple_inheritance.cpp
M clang/test/ExtractAPI/namespace.cpp
M clang/test/ExtractAPI/nested_namespaces.cpp
M clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/objc_category.m
A clang/test/ExtractAPI/objc_external_category.m
M clang/test/ExtractAPI/objc_id_protocol.m
M clang/test/ExtractAPI/objc_instancetype.m
M clang/test/ExtractAPI/objc_interface.m
R clang/test/ExtractAPI/objc_module_category.m
M clang/test/ExtractAPI/objc_property.m
M clang/test/ExtractAPI/objc_protocol.m
R clang/test/ExtractAPI/objc_various_categories.m
M clang/test/ExtractAPI/operator_overload.cpp
M clang/test/ExtractAPI/relative_include.m
M clang/test/ExtractAPI/simple_inheritance.cpp
M clang/test/ExtractAPI/struct.c
M clang/test/ExtractAPI/typedef.c
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/ExtractAPI/typedef_chain.c
M clang/test/ExtractAPI/typedef_struct_enum.c
M clang/test/ExtractAPI/underscored.c
M clang/test/ExtractAPI/union.c
M clang/test/ExtractAPI/vfs_redirected_include.m
M clang/test/Format/lit.local.cfg
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/ms-intrin.cpp
M clang/test/Index/USR/func-type.cpp
M clang/test/Index/extract-api-cursor.m
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h
A clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI1.h
A clang/test/InstallAPI/Inputs/Simple/Extra/SimpleExtraAPI2.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Basic.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/External.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/Simple.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/Headers/SimpleAPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivate.h
A clang/test/InstallAPI/Inputs/Simple/Simple.framework/PrivateHeaders/SimplePrivateSPI.h
A clang/test/InstallAPI/Inputs/Simple/Simple.yaml
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalAPI2.h
A clang/test/InstallAPI/Inputs/Simple/SimpleInternalSPI.h
A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/AAA.h
A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/Headers/SpecialUmbrella.h
A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/AAA_Private.h
A clang/test/InstallAPI/Inputs/Umbrella/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h
A clang/test/InstallAPI/alias_list.test
A clang/test/InstallAPI/binary-attributes.test
A clang/test/InstallAPI/diagnostics-dsym.test
A clang/test/InstallAPI/diagnostics-zippered.test
M clang/test/InstallAPI/driver-invalid-options.test
A clang/test/InstallAPI/extra-exclude-headers.test
A clang/test/InstallAPI/forwarded-search-paths.test
M clang/test/InstallAPI/mismatching-objc-class-symbols.test
A clang/test/InstallAPI/reexported-frameworks.test
A clang/test/InstallAPI/rpath.test
A clang/test/InstallAPI/umbrella-headers-unix.test
A clang/test/InstallAPI/umbrella-headers.test
A clang/test/Interpreter/inline-asm.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/warning-flags.c
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/module.modulemap
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/ptrauth.h
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/stddef.h
M clang/test/Modules/builtin-import.mm
M clang/test/Modules/codegen.test
A clang/test/Modules/hashing-decls-in-exprs-from-gmf-2.cppm
A clang/test/Modules/home-is-cwd-search-paths.c
M clang/test/Modules/import-textual-noguard.mm
M clang/test/Modules/import-textual.mm
M clang/test/Modules/inconsistent-deduction-guide-linkage.cppm
M clang/test/Modules/language-linkage.cppm
A clang/test/Modules/modules-reduced-bmi.cppm
A clang/test/Modules/multiple-import.m
M clang/test/Modules/named-modules-adl-2.cppm
M clang/test/Modules/named-modules-adl.cppm
A clang/test/Modules/no-local-decl-in-reduced-bmi.cppm
M clang/test/Modules/placement-new-reachable.cpp
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr62589.cppm
A clang/test/Modules/pr85122.cppm
M clang/test/Modules/preferred_name.cppm
A clang/test/Modules/ptrauth-include-from-darwin.m
A clang/test/Modules/reduced-bmi-empty-module-purview-std.cppm
A clang/test/Modules/reduced-bmi-empty-module-purview.cppm
A clang/test/Modules/reduced-bmi-size.cppm
M clang/test/Modules/redundant-template-default-arg3.cpp
M clang/test/Modules/template-function-specialization.cpp
A clang/test/Modules/unreached-static-entities.cppm
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/atomic_capture_codegen.cpp
M clang/test/OpenMP/atomic_read_codegen.c
M clang/test/OpenMP/atomic_update_codegen.cpp
M clang/test/OpenMP/atomic_write_codegen.c
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
A clang/test/OpenMP/thread_limit_amdgpu.c
A clang/test/Options/enable_16bit_types_validation.hlsl
A clang/test/Options/enable_16bit_types_validation_spirv.hlsl
A clang/test/PCH/cxx23-deducing-this-lambda.cpp
M clang/test/PCH/cxx2a-defaulted-comparison.cpp
M clang/test/Parser/c2x-typeof-ext-warns.c
M clang/test/Parser/cxx-class.cpp
A clang/test/Parser/cxx2c-delete-with-message.cpp
M clang/test/Parser/pragma-unroll.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/x86_target_features.c
A clang/test/Sema/GH70594.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
A clang/test/Sema/alias-unused-win.cpp
R clang/test/Sema/alias-unused.c
A clang/test/Sema/alias-unused.cpp
M clang/test/Sema/attr-target-clones-aarch64.c
A clang/test/Sema/attr-target-riscv.c
M clang/test/Sema/attr-target-version.c
A clang/test/Sema/builtin-allow-runtime-check.c
M clang/test/Sema/code_align.c
A clang/test/Sema/complex-inc-dec.c
M clang/test/Sema/constant-builtins-2.c
A clang/test/Sema/constant-builtins-all-args-evaluated.cpp
M clang/test/Sema/flexible-array-in-union.c
A clang/test/Sema/format-strings-signedness-fixit.c
A clang/test/Sema/format-strings-signedness.c
M clang/test/Sema/nullability.c
A clang/test/Sema/recover-expr-gh88008-nocrash.c
M clang/test/Sema/static-assert.c
A clang/test/Sema/tentative-array-decl.c
M clang/test/Sema/transparent-union.c
A clang/test/SemaCXX/PR75221.cpp
A clang/test/SemaCXX/PR84020.cpp
A clang/test/SemaCXX/PR86790.cpp
A clang/test/SemaCXX/aarch64-sve-resolve-type.cpp
A clang/test/SemaCXX/attr-exclude_from_explicit_instantiation.local-class.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/builtins.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-delete-with-message.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
M clang/test/SemaCXX/explicit.cpp
A clang/test/SemaCXX/gh84473.cpp
M clang/test/SemaCXX/namespace-alias.cpp
M clang/test/SemaCXX/nullability.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
M clang/test/SemaCXX/type-traits.cpp
A clang/test/SemaCXX/typeof_unqual.cpp
M clang/test/SemaCXX/warn-exit-time-destructors.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-suggestions-crashes.cpp
M clang/test/SemaCXX/warn-unused-but-set-variables-cpp.cpp
A clang/test/SemaHLSL/ArrayParams.hlsl
A clang/test/SemaHLSL/ArrayTemporary.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
A clang/test/SemaHLSL/literal_suffixes.hlsl
A clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
A clang/test/SemaObjCXX/Inputs/nullability-consistency-smart.h
M clang/test/SemaObjCXX/nullability-consistency.mm
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-default-clause.c
A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
A clang/test/SemaOpenACC/compute-construct-if-clause.c
A clang/test/SemaOpenACC/compute-construct-if-clause.cpp
A clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
A clang/test/SemaTemplate/alias-template-with-lambdas.cpp
M clang/test/SemaTemplate/alias-templates.cpp
A clang/test/SemaTemplate/concepts-GH86757.cpp
M clang/test/SemaTemplate/concepts-friends.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
A clang/test/SemaTemplate/instantiate-pure-virtual-function.cpp
M clang/test/SemaTemplate/instantiation-depth-default.cpp
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-installapi/CMakeLists.txt
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXExtractAPI.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/scan-build/libexec/ccc-analyzer
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ASTTraverserTest.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/DeclTest.cpp
M clang/unittests/AST/Interp/CMakeLists.txt
A clang/unittests/AST/Interp/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/DeterminismTest.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Format/BracesRemoverTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
M clang/unittests/Tooling/CMakeLists.txt
R clang/unittests/Tooling/DependencyScannerTest.cpp
A clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
A clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/utils/analyzer/exploded-graph-rewriter.py
M clang/www/analyzer/alpha_checks.html
M clang/www/analyzer/available_checks.html
M clang/www/c_dr_status.html
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/make_cxx_dr_status
A cmake/Modules/GetDarwinLinkerVersion.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/sanitizer/linux_syscall_hooks.h
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
M compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
M compiler-rt/lib/hwasan/hwasan_interceptors.cpp
M compiler-rt/lib/hwasan/hwasan_thread_list.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/msan/msan_linux.cpp
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_mips.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_msvc.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
M compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/fuchsia.cpp
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M compiler-rt/lib/scudo/standalone/string_utils.cpp
M compiler-rt/lib/scudo/standalone/string_utils.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/tsd.h
M compiler-rt/lib/scudo/standalone/vector.h
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/scudo/standalone/wrappers_c_checks.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/xray/xray_trampoline_AArch64.S
M compiler-rt/lib/xray/xray_trampoline_x86_64.S
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/dfsan/mmap_at_init.c
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
A compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
M compiler-rt/test/safestack/lit.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
A compiler-rt/test/tsan/Linux/signal_in_futex_wait.cpp
M compiler-rt/test/tsan/signal_errno.cpp
A compiler-rt/test/tsan/signal_in_mutex_lock.cpp
M compiler-rt/test/tsan/signal_reset.cpp
M compiler-rt/test/tsan/signal_sync.cpp
M compiler-rt/test/tsan/signal_thread.cpp
M compiler-rt/test/tsan/signal_thread2.cpp
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
M flang/.gitignore
A flang/cmake/modules/AddFlangOffloadRuntime.cmake
A flang/docs/DebugGeneration.md
M flang/docs/Extensions.md
M flang/docs/GettingStarted.md
M flang/docs/Intrinsics.md
M flang/docs/ModFiles.md
A flang/docs/Real16MathSupport.md
M flang/docs/index.md
M flang/include/flang/Common/Fortran.h
A flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/idioms.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Common/real.h
M flang/include/flang/Common/reference-wrapper.h
M flang/include/flang/Common/restorer.h
M flang/include/flang/Common/template.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Common/unwrap.h
A flang/include/flang/Common/variant.h
M flang/include/flang/Common/visit.h
A flang/include/flang/Common/windows-include.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Decimal/decimal.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Frontend/PreprocessorOptions.h
M flang/include/flang/ISO_Fortran_binding_wrapper.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/OpenMP.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
A flang/include/flang/Parser/preprocessor.h
A flang/include/flang/Parser/token-sequence.h
M flang/include/flang/Parser/tools.h
R flang/include/flang/Runtime/api-attrs.h
M flang/include/flang/Runtime/entry-names.h
M flang/include/flang/Runtime/extensions.h
A flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/iostat.h
M flang/include/flang/Runtime/memory.h
A flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Decimal/big-radix-floating-point.h
M flang/lib/Decimal/binary-to-decimal.cpp
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/constant.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
R flang/lib/Lower/OpenMP/ClauseT.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Runtime.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
R flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
A flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
R flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/token-sequence.cpp
R flang/lib/Parser/token-sequence.h
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-cuda.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.cpp
M flang/runtime/buffer.h
M flang/runtime/command.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/connection.cpp
M flang/runtime/connection.h
M flang/runtime/derived.h
M flang/runtime/descriptor-io.cpp
M flang/runtime/descriptor-io.h
M flang/runtime/edit-input.cpp
M flang/runtime/edit-input.h
M flang/runtime/edit-output.cpp
M flang/runtime/edit-output.h
M flang/runtime/emit-encoded.h
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/execute.cpp
M flang/runtime/extensions.cpp
M flang/runtime/external-unit.cpp
M flang/runtime/file.cpp
M flang/runtime/file.h
M flang/runtime/format-implementation.h
M flang/runtime/format.cpp
M flang/runtime/format.h
R flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/internal-unit.h
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/io-stmt.cpp
M flang/runtime/io-stmt.h
M flang/runtime/iostat.cpp
M flang/runtime/lock.h
M flang/runtime/memory.cpp
M flang/runtime/namelist.cpp
M flang/runtime/namelist.h
M flang/runtime/non-tbp-dio.h
M flang/runtime/numeric-templates.h
M flang/runtime/pointer.cpp
M flang/runtime/pseudo-unit.cpp
A flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/stat.h
M flang/runtime/terminator.h
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/runtime/unit.cpp
M flang/runtime/unit.h
M flang/runtime/utf.cpp
M flang/runtime/utf.h
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/lib/.keep
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/i386-unknown-linux-gnu/10.2.0/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtbeginT.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtfastmath.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtbeginT.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtfastmath.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.lld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/lib/.keep
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/asanrtl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/hip.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ockl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1010.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1011.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1012.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_803.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_900.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_908.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ocml.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/opencl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/asanrtl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/hip.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ockl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_400.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_500.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1010.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1011.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1012.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_803.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_900.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_908.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ocml.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/opencl.bc
A flang/test/Driver/Inputs/rocm/bin/.hipVersion
A flang/test/Driver/Inputs/rocm/include/hip/hip_runtime.h
A flang/test/Driver/Inputs/rocm/share/hip/hipVersion
A flang/test/Driver/arch-specific-libdir-rpath.f95
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/fopenmp.f90
A flang/test/Driver/gcc-toolchain-install-dir.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Driver/predefined-macros-powerpc2.f90
A flang/test/Evaluate/folding32.f90
M flang/test/Fir/boxproc-2.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
M flang/test/Lower/AMD/code-object-version.f90
A flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
A flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
A flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
A flang/test/Lower/HLFIR/procedure-pointer-component-default-init.f90
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/Intrinsics/maskl.f90
M flang/test/Lower/Intrinsics/maskr.f90
M flang/test/Lower/Intrinsics/modulo.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/simd.f90
M flang/test/Lower/OpenMP/FIR/target.f90
A flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-combined.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex.f90
A flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
A flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/call-by-value.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/stop-statement.f90
A flang/test/Parser/OpenMP/reduction-modifier.f90
M flang/test/Parser/compiler-directives.f90
A flang/test/Parser/unrecognized-dir.f90
A flang/test/Preprocessing/show-macros1.F90
A flang/test/Preprocessing/show-macros2.F90
A flang/test/Preprocessing/show-macros3.F90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/do20.f90
A flang/test/Semantics/OpenMP/reduction12.f90
A flang/test/Semantics/OpenMP/threadprivate07.f90
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf09.cuf
A flang/test/Semantics/cuf11.cuf
A flang/test/Semantics/cuf12.cuf
A flang/test/Semantics/deferred01.f90
M flang/test/Semantics/init01.f90
A flang/test/Semantics/intrinsics04.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/test/Semantics/resolve21.f90
M flang/test/Semantics/resolve29.f90
M flang/test/Semantics/resolve61.f90
M flang/test/Semantics/resolve81.f90
A flang/test/Semantics/structconst09.f90
M flang/test/Transforms/debug-line-table-existing.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table-inc-same-file.fir
M flang/test/Transforms/debug-line-table.fir
M flang/test/Transforms/stack-arrays.fir
M flang/tools/f18/CMakeLists.txt
A flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Reduction.cpp
M flang/unittests/Runtime/Time.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/api.td
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/c23.rst
M libc/docs/configure.rst
M libc/docs/contributing.rst
A libc/docs/ctype.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/config_options.rst
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
A libc/docs/fenv.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/rpc.rst
M libc/docs/index.rst
M libc/docs/math/index.rst
A libc/docs/signal.rst
M libc/docs/stdbit.rst
A libc/docs/threads.rst
M libc/docs/usage_modes.rst
M libc/examples/README.md
M libc/examples/examples.cmake
M libc/fuzzing/CMakeLists.txt
A libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/uint_fuzz.cpp
M libc/fuzzing/math/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
M libc/fuzzing/stdlib/CMakeLists.txt
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
A libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.h
A libc/hdr/math_macros.h
A libc/hdr/signal_macros.h
A libc/hdr/sys_epoll_macros.h
A libc/hdr/types/CMakeLists.txt
A libc/hdr/types/fenv_t.h
A libc/hdr/types/fexcept_t.h
A libc/hdr/types/sigset_t.h
A libc/hdr/types/struct_epoll_event.h
A libc/hdr/types/struct_timespec.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-epoll-macros.h
M libc/include/llvm-libc-macros/math-macros.h
A libc/include/llvm-libc-macros/sys-epoll-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/fsblkcnt_t.h
A libc/include/llvm-libc-types/fsfilcnt_t.h
A libc/include/llvm-libc-types/pthread_condattr_t.h
M libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/struct_epoll_event.h
A libc/include/llvm-libc-types/struct_statvfs.h
M libc/include/pthread.h.def
M libc/include/sys/epoll.h.def
A libc/include/sys/statvfs.h.def
M libc/spec/gpu_ext.td
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/type_traits/add_pointer.h
M libc/src/__support/CPP/type_traits/decay.h
M libc/src/__support/CPP/type_traits/is_destructible.h
M libc/src/__support/CPP/type_traits/is_function.h
M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
M libc/src/__support/CPP/type_traits/is_reference.h
M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
M libc/src/__support/CPP/type_traits/remove_all_extents.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/gpu/FMA.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/File/file.h
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
A libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/__support/OSUtil/baremetal/io.h
A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
R libc/src/__support/OSUtil/baremetal/quick_exit.h
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/quick_exit.h
M libc/src/__support/OSUtil/gpu/CMakeLists.txt
M libc/src/__support/OSUtil/gpu/quick_exit.cpp
R libc/src/__support/OSUtil/gpu/quick_exit.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/quick_exit.cpp
R libc/src/__support/OSUtil/linux/quick_exit.h
M libc/src/__support/OSUtil/quick_exit.h
M libc/src/__support/RPC/rpc.h
R libc/src/__support/UInt.h
R libc/src/__support/UInt128.h
M libc/src/__support/arg_list.h
A libc/src/__support/big_int.h
M libc/src/__support/char_vector.h
M libc/src/__support/fixedvector.h
M libc/src/__support/float_to_string.h
M libc/src/__support/hash.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/macros/config.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/macros/sanitizer.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
M libc/src/__support/number_pair.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
A libc/src/__support/uint128.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/fesetenv.h
A libc/src/fenv/fesetexcept.cpp
A libc/src/fenv/fesetexcept.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/fesetexceptflag.h
A libc/src/fenv/fetestexceptflag.cpp
A libc/src/fenv/fetestexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libc/src/fenv/feupdateenv.h
M libc/src/gpu/CMakeLists.txt
A libc/src/gpu/rpc_fprintf.cpp
A libc/src/gpu/rpc_fprintf.h
M libc/src/math/CMakeLists.txt
A libc/src/math/canonicalize.h
A libc/src/math/canonicalizef.h
A libc/src/math/canonicalizef128.h
A libc/src/math/canonicalizel.h
M libc/src/math/docs/add_math_function.md
A libc/src/math/exp2m1f.h
A libc/src/math/fmaximum.h
A libc/src/math/fmaximum_mag.h
A libc/src/math/fmaximum_mag_num.h
A libc/src/math/fmaximum_mag_numf.h
A libc/src/math/fmaximum_mag_numf128.h
A libc/src/math/fmaximum_mag_numl.h
A libc/src/math/fmaximum_magf.h
A libc/src/math/fmaximum_magf128.h
A libc/src/math/fmaximum_magl.h
A libc/src/math/fmaximum_num.h
A libc/src/math/fmaximum_numf.h
A libc/src/math/fmaximum_numf128.h
A libc/src/math/fmaximum_numl.h
A libc/src/math/fmaximumf.h
A libc/src/math/fmaximumf128.h
A libc/src/math/fmaximuml.h
A libc/src/math/fminimum.h
A libc/src/math/fminimum_mag.h
A libc/src/math/fminimum_mag_num.h
A libc/src/math/fminimum_mag_numf.h
A libc/src/math/fminimum_mag_numf128.h
A libc/src/math/fminimum_mag_numl.h
A libc/src/math/fminimum_magf.h
A libc/src/math/fminimum_magf128.h
A libc/src/math/fminimum_magl.h
A libc/src/math/fminimum_num.h
A libc/src/math/fminimum_numf.h
A libc/src/math/fminimum_numf128.h
A libc/src/math/fminimum_numl.h
A libc/src/math/fminimumf.h
A libc/src/math/fminimumf128.h
A libc/src/math/fminimuml.h
A libc/src/math/fromfp.h
A libc/src/math/fromfpf.h
A libc/src/math/fromfpf128.h
A libc/src/math/fromfpl.h
A libc/src/math/fromfpx.h
A libc/src/math/fromfpxf.h
A libc/src/math/fromfpxf128.h
A libc/src/math/fromfpxl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
A libc/src/math/generic/canonicalize.cpp
A libc/src/math/generic/canonicalizef.cpp
A libc/src/math/generic/canonicalizef128.cpp
A libc/src/math/generic/canonicalizel.cpp
A libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
A libc/src/math/generic/fmaximum.cpp
A libc/src/math/generic/fmaximum_mag.cpp
A libc/src/math/generic/fmaximum_mag_num.cpp
A libc/src/math/generic/fmaximum_mag_numf.cpp
A libc/src/math/generic/fmaximum_mag_numf128.cpp
A libc/src/math/generic/fmaximum_mag_numl.cpp
A libc/src/math/generic/fmaximum_magf.cpp
A libc/src/math/generic/fmaximum_magf128.cpp
A libc/src/math/generic/fmaximum_magl.cpp
A libc/src/math/generic/fmaximum_num.cpp
A libc/src/math/generic/fmaximum_numf.cpp
A libc/src/math/generic/fmaximum_numf128.cpp
A libc/src/math/generic/fmaximum_numl.cpp
A libc/src/math/generic/fmaximumf.cpp
A libc/src/math/generic/fmaximumf128.cpp
A libc/src/math/generic/fmaximuml.cpp
A libc/src/math/generic/fminimum.cpp
A libc/src/math/generic/fminimum_mag.cpp
A libc/src/math/generic/fminimum_mag_num.cpp
A libc/src/math/generic/fminimum_mag_numf.cpp
A libc/src/math/generic/fminimum_mag_numf128.cpp
A libc/src/math/generic/fminimum_mag_numl.cpp
A libc/src/math/generic/fminimum_magf.cpp
A libc/src/math/generic/fminimum_magf128.cpp
A libc/src/math/generic/fminimum_magl.cpp
A libc/src/math/generic/fminimum_num.cpp
A libc/src/math/generic/fminimum_numf.cpp
A libc/src/math/generic/fminimum_numf128.cpp
A libc/src/math/generic/fminimum_numl.cpp
A libc/src/math/generic/fminimumf.cpp
A libc/src/math/generic/fminimumf128.cpp
A libc/src/math/generic/fminimuml.cpp
A libc/src/math/generic/fromfp.cpp
A libc/src/math/generic/fromfpf.cpp
A libc/src/math/generic/fromfpf128.cpp
A libc/src/math/generic/fromfpl.cpp
A libc/src/math/generic/fromfpx.cpp
A libc/src/math/generic/fromfpxf.cpp
A libc/src/math/generic/fromfpxf128.cpp
A libc/src/math/generic/fromfpxl.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log_range_reduction.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
A libc/src/math/generic/roundeven.cpp
A libc/src/math/generic/roundevenf.cpp
A libc/src/math/generic/roundevenf128.cpp
A libc/src/math/generic/roundevenl.cpp
A libc/src/math/generic/ufromfp.cpp
A libc/src/math/generic/ufromfpf.cpp
A libc/src/math/generic/ufromfpf128.cpp
A libc/src/math/generic/ufromfpl.cpp
A libc/src/math/generic/ufromfpx.cpp
A libc/src/math/generic/ufromfpxf.cpp
A libc/src/math/generic/ufromfpxf128.cpp
A libc/src/math/generic/ufromfpxl.cpp
A libc/src/math/roundeven.h
A libc/src/math/roundevenf.h
A libc/src/math/roundevenf128.h
A libc/src/math/roundevenl.h
A libc/src/math/ufromfp.h
A libc/src/math/ufromfpf.h
A libc/src/math/ufromfpf128.h
A libc/src/math/ufromfpl.h
A libc/src/math/ufromfpx.h
A libc/src/math/ufromfpxf.h
A libc/src/math/ufromfpxf128.h
A libc/src/math/ufromfpxl.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_condattr_destroy.cpp
A libc/src/pthread/pthread_condattr_destroy.h
A libc/src/pthread/pthread_condattr_getclock.cpp
A libc/src/pthread/pthread_condattr_getclock.h
A libc/src/pthread/pthread_condattr_getpshared.cpp
A libc/src/pthread/pthread_condattr_getpshared.h
A libc/src/pthread/pthread_condattr_init.cpp
A libc/src/pthread/pthread_condattr_init.h
A libc/src/pthread/pthread_condattr_setclock.cpp
A libc/src/pthread/pthread_condattr_setclock.h
A libc/src/pthread/pthread_condattr_setpshared.cpp
A libc/src/pthread/pthread_condattr_setpshared.h
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/raise.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/signal/sigaddset.h
M libc/src/signal/sigdelset.h
M libc/src/signal/sigemptyset.h
M libc/src/signal/sigfillset.h
M libc/src/signal/sigprocmask.h
M libc/src/stdio/CMakeLists.txt
A libc/src/stdio/fseeko.h
A libc/src/stdio/ftello.h
M libc/src/stdio/generic/CMakeLists.txt
M libc/src/stdio/generic/fseek.cpp
A libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
A libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/exit.cpp
M libc/src/stdlib/str_from_util.h
A libc/src/stdlib/strfromd.cpp
A libc/src/stdlib/strfromd.h
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfromf.h
A libc/src/stdlib/strfroml.cpp
A libc/src/stdlib/strfroml.h
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtold.cpp
M libc/src/string/memory_utils/generic/builtin.h
M libc/src/string/memory_utils/utils.h
M libc/src/sys/CMakeLists.txt
M libc/src/sys/epoll/CMakeLists.txt
A libc/src/sys/epoll/epoll_create.h
A libc/src/sys/epoll/epoll_create1.h
A libc/src/sys/epoll/epoll_ctl.h
M libc/src/sys/epoll/epoll_pwait.h
M libc/src/sys/epoll/epoll_pwait2.h
M libc/src/sys/epoll/epoll_wait.h
M libc/src/sys/epoll/linux/CMakeLists.txt
A libc/src/sys/epoll/linux/epoll_create.cpp
A libc/src/sys/epoll/linux/epoll_create1.cpp
A libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/src/sys/select/linux/select.cpp
A libc/src/sys/statvfs/CMakeLists.txt
A libc/src/sys/statvfs/fstatvfs.h
A libc/src/sys/statvfs/linux/CMakeLists.txt
A libc/src/sys/statvfs/linux/fstatvfs.cpp
A libc/src/sys/statvfs/linux/statfs_utils.h
A libc/src/sys/statvfs/linux/statvfs.cpp
A libc/src/sys/statvfs/statvfs.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/_exit.cpp
A libc/src/unistd/_exit.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/pipe.cpp
A libc/src/unistd/pipe.h
M libc/test/CMakeLists.txt
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/PrintfMatcher.cpp
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/TestLogger.cpp
M libc/test/integration/src/stdio/CMakeLists.txt
A libc/test/integration/src/stdio/gpu/CMakeLists.txt
A libc/test/integration/src/stdio/gpu/printf.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
M libc/test/src/__support/arg_list_test.cpp
A libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/fixedvector_test.cpp
M libc/test/src/__support/high_precision_decimal_test.cpp
M libc/test/src/__support/integer_literals_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_fp_test.h
R libc/test/src/__support/uint_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
M libc/test/src/math/RemQuoTest.h
A libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
A libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/exp2m1f_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
A libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/explogxf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/ilogb_test.cpp
M libc/test/src/math/ilogbf_test.cpp
M libc/test/src/math/ilogbl_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
A libc/test/src/math/roundeven_test.cpp
A libc/test/src/math/roundevenf_test.cpp
A libc/test/src/math/roundevenl_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
A libc/test/src/math/smoke/FMaximumMagNumTest.h
A libc/test/src/math/smoke/FMaximumMagTest.h
A libc/test/src/math/smoke/FMaximumNumTest.h
A libc/test/src/math/smoke/FMaximumTest.h
A libc/test/src/math/smoke/FMinimumMagNumTest.h
A libc/test/src/math/smoke/FMinimumMagTest.h
A libc/test/src/math/smoke/FMinimumNumTest.h
A libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
A libc/test/src/math/smoke/FromfpTest.h
A libc/test/src/math/smoke/FromfpxTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
A libc/test/src/math/smoke/RoundEvenTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.h
A libc/test/src/math/smoke/UfromfpTest.h
A libc/test/src/math/smoke/UfromfpxTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
A libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
A libc/test/src/math/smoke/canonicalize_test.cpp
A libc/test/src/math/smoke/canonicalizef128_test.cpp
A libc/test/src/math/smoke/canonicalizef_test.cpp
A libc/test/src/math/smoke/canonicalizel_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
A libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_mag_test.cpp
A libc/test/src/math/smoke/fmaximum_magf128_test.cpp
A libc/test/src/math/smoke/fmaximum_magf_test.cpp
A libc/test/src/math/smoke/fmaximum_magl_test.cpp
A libc/test/src/math/smoke/fmaximum_num_test.cpp
A libc/test/src/math/smoke/fmaximum_numf128_test.cpp
A libc/test/src/math/smoke/fmaximum_numf_test.cpp
A libc/test/src/math/smoke/fmaximum_numl_test.cpp
A libc/test/src/math/smoke/fmaximum_test.cpp
A libc/test/src/math/smoke/fmaximumf128_test.cpp
A libc/test/src/math/smoke/fmaximumf_test.cpp
A libc/test/src/math/smoke/fmaximuml_test.cpp
A libc/test/src/math/smoke/fminimum_mag_num_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
A libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
A libc/test/src/math/smoke/fminimum_mag_test.cpp
A libc/test/src/math/smoke/fminimum_magf128_test.cpp
A libc/test/src/math/smoke/fminimum_magf_test.cpp
A libc/test/src/math/smoke/fminimum_magl_test.cpp
A libc/test/src/math/smoke/fminimum_num_test.cpp
A libc/test/src/math/smoke/fminimum_numf128_test.cpp
A libc/test/src/math/smoke/fminimum_numf_test.cpp
A libc/test/src/math/smoke/fminimum_numl_test.cpp
A libc/test/src/math/smoke/fminimum_test.cpp
A libc/test/src/math/smoke/fminimumf128_test.cpp
A libc/test/src/math/smoke/fminimumf_test.cpp
A libc/test/src/math/smoke/fminimuml_test.cpp
A libc/test/src/math/smoke/fromfp_test.cpp
A libc/test/src/math/smoke/fromfpf128_test.cpp
A libc/test/src/math/smoke/fromfpf_test.cpp
A libc/test/src/math/smoke/fromfpl_test.cpp
A libc/test/src/math/smoke/fromfpx_test.cpp
A libc/test/src/math/smoke/fromfpxf128_test.cpp
A libc/test/src/math/smoke/fromfpxf_test.cpp
A libc/test/src/math/smoke/fromfpxl_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
A libc/test/src/math/smoke/roundeven_test.cpp
A libc/test/src/math/smoke/roundevenf128_test.cpp
A libc/test/src/math/smoke/roundevenf_test.cpp
A libc/test/src/math/smoke/roundevenl_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
A libc/test/src/math/smoke/ufromfp_test.cpp
A libc/test/src/math/smoke/ufromfpf128_test.cpp
A libc/test/src/math/smoke/ufromfpf_test.cpp
A libc/test/src/math/smoke/ufromfpl_test.cpp
A libc/test/src/math/smoke/ufromfpx_test.cpp
A libc/test/src/math/smoke/ufromfpxf128_test.cpp
A libc/test/src/math/smoke/ufromfpxf_test.cpp
A libc/test/src/math/smoke/ufromfpxl_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/pthread/CMakeLists.txt
A libc/test/src/pthread/pthread_condattr_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/ftell_test.cpp
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/StrfromTest.h
A libc/test/src/stdlib/strfromd_test.cpp
M libc/test/src/stdlib/strfromf_test.cpp
A libc/test/src/stdlib/strfroml_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/sys/CMakeLists.txt
M libc/test/src/sys/epoll/linux/CMakeLists.txt
A libc/test/src/sys/epoll/linux/epoll_create1_test.cpp
A libc/test/src/sys/epoll/linux/epoll_create_test.cpp
A libc/test/src/sys/epoll/linux/epoll_ctl_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
M libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M libc/test/src/sys/random/linux/CMakeLists.txt
A libc/test/src/sys/statvfs/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/CMakeLists.txt
A libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
A libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/_exit_test.cpp
A libc/test/src/unistd/pipe_test.cpp
M libc/test/utils/FPUtil/CMakeLists.txt
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/HdrGen/Generator.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
A libc/utils/docgen/ctype.json
A libc/utils/docgen/docgen.py
A libc/utils/docgen/fenv.json
A libc/utils/docgen/signal.json
A libc/utils/docgen/stdbit.json
A libc/utils/docgen/threads.json
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/loader/amdgpu/Loader.cpp
M libc/utils/gpu/loader/nvptx/Loader.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libc/utils/gpu/server/llvmlibc_rpc_server.h
M libc/utils/gpu/server/rpc_server.cpp
M libclc/CMakeLists.txt
R libclc/cmake/CMakeCLCCompiler.cmake.in
R libclc/cmake/CMakeCLCInformation.cmake
R libclc/cmake/CMakeDetermineCLCCompiler.cmake
R libclc/cmake/CMakeDetermineLLAsmCompiler.cmake
R libclc/cmake/CMakeLLAsmCompiler.cmake.in
R libclc/cmake/CMakeLLAsmInformation.cmake
R libclc/cmake/CMakeTestCLCCompiler.cmake
R libclc/cmake/CMakeTestLLAsmCompiler.cmake
A libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/lib/SOURCES
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/minmax.bench.cpp
A libcxx/benchmarks/algorithms/mismatch.bench.cpp
A libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
M libcxx/cmake/caches/Apple.cmake
M libcxx/docs/BuildingLibcxx.rst
A libcxx/docs/DesignDocs/NodiscardPolicy.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/docs/Status/SpaceshipPapers.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/pstl_any_all_none_of.h
R libcxx/include/__algorithm/pstl_backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__algorithm/ranges_contains_subrange.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_starts_with.h
A libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__availability
M libcxx/include/__bit/bit_cast.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/leap_second.h
A libcxx/include/__chrono/local_info.h
M libcxx/include/__chrono/ostream.h
A libcxx/include/__chrono/sys_info.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__config
M libcxx/include/__config_site.in
A libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__exception/operations.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__filesystem/copy_options.h
M libcxx/include/__filesystem/directory_options.h
M libcxx/include/__filesystem/file_status.h
M libcxx/include/__filesystem/file_time_type.h
M libcxx/include/__filesystem/file_type.h
M libcxx/include/__filesystem/perm_options.h
M libcxx/include/__filesystem/perms.h
M libcxx/include/__filesystem/space_info.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/formatter.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/bind_back.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
A libcxx/include/__fwd/deque.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/ios.h
A libcxx/include/__fwd/memory.h
A libcxx/include/__fwd/queue.h
M libcxx/include/__fwd/sstream.h
A libcxx/include/__fwd/stack.h
M libcxx/include/__fwd/string.h
A libcxx/include/__fwd/vector.h
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__locale
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/construct_at.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
A libcxx/include/__pstl/backends/libdispatch.h
A libcxx/include/__pstl/backends/serial.h
A libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/configuration.h
A libcxx/include/__pstl/configuration_fwd.h
A libcxx/include/__pstl/cpu_algos/any_of.h
A libcxx/include/__pstl/cpu_algos/cpu_traits.h
A libcxx/include/__pstl/cpu_algos/fill.h
A libcxx/include/__pstl/cpu_algos/find_if.h
A libcxx/include/__pstl/cpu_algos/for_each.h
A libcxx/include/__pstl/cpu_algos/merge.h
A libcxx/include/__pstl/cpu_algos/stable_sort.h
A libcxx/include/__pstl/cpu_algos/transform.h
A libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__ranges/as_rvalue_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__ranges/to.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__stop_token/stop_callback.h
M libcxx/include/__system_error/errc.h
M libcxx/include/__thread/support/pthread.h
R libcxx/include/__tuple/pair_like.h
M libcxx/include/__tuple/tuple_like.h
A libcxx/include/__tuple/tuple_like_no_subrange.h
M libcxx/include/__type_traits/apply_cv.h
M libcxx/include/__type_traits/copy_cv.h
A libcxx/include/__type_traits/desugars_to.h
R libcxx/include/__type_traits/operation_traits.h
M libcxx/include/__type_traits/remove_cv.h
M libcxx/include/__utility/is_pointer_in_range.h
A libcxx/include/__utility/is_valid_range.h
M libcxx/include/__utility/pair.h
A libcxx/include/__utility/private_constructor_tag.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/cerrno
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/deque
M libcxx/include/format
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/iosfwd
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/libcxx.imp
M libcxx/include/locale
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/new
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/semaphore
M libcxx/include/shared_mutex
M libcxx/include/span
M libcxx/include/stack
M libcxx/include/stddef.h
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/strstream
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/typeinfo
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/functional.inc
M libcxx/modules/std/locale.inc
M libcxx/modules/std/memory.inc
M libcxx/modules/std/strstream.inc
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
M libcxx/src/include/overridable_function.h
R libcxx/src/include/tzdb/time_zone_link_private.h
M libcxx/src/include/tzdb/time_zone_private.h
M libcxx/src/include/tzdb/types_private.h
M libcxx/src/include/tzdb/tzdb_list_private.h
M libcxx/src/locale.cpp
M libcxx/src/pstl/libdispatch.cpp
M libcxx/src/random.cpp
M libcxx/src/time_zone.cpp
M libcxx/src/tzdb.cpp
M libcxx/src/tzdb_list.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
A libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.deprecated.verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp20_features.deprecated.verify.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/leap_seconds.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
A libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
A libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains_subrange.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_found_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_fun_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_value_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/min_max_result.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/deduct.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/deduct.pass.cpp
R libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.dest/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cp_size_cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cscp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cucp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/custom_alloc.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/scp_size_scp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ucp_size_ucp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/pbackfail.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekoff.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekpos.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/underflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/types.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp
M libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
A libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
A libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/seekoff.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
A libcxx/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.mandates.verify.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/b714df1e33cb...603204511655
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